[Resend with Ack][PATCH 8/9] 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. Acked-by: Lindar Liu lindar_...@usish.com Tested-by: Lindar Liu lindar_...@usish.com Signed-off-by: Yijing Wang wangyij...@huawei.com Cc: xjtu...@gmail.com Cc: lindar_...@usish.com Cc: James E.J. Bottomley jbottom...@parallels.com Cc: linux-scsi@vger.kernel.org Cc: linux-ker...@vger.kernel.org --- 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 e4b9bc7..3861aa1 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) { struct sas_ha_struct *sha = pci_get_drvdata(pdev); struct pm8001_hba_info *pm8001_ha; - int i , pos; + int i; u32 device_state; pm8001_ha = sha-lldd_ha; flush_workqueue(pm8001_wq); scsi_block_requests(pm8001_ha-shost); - pos = pci_find_capability(pdev, PCI_CAP_ID_PM); - if (pos == 0) { - printk(KERN_ERR PCI PM not supported\n); + if (!pdev-pm_cap) { + dev_err(pdev-dev, PCI PM not supported\n); return -ENODEV; } PM8001_CHIP_DISP-interrupt_disable(pm8001_ha, 0xFF); -- 1.7.1 -- To unsubscribe from this list: send the line unsubscribe linux-scsi in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 8/9] scsi/pm8001: use pdev-pm_cap instead of pci_find_capability(..,PCI_CAP_ID_PM)
On 06/18/2013 10:23 AM, Yijing Wang wrote: 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. I think Lindar already replied to you, and tested it on hardware. So you can add her: Acked-by or Tested-by Regards, Jack Signed-off-by: Yijing Wang wangyij...@huawei.com Cc: xjtu...@gmail.com Cc: lindar_...@usish.com Cc: James E.J. Bottomley jbottom...@parallels.com Cc: linux-scsi@vger.kernel.org Cc: linux-ker...@vger.kernel.org --- 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 e4b9bc7..3861aa1 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) { struct sas_ha_struct *sha = pci_get_drvdata(pdev); struct pm8001_hba_info *pm8001_ha; - int i , pos; + int i; u32 device_state; pm8001_ha = sha-lldd_ha; flush_workqueue(pm8001_wq); scsi_block_requests(pm8001_ha-shost); - pos = pci_find_capability(pdev, PCI_CAP_ID_PM); - if (pos == 0) { - printk(KERN_ERR PCI PM not supported\n); + if (!pdev-pm_cap) { + dev_err(pdev-dev, PCI PM not supported\n); return -ENODEV; } PM8001_CHIP_DISP-interrupt_disable(pm8001_ha, 0xFF); -- To unsubscribe from this list: send the line unsubscribe linux-scsi in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 8/9] scsi/pm8001: use pdev-pm_cap instead of pci_find_capability(..,PCI_CAP_ID_PM)
On 2013/6/26 17:33, Jack Wang wrote: On 06/18/2013 10:23 AM, Yijing Wang wrote: 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. I think Lindar already replied to you, and tested it on hardware. I didn't receive the reply, I will check my email client, maybe I lose some emails. Jack, Lindar thank you very much. So you can add her: Acked-by or Tested-by ok, I will add them. Regards, Jack Signed-off-by: Yijing Wang wangyij...@huawei.com Cc: xjtu...@gmail.com Cc: lindar_...@usish.com Cc: James E.J. Bottomley jbottom...@parallels.com Cc: linux-scsi@vger.kernel.org Cc: linux-ker...@vger.kernel.org --- 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 e4b9bc7..3861aa1 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) { struct sas_ha_struct *sha = pci_get_drvdata(pdev); struct pm8001_hba_info *pm8001_ha; -int i , pos; +int i; u32 device_state; pm8001_ha = sha-lldd_ha; flush_workqueue(pm8001_wq); scsi_block_requests(pm8001_ha-shost); -pos = pci_find_capability(pdev, PCI_CAP_ID_PM); -if (pos == 0) { -printk(KERN_ERR PCI PM not supported\n); +if (!pdev-pm_cap) { +dev_err(pdev-dev, PCI PM not supported\n); return -ENODEV; } PM8001_CHIP_DISP-interrupt_disable(pm8001_ha, 0xFF); . -- Thanks! Yijing -- To unsubscribe from this list: send the line unsubscribe linux-scsi in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 8/9] scsi/pm8001: use pdev-pm_cap instead of pci_find_capability(..,PCI_CAP_ID_PM)
Hi, Any comments? On 2013/6/18 16:23, Yijing Wang wrote: 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. Signed-off-by: Yijing Wang wangyij...@huawei.com Cc: xjtu...@gmail.com Cc: lindar_...@usish.com Cc: James E.J. Bottomley jbottom...@parallels.com Cc: linux-scsi@vger.kernel.org Cc: linux-ker...@vger.kernel.org --- 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 e4b9bc7..3861aa1 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) { struct sas_ha_struct *sha = pci_get_drvdata(pdev); struct pm8001_hba_info *pm8001_ha; - int i , pos; + int i; u32 device_state; pm8001_ha = sha-lldd_ha; flush_workqueue(pm8001_wq); scsi_block_requests(pm8001_ha-shost); - pos = pci_find_capability(pdev, PCI_CAP_ID_PM); - if (pos == 0) { - printk(KERN_ERR PCI PM not supported\n); + if (!pdev-pm_cap) { + dev_err(pdev-dev, PCI PM not supported\n); return -ENODEV; } PM8001_CHIP_DISP-interrupt_disable(pm8001_ha, 0xFF); -- Thanks! Yijing -- To unsubscribe from this list: send the line unsubscribe linux-scsi in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 8/9] 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. Signed-off-by: Yijing Wang wangyij...@huawei.com Cc: xjtu...@gmail.com Cc: lindar_...@usish.com Cc: James E.J. Bottomley jbottom...@parallels.com Cc: linux-scsi@vger.kernel.org Cc: linux-ker...@vger.kernel.org --- 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 e4b9bc7..3861aa1 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) { struct sas_ha_struct *sha = pci_get_drvdata(pdev); struct pm8001_hba_info *pm8001_ha; - int i , pos; + int i; u32 device_state; pm8001_ha = sha-lldd_ha; flush_workqueue(pm8001_wq); scsi_block_requests(pm8001_ha-shost); - pos = pci_find_capability(pdev, PCI_CAP_ID_PM); - if (pos == 0) { - printk(KERN_ERR PCI PM not supported\n); + if (!pdev-pm_cap) { + dev_err(pdev-dev, PCI PM not supported\n); return -ENODEV; } PM8001_CHIP_DISP-interrupt_disable(pm8001_ha, 0xFF); -- 1.7.1 -- To unsubscribe from this list: send the line unsubscribe linux-scsi in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html