aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorYijing Wang <wangyijing@huawei.com>2013-06-27 03:02:49 -0400
committerJames Bottomley <JBottomley@Parallels.com>2013-07-05 17:42:43 -0400
commitc8a2ba3f50f7445b3d1b822ba1a8168b4234baca (patch)
tree7397dc02d0c1144ceab4b601a9bd3ddef8a13769 /drivers/scsi
parent7a6a731bd00ca90d0e250867c3b9c05b5ff0fa49 (diff)
[SCSI] pm8001: use pdev->pm_cap instead of pci_find_capability(..,PCI_CAP_ID_PM)
Pci core has been saved pm cap register offset by pdev->pm_cap in pci_pm_init() in init path. So we can use pdev->pm_cap instead of using pci_find_capability(pdev, PCI_CAP_ID_PM) for better performance and simplified code. Tested-by: Lindar Liu <lindar_liu@usish.com> Signed-off-by: Yijing Wang <wangyijing@huawei.com> Acked-by: Lindar Liu <lindar_liu@usish.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/pm8001/pm8001_init.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/scsi/pm8001/pm8001_init.c b/drivers/scsi/pm8001/pm8001_init.c
index e4b9bc7f5410..3861aa1f4520 100644
--- a/drivers/scsi/pm8001/pm8001_init.c
+++ b/drivers/scsi/pm8001/pm8001_init.c
@@ -912,14 +912,13 @@ static int pm8001_pci_suspend(struct pci_dev *pdev, pm_message_t state)
912{ 912{
913 struct sas_ha_struct *sha = pci_get_drvdata(pdev); 913 struct sas_ha_struct *sha = pci_get_drvdata(pdev);
914 struct pm8001_hba_info *pm8001_ha; 914 struct pm8001_hba_info *pm8001_ha;
915 int i , pos; 915 int i;
916 u32 device_state; 916 u32 device_state;
917 pm8001_ha = sha->lldd_ha; 917 pm8001_ha = sha->lldd_ha;
918 flush_workqueue(pm8001_wq); 918 flush_workqueue(pm8001_wq);
919 scsi_block_requests(pm8001_ha->shost); 919 scsi_block_requests(pm8001_ha->shost);
920 pos = pci_find_capability(pdev, PCI_CAP_ID_PM); 920 if (!pdev->pm_cap) {
921 if (pos == 0) { 921 dev_err(&pdev->dev, " PCI PM not supported\n");
922 printk(KERN_ERR " PCI PM not supported\n");
923 return -ENODEV; 922 return -ENODEV;
924 } 923 }
925 PM8001_CHIP_DISP->interrupt_disable(pm8001_ha, 0xFF); 924 PM8001_CHIP_DISP->interrupt_disable(pm8001_ha, 0xFF);