diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2017-08-09 18:51:27 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2017-08-22 09:10:10 -0400 |
commit | f89c6eafa35ae06390eea50f81c94d9a3c5ee5fe (patch) | |
tree | 729473afc057070937eb1d86876bbdf354b7cf1e /drivers/gpio/gpio-brcmstb.c | |
parent | a863e87c3299bfebdf1f73e5fc948af911557cb2 (diff) |
gpio: brcmstb: check return value of gpiochip_irqchip_add()
Because gpiochip_irqchip_add() may fail, its return value should
be checked.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Gregory Fong <gregory.0xf0@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpio-brcmstb.c')
-rw-r--r-- | drivers/gpio/gpio-brcmstb.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpio/gpio-brcmstb.c b/drivers/gpio/gpio-brcmstb.c index 73f2c3be4657..dd0308cc8bb0 100644 --- a/drivers/gpio/gpio-brcmstb.c +++ b/drivers/gpio/gpio-brcmstb.c | |||
@@ -339,6 +339,7 @@ static int brcmstb_gpio_irq_setup(struct platform_device *pdev, | |||
339 | struct brcmstb_gpio_priv *priv = bank->parent_priv; | 339 | struct brcmstb_gpio_priv *priv = bank->parent_priv; |
340 | struct device *dev = &pdev->dev; | 340 | struct device *dev = &pdev->dev; |
341 | struct device_node *np = dev->of_node; | 341 | struct device_node *np = dev->of_node; |
342 | int err; | ||
342 | 343 | ||
343 | bank->irq_chip.name = dev_name(dev); | 344 | bank->irq_chip.name = dev_name(dev); |
344 | bank->irq_chip.irq_mask = brcmstb_gpio_irq_mask; | 345 | bank->irq_chip.irq_mask = brcmstb_gpio_irq_mask; |
@@ -355,8 +356,6 @@ static int brcmstb_gpio_irq_setup(struct platform_device *pdev, | |||
355 | dev_warn(dev, | 356 | dev_warn(dev, |
356 | "Couldn't get wake IRQ - GPIOs will not be able to wake from sleep"); | 357 | "Couldn't get wake IRQ - GPIOs will not be able to wake from sleep"); |
357 | } else { | 358 | } else { |
358 | int err; | ||
359 | |||
360 | /* | 359 | /* |
361 | * Set wakeup capability before requesting wakeup | 360 | * Set wakeup capability before requesting wakeup |
362 | * interrupt, so we can process boot-time "wakeups" | 361 | * interrupt, so we can process boot-time "wakeups" |
@@ -383,8 +382,10 @@ static int brcmstb_gpio_irq_setup(struct platform_device *pdev, | |||
383 | if (priv->can_wake) | 382 | if (priv->can_wake) |
384 | bank->irq_chip.irq_set_wake = brcmstb_gpio_irq_set_wake; | 383 | bank->irq_chip.irq_set_wake = brcmstb_gpio_irq_set_wake; |
385 | 384 | ||
386 | gpiochip_irqchip_add(&bank->gc, &bank->irq_chip, 0, | 385 | err = gpiochip_irqchip_add(&bank->gc, &bank->irq_chip, 0, |
387 | handle_simple_irq, IRQ_TYPE_NONE); | 386 | handle_simple_irq, IRQ_TYPE_NONE); |
387 | if (err) | ||
388 | return err; | ||
388 | gpiochip_set_chained_irqchip(&bank->gc, &bank->irq_chip, | 389 | gpiochip_set_chained_irqchip(&bank->gc, &bank->irq_chip, |
389 | priv->parent_irq, brcmstb_gpio_irq_handler); | 390 | priv->parent_irq, brcmstb_gpio_irq_handler); |
390 | 391 | ||