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&D 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(-) > > >