[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>
This commit is contained in:
Yijing Wang 2013-06-27 15:02:49 +08:00 committed by James Bottomley
parent 7a6a731bd0
commit c8a2ba3f50
1 changed files with 3 additions and 4 deletions

View File

@ -912,14 +912,13 @@ static int pm8001_pci_suspend(struct pci_dev *pdev, pm_message_t state)
{ {
struct sas_ha_struct *sha = pci_get_drvdata(pdev); struct sas_ha_struct *sha = pci_get_drvdata(pdev);
struct pm8001_hba_info *pm8001_ha; struct pm8001_hba_info *pm8001_ha;
int i , pos; int i;
u32 device_state; u32 device_state;
pm8001_ha = sha->lldd_ha; pm8001_ha = sha->lldd_ha;
flush_workqueue(pm8001_wq); flush_workqueue(pm8001_wq);
scsi_block_requests(pm8001_ha->shost); scsi_block_requests(pm8001_ha->shost);
pos = pci_find_capability(pdev, PCI_CAP_ID_PM); if (!pdev->pm_cap) {
if (pos == 0) { dev_err(&pdev->dev, " PCI PM not supported\n");
printk(KERN_ERR " PCI PM not supported\n");
return -ENODEV; return -ENODEV;
} }
PM8001_CHIP_DISP->interrupt_disable(pm8001_ha, 0xFF); PM8001_CHIP_DISP->interrupt_disable(pm8001_ha, 0xFF);