2019-10-02 22:05:54

by Chris Packham

[permalink] [raw]
Subject: [PATCH] pinctrl: iproc: improve error handling

platform_get_irq() can return an error code. Allow for this when getting
the irq. While we're here use the dev_name(dev) for the irqc->name so
that we get unique names when we have multiple instances of this driver.

Signed-off-by: Chris Packham <[email protected]>
---
Noticed this while debugging another problem.

drivers/pinctrl/bcm/pinctrl-iproc-gpio.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
index 6f7d3a2f2e97..c24d49d436ce 100644
--- a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
+++ b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
@@ -853,12 +853,12 @@ static int iproc_gpio_probe(struct platform_device *pdev)

/* optional GPIO interrupt support */
irq = platform_get_irq(pdev, 0);
- if (irq) {
+ if (irq > 0) {
struct irq_chip *irqc;
struct gpio_irq_chip *girq;

irqc = &chip->irqchip;
- irqc->name = "bcm-iproc-gpio";
+ irqc->name = dev_name(dev);
irqc->irq_ack = iproc_gpio_irq_ack;
irqc->irq_mask = iproc_gpio_irq_mask;
irqc->irq_unmask = iproc_gpio_irq_unmask;
--
2.23.0


2019-10-03 00:29:16

by Scott Branden

[permalink] [raw]
Subject: Re: [PATCH] pinctrl: iproc: improve error handling

Hi Chris,

On 2019-10-02 3:00 p.m., Chris Packham wrote:
> platform_get_irq() can return an error code. Allow for this when getting
> the irq.
Above matches change in 1st line of commit.  Please add a Fixes: tag
for such fix.
> While we're here use the dev_name(dev) for the irqc->name so
> that we get unique names when we have multiple instances of this driver.
The dev_name change should be in a different commit to keep things
bisectable.
>
> Signed-off-by: Chris Packham <[email protected]>
> ---
> Noticed this while debugging another problem.
>
> drivers/pinctrl/bcm/pinctrl-iproc-gpio.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
> index 6f7d3a2f2e97..c24d49d436ce 100644
> --- a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
> +++ b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
> @@ -853,12 +853,12 @@ static int iproc_gpio_probe(struct platform_device *pdev)
>
> /* optional GPIO interrupt support */
> irq = platform_get_irq(pdev, 0);
> - if (irq) {
> + if (irq > 0) {
> struct irq_chip *irqc;
> struct gpio_irq_chip *girq;
>
> irqc = &chip->irqchip;
> - irqc->name = "bcm-iproc-gpio";
> + irqc->name = dev_name(dev);
> irqc->irq_ack = iproc_gpio_irq_ack;
> irqc->irq_mask = iproc_gpio_irq_mask;
> irqc->irq_unmask = iproc_gpio_irq_unmask;
Thanks,
Scott