Commit a260f080 authored by Claudiu Beznea's avatar Claudiu Beznea Committed by David S. Miller
Browse files

net: ravb: Get rid of the temporary variable irq



The 4th argument of ravb_setup_irq() is used to save the IRQ number that
will be further used by the driver code. Not all ravb_setup_irqs() calls
need to save the IRQ number. The previous code used to pass a dummy
variable as the 4th argument in case the IRQ is not needed for further
usage. That is not necessary as the code from ravb_setup_irq() can detect
by itself if the IRQ needs to be saved. Thus, get rid of the code that is
not needed.

Reported-by: default avatarSergey Shtylyov <s.shtylyov@omp.ru>
Signed-off-by: default avatarClaudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Reviewed-by: default avatarSergey Shtylyov <s.shtylyov@omp.ru>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 31f26e4f
Loading
Loading
Loading
Loading
+16 −13
Original line number Diff line number Diff line
@@ -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)