Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f89c6eaf authored by Masahiro Yamada's avatar Masahiro Yamada Committed by Linus Walleij
Browse files

gpio: brcmstb: check return value of gpiochip_irqchip_add()



Because gpiochip_irqchip_add() may fail, its return value should
be checked.

Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: default avatarGregory Fong <gregory.0xf0@gmail.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent a863e87c
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -339,6 +339,7 @@ static int brcmstb_gpio_irq_setup(struct platform_device *pdev,
	struct brcmstb_gpio_priv *priv = bank->parent_priv;
	struct device *dev = &pdev->dev;
	struct device_node *np = dev->of_node;
	int err;

	bank->irq_chip.name = dev_name(dev);
	bank->irq_chip.irq_mask = brcmstb_gpio_irq_mask;
@@ -355,8 +356,6 @@ static int brcmstb_gpio_irq_setup(struct platform_device *pdev,
			dev_warn(dev,
				"Couldn't get wake IRQ - GPIOs will not be able to wake from sleep");
		} else {
			int err;

			/*
			 * Set wakeup capability before requesting wakeup
			 * interrupt, so we can process boot-time "wakeups"
@@ -383,8 +382,10 @@ static int brcmstb_gpio_irq_setup(struct platform_device *pdev,
	if (priv->can_wake)
		bank->irq_chip.irq_set_wake = brcmstb_gpio_irq_set_wake;

	gpiochip_irqchip_add(&bank->gc, &bank->irq_chip, 0,
	err = gpiochip_irqchip_add(&bank->gc, &bank->irq_chip, 0,
				   handle_simple_irq, IRQ_TYPE_NONE);
	if (err)
		return err;
	gpiochip_set_chained_irqchip(&bank->gc, &bank->irq_chip,
			priv->parent_irq, brcmstb_gpio_irq_handler);