Re: [PATCH v3 00/28] scsi: use generic power management

From: Vaibhav Gupta
Date: Thu Oct 01 2020 - 08:36:11 EST


On Thu, Oct 01, 2020 at 05:54:43PM +0530, Vaibhav Gupta wrote:
Linux Kernel Mentee: Remove Legacy Power Management.

The purpose of this patch series is to upgrade power management in SCSI
drivers. This has been done by upgrading .suspend() and .resume() callbacks.

The upgrade makes sure that the involvement of PCI Core does not change the
order of operations executed in a driver. Thus, does not change its behavior.

In general, drivers with legacy PM, .suspend() and .resume() make use of PCI
helper functions like pci_enable/disable_device_mem(), pci_set_power_state(),
pci_save/restore_state(), pci_enable/disable_device(), etc. to complete
their job.

The conversion requires the removal of those function calls, change the
callbacks' definition accordingly and make use of dev_pm_ops structure.

All patches are compile-tested only.

v3: break down the patches to drop PCI wakeup calls.

Test tools:
- Compiler: gcc (GCC) 10.2.0
- allmodconfig build: make -j$(nproc) W=1 all

Vaibhav Gupta (28):
scsi: megaraid_sas: Drop PCI wakeup calls from .resume
scsi: megaraid_sas: use generic power management
scsi: megaraid_sas: update function description
scsi: aacraid: Drop pci_enable_wake() from .resume
scsi: aacraid: use generic power management
scsi: aic7xxx: use generic power management
scsi: aic79xx: use generic power management
scsi: arcmsr: Drop PCI wakeup calls from .resume
scsi: arcmsr: use generic power management
scsi: esas2r: Drop PCI Wakeup calls from .resume
scsi: esas2r: use generic power management
scsi: hisi_sas_v3_hw: Drop PCI Wakeup calls from .resume
scsi: hisi_sas_v3_hw: use generic power management
scsi: mpt3sas_scsih: Drop PCI Wakeup calls from .resume
scsi: mpt3sas_scsih: use generic power management
scsi: lpfc: use generic power management
scsi: pm_8001: Drop PCI Wakeup calls from .resume
scsi: pm_8001: use generic power management
scsi: hpsa: use generic power management
scsi: 3w-9xxx: Drop PCI Wakeup calls from .resume
scsi: 3w-9xxx: use generic power management
scsi: 3w-sas: Drop PCI Wakeup calls from .resume
scsi: 3w-sas: use generic power management
scsi: mvumi: Drop PCI Wakeup calls from .resume
scsi: mvumi: use generic power management
scsi: mvumi: update function description
scsi: pmcraid: Drop PCI Wakeup calls from .resume
scsi: pmcraid: use generic power management

drivers/scsi/3w-9xxx.c | 30 ++-----
drivers/scsi/3w-sas.c | 32 ++-----
drivers/scsi/aacraid/linit.c | 34 ++------
drivers/scsi/aic7xxx/aic79xx.h | 12 +--
drivers/scsi/aic7xxx/aic79xx_core.c | 8 +-
drivers/scsi/aic7xxx/aic79xx_osm_pci.c | 43 +++-------
drivers/scsi/aic7xxx/aic79xx_pci.c | 6 +-
drivers/scsi/aic7xxx/aic7xxx.h | 10 +--
drivers/scsi/aic7xxx/aic7xxx_core.c | 6 +-
drivers/scsi/aic7xxx/aic7xxx_osm_pci.c | 46 +++-------
drivers/scsi/aic7xxx/aic7xxx_pci.c | 4 +-
drivers/scsi/arcmsr/arcmsr_hba.c | 33 +++----
drivers/scsi/esas2r/esas2r.h | 5 +-
drivers/scsi/esas2r/esas2r_init.c | 48 +++--------
drivers/scsi/esas2r/esas2r_main.c | 3 +-
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 31 +++----
drivers/scsi/hpsa.c | 12 +--
drivers/scsi/lpfc/lpfc_init.c | 100 +++++++---------------
drivers/scsi/megaraid/megaraid_sas_base.c | 54 +++---------
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 35 +++-----
drivers/scsi/mvumi.c | 49 +++--------
drivers/scsi/pm8001/pm8001_init.c | 46 ++++------
drivers/scsi/pmcraid.c | 44 +++-------
23 files changed, 198 insertions(+), 493 deletions(-)

--
2.28.0