Re: [PATCH v3 0/3] drivers: ide: use generic power management
From: Vaibhav Gupta Date: Mon, 13 Jul 2020 23:06:10 +0530 > Linux Kernel Mentee: Remove Legacy Power Management. > > The purpose of this patch series is to remove legacy power management > callbacks > from ide drivers. > > The suspend() and resume() callbacks operations are still invoking > pci_save/restore_state(), pci_set_power_state(), pci_enable/disable_state(), > etc. and handling the power management themselves, which is not recommended. > > The conversion requires the removal of the those function calls and change the > callback definition accordingly and make use of dev_pm_ops structure. Series applied.
Re: [PATCH v3 0/3] drivers: ide: use generic power management
On Tue, Jul 14, 2020 at 10:19:06AM +0200, Bartlomiej Zolnierkiewicz wrote: > > On 7/14/20 9:52 AM, Vaibhav Gupta wrote: > > On Tue, Jul 14, 2020 at 09:32:56AM +0200, Bartlomiej Zolnierkiewicz wrote: > >> > >> > >> IDE subsystem (drivers/ide/) is deprecated and has been superseded by > >> libata > >> subsystem (drivers/ata/). > >> > >> libata drivers have the same issue so please concentrate on fixing them > >> first. Later (if desirable) changes can be back-ported to drivers/ide/. > >> > > Hello, (drivers/ide) and (drivers/ata) are the two major families, I am > > working > > on, for generic PM upgradation. I was bit unaware about priority, and also > > in > > the last, both ide and ata drivers have to be upgraded. > > Well, drivers/ide/ is scheduled for removal in 2021 > (it even prints the warning during initialization of > every host driver).. Okay then, I will start with ata family. Thanks, Vaibhav Gupta > > Best regards, > -- > Bartlomiej Zolnierkiewicz > Samsung R Institute Poland > Samsung Electronics > > >>> All patches are compile-tested only. > >> > >> This patchset needs (at least) some basic testing. It should be easier with > >> libata subsystem as it also support SATA controllers and devices. > > To upgrade PM in (drivers/ide) I have made .suspend() and .resume() static. > > Then > > bind them in "struct dev_pm_ops" variable (ide_pci_pm_ops) and expose it > > using > > EXPORT_SYMBOL_GPL(). This has affected 30 drivers. I was hoping if ide > > changes > > can be tested/verified, specially [PATCH 1/3]. As then, I will be sure about > > similar change in ata, as it also requires similar alteration. > > > > Thanks > > Vaibhav Gupta > > > >> > >> Best regards, > >> -- > >> Bartlomiej Zolnierkiewicz > >> Samsung R Institute Poland > >> Samsung Electronics > >>
Re: [PATCH v3 0/3] drivers: ide: use generic power management
On 7/14/20 9:52 AM, Vaibhav Gupta wrote: > On Tue, Jul 14, 2020 at 09:32:56AM +0200, Bartlomiej Zolnierkiewicz wrote: >> >> Hi, >> >> On 7/13/20 7:36 PM, Vaibhav Gupta wrote: >>> Linux Kernel Mentee: Remove Legacy Power Management. >>> >>> The purpose of this patch series is to remove legacy power management >>> callbacks >>> from ide drivers. >>> >>> The suspend() and resume() callbacks operations are still invoking >>> pci_save/restore_state(), pci_set_power_state(), pci_enable/disable_state(), >>> etc. and handling the power management themselves, which is not recommended. >>> >>> The conversion requires the removal of the those function calls and change >>> the >>> callback definition accordingly and make use of dev_pm_ops structure. >> >> IDE subsystem (drivers/ide/) is deprecated and has been superseded by libata >> subsystem (drivers/ata/). >> >> libata drivers have the same issue so please concentrate on fixing them >> first. Later (if desirable) changes can be back-ported to drivers/ide/. >> > Hello, (drivers/ide) and (drivers/ata) are the two major families, I am > working > on, for generic PM upgradation. I was bit unaware about priority, and also in > the last, both ide and ata drivers have to be upgraded. Well, drivers/ide/ is scheduled for removal in 2021 (it even prints the warning during initialization of every host driver).. Best regards, -- Bartlomiej Zolnierkiewicz Samsung R Institute Poland Samsung Electronics >>> All patches are compile-tested only. >> >> This patchset needs (at least) some basic testing. It should be easier with >> libata subsystem as it also support SATA controllers and devices. > To upgrade PM in (drivers/ide) I have made .suspend() and .resume() static. > Then > bind them in "struct dev_pm_ops" variable (ide_pci_pm_ops) and expose it using > EXPORT_SYMBOL_GPL(). This has affected 30 drivers. I was hoping if ide changes > can be tested/verified, specially [PATCH 1/3]. As then, I will be sure about > similar change in ata, as it also requires similar alteration. > > Thanks > Vaibhav Gupta > >> >> Best regards, >> -- >> Bartlomiej Zolnierkiewicz >> Samsung R Institute Poland >> Samsung Electronics >> >>> v3: >>> - Modpost error for undefined reference by Kbuild in v1. >>> - Another approach to disable PM in drivers/ide/triflex.c suggested by >>> Bjorn Helgaas in v2. >>> >>> Test tools: >>> - Compiler: gcc (GCC) 10.1.0 >>> - allmodconfig build: make -j$(nproc) W=1 all >>> >>> Vaibhav Gupta (3): >>> ide: use generic power management >>> ide: sc1200: use generic power management >>> ide: delkin_cb: use generic power management >>> >>> drivers/ide/aec62xx.c | 3 +-- >>> drivers/ide/alim15x3.c| 3 +-- >>> drivers/ide/amd74xx.c | 3 +-- >>> drivers/ide/atiixp.c | 3 +-- >>> drivers/ide/cmd64x.c | 3 +-- >>> drivers/ide/cs5520.c | 3 +-- >>> drivers/ide/cs5530.c | 3 +-- >>> drivers/ide/cs5535.c | 3 +-- >>> drivers/ide/cs5536.c | 3 +-- >>> drivers/ide/cy82c693.c| 3 +-- >>> drivers/ide/delkin_cb.c | 32 +- >>> drivers/ide/hpt366.c | 3 +-- >>> drivers/ide/ide-pci-generic.c | 3 +-- >>> drivers/ide/it8172.c | 3 +-- >>> drivers/ide/it8213.c | 3 +-- >>> drivers/ide/it821x.c | 3 +-- >>> drivers/ide/jmicron.c | 3 +-- >>> drivers/ide/ns87415.c | 3 +-- >>> drivers/ide/opti621.c | 3 +-- >>> drivers/ide/pdc202xx_new.c| 3 +-- >>> drivers/ide/pdc202xx_old.c| 3 +-- >>> drivers/ide/piix.c| 3 +-- >>> drivers/ide/sc1200.c | 43 --- >>> drivers/ide/serverworks.c | 3 +-- >>> drivers/ide/setup-pci.c | 29 +-- >>> drivers/ide/siimage.c | 3 +-- >>> drivers/ide/sis5513.c | 3 +-- >>> drivers/ide/sl82c105.c| 3 +-- >>> drivers/ide/slc90e66.c| 3 +-- >>> drivers/ide/triflex.c | 24 +++ >>> drivers/ide/via82cxxx.c | 3 +-- >>> include/linux/ide.h | 8 +-- >>> 32 files changed, 62 insertions(+), 155 deletions(-) >>> >> > >
Re: [PATCH v3 0/3] drivers: ide: use generic power management
On Tue, Jul 14, 2020 at 09:32:56AM +0200, Bartlomiej Zolnierkiewicz wrote: > > Hi, > > On 7/13/20 7:36 PM, Vaibhav Gupta wrote: > > Linux Kernel Mentee: Remove Legacy Power Management. > > > > The purpose of this patch series is to remove legacy power management > > callbacks > > from ide drivers. > > > > The suspend() and resume() callbacks operations are still invoking > > pci_save/restore_state(), pci_set_power_state(), pci_enable/disable_state(), > > etc. and handling the power management themselves, which is not recommended. > > > > The conversion requires the removal of the those function calls and change > > the > > callback definition accordingly and make use of dev_pm_ops structure. > > IDE subsystem (drivers/ide/) is deprecated and has been superseded by libata > subsystem (drivers/ata/). > > libata drivers have the same issue so please concentrate on fixing them > first. Later (if desirable) changes can be back-ported to drivers/ide/. > Hello, (drivers/ide) and (drivers/ata) are the two major families, I am working on, for generic PM upgradation. I was bit unaware about priority, and also in the last, both ide and ata drivers have to be upgraded. > > All patches are compile-tested only. > > This patchset needs (at least) some basic testing. It should be easier with > libata subsystem as it also support SATA controllers and devices. To upgrade PM in (drivers/ide) I have made .suspend() and .resume() static. Then bind them in "struct dev_pm_ops" variable (ide_pci_pm_ops) and expose it using EXPORT_SYMBOL_GPL(). This has affected 30 drivers. I was hoping if ide changes can be tested/verified, specially [PATCH 1/3]. As then, I will be sure about similar change in ata, as it also requires similar alteration. Thanks Vaibhav Gupta > > Best regards, > -- > Bartlomiej Zolnierkiewicz > Samsung R Institute Poland > Samsung Electronics > > > v3: > > - Modpost error for undefined reference by Kbuild in v1. > > - Another approach to disable PM in drivers/ide/triflex.c suggested by > > Bjorn Helgaas in v2. > > > > Test tools: > > - Compiler: gcc (GCC) 10.1.0 > > - allmodconfig build: make -j$(nproc) W=1 all > > > > Vaibhav Gupta (3): > > ide: use generic power management > > ide: sc1200: use generic power management > > ide: delkin_cb: use generic power management > > > > drivers/ide/aec62xx.c | 3 +-- > > drivers/ide/alim15x3.c| 3 +-- > > drivers/ide/amd74xx.c | 3 +-- > > drivers/ide/atiixp.c | 3 +-- > > drivers/ide/cmd64x.c | 3 +-- > > drivers/ide/cs5520.c | 3 +-- > > drivers/ide/cs5530.c | 3 +-- > > drivers/ide/cs5535.c | 3 +-- > > drivers/ide/cs5536.c | 3 +-- > > drivers/ide/cy82c693.c| 3 +-- > > drivers/ide/delkin_cb.c | 32 +- > > drivers/ide/hpt366.c | 3 +-- > > drivers/ide/ide-pci-generic.c | 3 +-- > > drivers/ide/it8172.c | 3 +-- > > drivers/ide/it8213.c | 3 +-- > > drivers/ide/it821x.c | 3 +-- > > drivers/ide/jmicron.c | 3 +-- > > drivers/ide/ns87415.c | 3 +-- > > drivers/ide/opti621.c | 3 +-- > > drivers/ide/pdc202xx_new.c| 3 +-- > > drivers/ide/pdc202xx_old.c| 3 +-- > > drivers/ide/piix.c| 3 +-- > > drivers/ide/sc1200.c | 43 --- > > drivers/ide/serverworks.c | 3 +-- > > drivers/ide/setup-pci.c | 29 +-- > > drivers/ide/siimage.c | 3 +-- > > drivers/ide/sis5513.c | 3 +-- > > drivers/ide/sl82c105.c| 3 +-- > > drivers/ide/slc90e66.c| 3 +-- > > drivers/ide/triflex.c | 24 +++ > > drivers/ide/via82cxxx.c | 3 +-- > > include/linux/ide.h | 8 +-- > > 32 files changed, 62 insertions(+), 155 deletions(-) > > >
Re: [PATCH v3 0/3] drivers: ide: use generic power management
Hi, On 7/13/20 7:36 PM, Vaibhav Gupta wrote: > Linux Kernel Mentee: Remove Legacy Power Management. > > The purpose of this patch series is to remove legacy power management > callbacks > from ide drivers. > > The suspend() and resume() callbacks operations are still invoking > pci_save/restore_state(), pci_set_power_state(), pci_enable/disable_state(), > etc. and handling the power management themselves, which is not recommended. > > The conversion requires the removal of the those function calls and change the > callback definition accordingly and make use of dev_pm_ops structure. IDE subsystem (drivers/ide/) is deprecated and has been superseded by libata subsystem (drivers/ata/). libata drivers have the same issue so please concentrate on fixing them first. Later (if desirable) changes can be back-ported to drivers/ide/. > All patches are compile-tested only. This patchset needs (at least) some basic testing. It should be easier with libata subsystem as it also support SATA controllers and devices. Best regards, -- Bartlomiej Zolnierkiewicz Samsung R Institute Poland Samsung Electronics > v3: > - Modpost error for undefined reference by Kbuild in v1. > - Another approach to disable PM in drivers/ide/triflex.c suggested by > Bjorn Helgaas in v2. > > Test tools: > - Compiler: gcc (GCC) 10.1.0 > - allmodconfig build: make -j$(nproc) W=1 all > > Vaibhav Gupta (3): > ide: use generic power management > ide: sc1200: use generic power management > ide: delkin_cb: use generic power management > > drivers/ide/aec62xx.c | 3 +-- > drivers/ide/alim15x3.c| 3 +-- > drivers/ide/amd74xx.c | 3 +-- > drivers/ide/atiixp.c | 3 +-- > drivers/ide/cmd64x.c | 3 +-- > drivers/ide/cs5520.c | 3 +-- > drivers/ide/cs5530.c | 3 +-- > drivers/ide/cs5535.c | 3 +-- > drivers/ide/cs5536.c | 3 +-- > drivers/ide/cy82c693.c| 3 +-- > drivers/ide/delkin_cb.c | 32 +- > drivers/ide/hpt366.c | 3 +-- > drivers/ide/ide-pci-generic.c | 3 +-- > drivers/ide/it8172.c | 3 +-- > drivers/ide/it8213.c | 3 +-- > drivers/ide/it821x.c | 3 +-- > drivers/ide/jmicron.c | 3 +-- > drivers/ide/ns87415.c | 3 +-- > drivers/ide/opti621.c | 3 +-- > drivers/ide/pdc202xx_new.c| 3 +-- > drivers/ide/pdc202xx_old.c| 3 +-- > drivers/ide/piix.c| 3 +-- > drivers/ide/sc1200.c | 43 --- > drivers/ide/serverworks.c | 3 +-- > drivers/ide/setup-pci.c | 29 +-- > drivers/ide/siimage.c | 3 +-- > drivers/ide/sis5513.c | 3 +-- > drivers/ide/sl82c105.c| 3 +-- > drivers/ide/slc90e66.c| 3 +-- > drivers/ide/triflex.c | 24 +++ > drivers/ide/via82cxxx.c | 3 +-- > include/linux/ide.h | 8 +-- > 32 files changed, 62 insertions(+), 155 deletions(-) >
[PATCH v3 0/3] drivers: ide: use generic power management
Linux Kernel Mentee: Remove Legacy Power Management. The purpose of this patch series is to remove legacy power management callbacks from ide drivers. The suspend() and resume() callbacks operations are still invoking pci_save/restore_state(), pci_set_power_state(), pci_enable/disable_state(), etc. and handling the power management themselves, which is not recommended. The conversion requires the removal of the those function calls and change the callback definition accordingly and make use of dev_pm_ops structure. All patches are compile-tested only. v3: - Modpost error for undefined reference by Kbuild in v1. - Another approach to disable PM in drivers/ide/triflex.c suggested by Bjorn Helgaas in v2. Test tools: - Compiler: gcc (GCC) 10.1.0 - allmodconfig build: make -j$(nproc) W=1 all Vaibhav Gupta (3): ide: use generic power management ide: sc1200: use generic power management ide: delkin_cb: use generic power management drivers/ide/aec62xx.c | 3 +-- drivers/ide/alim15x3.c| 3 +-- drivers/ide/amd74xx.c | 3 +-- drivers/ide/atiixp.c | 3 +-- drivers/ide/cmd64x.c | 3 +-- drivers/ide/cs5520.c | 3 +-- drivers/ide/cs5530.c | 3 +-- drivers/ide/cs5535.c | 3 +-- drivers/ide/cs5536.c | 3 +-- drivers/ide/cy82c693.c| 3 +-- drivers/ide/delkin_cb.c | 32 +- drivers/ide/hpt366.c | 3 +-- drivers/ide/ide-pci-generic.c | 3 +-- drivers/ide/it8172.c | 3 +-- drivers/ide/it8213.c | 3 +-- drivers/ide/it821x.c | 3 +-- drivers/ide/jmicron.c | 3 +-- drivers/ide/ns87415.c | 3 +-- drivers/ide/opti621.c | 3 +-- drivers/ide/pdc202xx_new.c| 3 +-- drivers/ide/pdc202xx_old.c| 3 +-- drivers/ide/piix.c| 3 +-- drivers/ide/sc1200.c | 43 --- drivers/ide/serverworks.c | 3 +-- drivers/ide/setup-pci.c | 29 +-- drivers/ide/siimage.c | 3 +-- drivers/ide/sis5513.c | 3 +-- drivers/ide/sl82c105.c| 3 +-- drivers/ide/slc90e66.c| 3 +-- drivers/ide/triflex.c | 24 +++ drivers/ide/via82cxxx.c | 3 +-- include/linux/ide.h | 8 +-- 32 files changed, 62 insertions(+), 155 deletions(-) -- 2.27.0