summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ethernet/renesas/ravb_main.c29
1 files changed, 16 insertions, 13 deletions
diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
index 529670852bd6..129965566c07 100644
--- a/drivers/net/ethernet/renesas/ravb_main.c
+++ b/drivers/net/ethernet/renesas/ravb_main.c
@@ -2743,24 +2743,27 @@ static int ravb_setup_irq(struct ravb_private *priv, const char *irq_name,
struct device *dev = &pdev->dev;
const char *dev_name;
unsigned long flags;
- int error;
+ int error, irq_num;
if (irq_name) {
dev_name = devm_kasprintf(dev, GFP_KERNEL, "%s:%s", ndev->name, ch);
if (!dev_name)
return -ENOMEM;
- *irq = platform_get_irq_byname(pdev, irq_name);
+ irq_num = platform_get_irq_byname(pdev, irq_name);
flags = 0;
} else {
dev_name = ndev->name;
- *irq = platform_get_irq(pdev, 0);
+ irq_num = platform_get_irq(pdev, 0);
flags = IRQF_SHARED;
}
- if (*irq < 0)
- return *irq;
+ if (irq_num < 0)
+ return irq_num;
+
+ if (irq)
+ *irq = irq_num;
- error = devm_request_irq(dev, *irq, handler, flags, dev_name, ndev);
+ error = devm_request_irq(dev, irq_num, handler, flags, dev_name, ndev);
if (error)
netdev_err(ndev, "cannot request IRQ %s\n", dev_name);
@@ -2772,7 +2775,7 @@ static int ravb_setup_irqs(struct ravb_private *priv)
const struct ravb_hw_info *info = priv->info;
struct net_device *ndev = priv->ndev;
const char *irq_name, *emac_irq_name;
- int error, irq;
+ int error;
if (!info->multi_irqs)
return ravb_setup_irq(priv, NULL, NULL, &ndev->irq, ravb_interrupt);
@@ -2795,28 +2798,28 @@ static int ravb_setup_irqs(struct ravb_private *priv)
return error;
if (info->err_mgmt_irqs) {
- error = ravb_setup_irq(priv, "err_a", "err_a", &irq, ravb_multi_interrupt);
+ error = ravb_setup_irq(priv, "err_a", "err_a", NULL, ravb_multi_interrupt);
if (error)
return error;
- error = ravb_setup_irq(priv, "mgmt_a", "mgmt_a", &irq, ravb_multi_interrupt);
+ error = ravb_setup_irq(priv, "mgmt_a", "mgmt_a", NULL, ravb_multi_interrupt);
if (error)
return error;
}
- error = ravb_setup_irq(priv, "ch0", "ch0:rx_be", &irq, ravb_be_interrupt);
+ error = ravb_setup_irq(priv, "ch0", "ch0:rx_be", NULL, ravb_be_interrupt);
if (error)
return error;
- error = ravb_setup_irq(priv, "ch1", "ch1:rx_nc", &irq, ravb_nc_interrupt);
+ error = ravb_setup_irq(priv, "ch1", "ch1:rx_nc", NULL, ravb_nc_interrupt);
if (error)
return error;
- error = ravb_setup_irq(priv, "ch18", "ch18:tx_be", &irq, ravb_be_interrupt);
+ error = ravb_setup_irq(priv, "ch18", "ch18:tx_be", NULL, ravb_be_interrupt);
if (error)
return error;
- return ravb_setup_irq(priv, "ch19", "ch19:tx_nc", &irq, ravb_nc_interrupt);
+ return ravb_setup_irq(priv, "ch19", "ch19:tx_nc", NULL, ravb_nc_interrupt);
}
static int ravb_probe(struct platform_device *pdev)