diff mbox

[v2] hisi_sas: use platform_get_irq()

Message ID 1449835401-200442-1-git-send-email-john.garry@huawei.com (mailing list archive)
State New, archived
Headers show

Commit Message

John Garry Dec. 11, 2015, 12:03 p.m. UTC
It is preferred that drivers use platform_get_irq()
instead of irq_of_parse_and_map(), so replace.

Signed-off-by: John Garry <john.garry@huawei.com>
Acked-by: Rob Herring <robh@kernel.org>

Comments

Johannes Thumshirn Dec. 11, 2015, 11:56 a.m. UTC | #1
On Fri, Dec 11, 2015 at 08:03:21PM +0800, John Garry wrote:
> It is preferred that drivers use platform_get_irq()
> instead of irq_of_parse_and_map(), so replace.
> 
> Signed-off-by: John Garry <john.garry@huawei.com>
> Acked-by: Rob Herring <robh@kernel.org>
> 
> diff --git a/drivers/scsi/hisi_sas/hisi_sas.h b/drivers/scsi/hisi_sas/hisi_sas.h
> index 30a9ab9..5af2e41 100644
> --- a/drivers/scsi/hisi_sas/hisi_sas.h
> +++ b/drivers/scsi/hisi_sas/hisi_sas.h
> @@ -16,7 +16,6 @@
>  #include <linux/mfd/syscon.h>
>  #include <linux/module.h>
>  #include <linux/of_address.h>
> -#include <linux/of_irq.h>
>  #include <linux/platform_device.h>
>  #include <linux/regmap.h>
>  #include <scsi/libsas.h>
> diff --git a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
> index 0ed2f92..d543811 100644
> --- a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
> +++ b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
> @@ -1673,19 +1673,16 @@ static irq_handler_t fatal_interrupts[HISI_SAS_MAX_QUEUES] = {
>  
>  static int interrupt_init_v1_hw(struct hisi_hba *hisi_hba)
>  {
> -	struct device *dev = &hisi_hba->pdev->dev;
> -	struct device_node *np = dev->of_node;
> +	struct platform_device *pdev = hisi_hba->pdev;
> +	struct device *dev = &pdev->dev;
>  	int i, j, irq, rc, idx;
>  
> -	if (!np)
> -		return -ENOENT;
> -
>  	for (i = 0; i < hisi_hba->n_phy; i++) {
>  		struct hisi_sas_phy *phy = &hisi_hba->phy[i];
>  
>  		idx = i * HISI_SAS_PHY_INT_NR;
>  		for (j = 0; j < HISI_SAS_PHY_INT_NR; j++, idx++) {
> -			irq = irq_of_parse_and_map(np, idx);
> +			irq = platform_get_irq(pdev, idx);
>  			if (!irq) {
>  				dev_err(dev,
>  					"irq init: fail map phy interrupt %d\n",
> @@ -1706,7 +1703,7 @@ static int interrupt_init_v1_hw(struct hisi_hba *hisi_hba)
>  
>  	idx = hisi_hba->n_phy * HISI_SAS_PHY_INT_NR;
>  	for (i = 0; i < hisi_hba->queue_count; i++, idx++) {
> -		irq = irq_of_parse_and_map(np, idx);
> +		irq = platform_get_irq(pdev, idx);
>  		if (!irq) {
>  			dev_err(dev, "irq init: could not map cq interrupt %d\n",
>  				idx);
> @@ -1724,7 +1721,7 @@ static int interrupt_init_v1_hw(struct hisi_hba *hisi_hba)
>  
>  	idx = (hisi_hba->n_phy * HISI_SAS_PHY_INT_NR) + hisi_hba->queue_count;
>  	for (i = 0; i < HISI_SAS_FATAL_INT_NR; i++, idx++) {
> -		irq = irq_of_parse_and_map(np, idx);
> +		irq = platform_get_irq(pdev, idx);
>  		if (!irq) {
>  			dev_err(dev, "irq init: could not map fatal interrupt %d\n",
>  				idx);
> -- 
> 1.9.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Martin K. Petersen Dec. 17, 2015, 3:34 a.m. UTC | #2
>>>>> "John" == John Garry <john.garry@huawei.com> writes:

John> It is preferred that drivers use platform_get_irq() instead of
John> irq_of_parse_and_map(), so replace.

Applied to 4.5/scsi-queue.
diff mbox

Patch

diff --git a/drivers/scsi/hisi_sas/hisi_sas.h b/drivers/scsi/hisi_sas/hisi_sas.h
index 30a9ab9..5af2e41 100644
--- a/drivers/scsi/hisi_sas/hisi_sas.h
+++ b/drivers/scsi/hisi_sas/hisi_sas.h
@@ -16,7 +16,6 @@ 
 #include <linux/mfd/syscon.h>
 #include <linux/module.h>
 #include <linux/of_address.h>
-#include <linux/of_irq.h>
 #include <linux/platform_device.h>
 #include <linux/regmap.h>
 #include <scsi/libsas.h>
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
index 0ed2f92..d543811 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
@@ -1673,19 +1673,16 @@  static irq_handler_t fatal_interrupts[HISI_SAS_MAX_QUEUES] = {
 
 static int interrupt_init_v1_hw(struct hisi_hba *hisi_hba)
 {
-	struct device *dev = &hisi_hba->pdev->dev;
-	struct device_node *np = dev->of_node;
+	struct platform_device *pdev = hisi_hba->pdev;
+	struct device *dev = &pdev->dev;
 	int i, j, irq, rc, idx;
 
-	if (!np)
-		return -ENOENT;
-
 	for (i = 0; i < hisi_hba->n_phy; i++) {
 		struct hisi_sas_phy *phy = &hisi_hba->phy[i];
 
 		idx = i * HISI_SAS_PHY_INT_NR;
 		for (j = 0; j < HISI_SAS_PHY_INT_NR; j++, idx++) {
-			irq = irq_of_parse_and_map(np, idx);
+			irq = platform_get_irq(pdev, idx);
 			if (!irq) {
 				dev_err(dev,
 					"irq init: fail map phy interrupt %d\n",
@@ -1706,7 +1703,7 @@  static int interrupt_init_v1_hw(struct hisi_hba *hisi_hba)
 
 	idx = hisi_hba->n_phy * HISI_SAS_PHY_INT_NR;
 	for (i = 0; i < hisi_hba->queue_count; i++, idx++) {
-		irq = irq_of_parse_and_map(np, idx);
+		irq = platform_get_irq(pdev, idx);
 		if (!irq) {
 			dev_err(dev, "irq init: could not map cq interrupt %d\n",
 				idx);
@@ -1724,7 +1721,7 @@  static int interrupt_init_v1_hw(struct hisi_hba *hisi_hba)
 
 	idx = (hisi_hba->n_phy * HISI_SAS_PHY_INT_NR) + hisi_hba->queue_count;
 	for (i = 0; i < HISI_SAS_FATAL_INT_NR; i++, idx++) {
-		irq = irq_of_parse_and_map(np, idx);
+		irq = platform_get_irq(pdev, idx);
 		if (!irq) {
 			dev_err(dev, "irq init: could not map fatal interrupt %d\n",
 				idx);