[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:
Родитель
7a6a731bd0
Коммит
c8a2ba3f50
|
@ -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);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче