[Resend with Ack][PATCH 8/9] scsi/pm8001: use pdev-pm_cap instead of pci_find_capability(..,PCI_CAP_ID_PM)

2013-06-27 Thread Yijing Wang
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)

2013-06-26 Thread Jack Wang
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)

2013-06-26 Thread Yijing Wang
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)

2013-06-25 Thread Yijing Wang
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)

2013-06-25 Thread Yijing Wang
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