scsi: hisi_sas_v3_hw: Don't use PCI helper functions
authorVaibhav Gupta <vaibhavgupta40@gmail.com>
Mon, 2 Nov 2020 16:47:14 +0000 (22:17 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 26 Nov 2020 04:14:31 +0000 (23:14 -0500)
Drivers using new-framework/generic-framework should not handle standard
power management operations. These operations were performed by legacy
framework through PCI helper functions like pci_save/restore_state(),
pci_set_power_state(), etc.

Drivers should not use them now.

Link: https://lore.kernel.org/r/20201102164730.324035-14-vaibhavgupta40@gmail.com
Signed-off-by: Vaibhav Gupta <vaibhavgupta40@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c

index f19f3db..dfeb86c 100644 (file)
@@ -3440,7 +3440,6 @@ static int _suspend_v3_hw(struct device *device)
        struct hisi_hba *hisi_hba = sha->lldd_ha;
        struct device *dev = hisi_hba->dev;
        struct Scsi_Host *shost = hisi_hba->shost;
-       pci_power_t device_state;
        int rc;
 
        if (!pdev->pm_cap) {
@@ -3466,12 +3465,7 @@ static int _suspend_v3_hw(struct device *device)
 
        hisi_sas_init_mem(hisi_hba);
 
-       device_state = pci_choose_state(pdev, PMSG_SUSPEND);
-       dev_warn(dev, "entering operating state [D%d]\n",
-                       device_state);
-       pci_save_state(pdev);
-       pci_disable_device(pdev);
-       pci_set_power_state(pdev, device_state);
+       dev_warn(dev, "entering suspend state\n");
 
        hisi_sas_release_tasks(hisi_hba);
 
@@ -3491,15 +3485,7 @@ static int _resume_v3_hw(struct device *device)
 
        dev_warn(dev, "resuming from operating state [D%d]\n",
                 device_state);
-       pci_set_power_state(pdev, PCI_D0);
-       pci_restore_state(pdev);
-       rc = pci_enable_device(pdev);
-       if (rc) {
-               dev_err(dev, "enable device failed during resume (%d)\n", rc);
-               return rc;
-       }
 
-       pci_set_master(pdev);
        scsi_unblock_requests(shost);
        clear_bit(HISI_SAS_REJECT_CMD_BIT, &hisi_hba->flags);
 
@@ -3507,7 +3493,6 @@ static int _resume_v3_hw(struct device *device)
        rc = hw_init_v3_hw(hisi_hba);
        if (rc) {
                scsi_remove_host(shost);
-               pci_disable_device(pdev);
                return rc;
        }
        hisi_hba->hw->phys_init(hisi_hba);