diff options
author | Yijing Wang <wangyijing@huawei.com> | 2013-06-27 03:02:49 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2013-07-05 17:42:43 -0400 |
commit | c8a2ba3f50f7445b3d1b822ba1a8168b4234baca (patch) | |
tree | 7397dc02d0c1144ceab4b601a9bd3ddef8a13769 /drivers/scsi/pm8001 | |
parent | 7a6a731bd00ca90d0e250867c3b9c05b5ff0fa49 (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/pm8001')
-rw-r--r-- | drivers/scsi/pm8001/pm8001_init.c | 7 |
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); |