[Linux-kernel-mentees] [PATCH v3 0/3] drivers: ide: use generic power management

Vaibhav Gupta vaibhav.varodek at gmail.com
Tue Jul 14 07:52:47 UTC 2020


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


More information about the Linux-kernel-mentees mailing list