Re: [PATCH 3/4] pinctrl: at91: Fix error handling while doing gpiochio_irqchip_add

From: Linus Walleij
Date: Fri Sep 05 2014 - 04:25:13 EST


On Sun, Aug 31, 2014 at 1:21 PM, Pramod Gurav
<pramod.gurav@xxxxxxxxxxxxxxx> wrote:

> This patch removes a call to panic function when gpiochio_irqchip_add
> fails and just returns the error to the calling function.
> Same return value is used to handle the error case and adds to lable
> to release resources on error.
>
> This also changes first argument to function at91_gpio_of_irq_setup from
> struct device_node to struct platform_device. Because The device_node
> argument was anyway not being used. Passed pdev so that on failure dev_err
> can use &pdev->dev and log can be associated with proper device.
>
> CC: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx>
> CC: Linus Walleij <linus.walleij@xxxxxxxxxx>
> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx>
(...)

> @@ -1470,9 +1470,11 @@ static int at91_gpio_of_irq_setup(struct device_node *node,
> 0,
> handle_edge_irq,
> IRQ_TYPE_EDGE_BOTH);
> - if (ret)
> - panic("at91_gpio.%d: couldn't allocate irq domain (DT).\n",
> + if (ret) {
> + dev_err(&pdev->dev, "at91_gpio.%d: couldn't allocate irq domain (DT).\n",
> at91_gpio->pioc_idx);
> + return ret;
> + }

If you're fixing this, also fix the error message. It's unable to allocate
a GPIOchip irqchip, not an irq domain. (Caused by other patch, but
please fix this if you're playing around here.)

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/