Commit 1efbee68 authored by Bartosz Golaszewski's avatar Bartosz Golaszewski Committed by Lee Jones
Browse files

mfd: vexpress-sysreg: Check the return value of devm_gpiochip_add_data()



Commit 974cc7b9 ("mfd: vexpress: Define the device as MFD cells")
removed the return value check from the call to gpiochip_add_data() (or
rather gpiochip_add() back then and later converted to devres) with no
explanation. This function however can still fail, so check the return
value and bail-out if it does.

Cc: stable@vger.kernel.org
Fixes: 974cc7b9 ("mfd: vexpress: Define the device as MFD cells")
Signed-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20250811-gpio-mmio-mfd-conv-v1-1-68c5c958cf80@linaro.org


Signed-off-by: default avatarLee Jones <lee@kernel.org>
parent 8f5ae30d
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -99,6 +99,7 @@ static int vexpress_sysreg_probe(struct platform_device *pdev)
	struct resource *mem;
	void __iomem *base;
	struct gpio_chip *mmc_gpio_chip;
	int ret;

	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	if (!mem)
@@ -119,7 +120,10 @@ static int vexpress_sysreg_probe(struct platform_device *pdev)
	bgpio_init(mmc_gpio_chip, &pdev->dev, 0x4, base + SYS_MCI,
			NULL, NULL, NULL, NULL, 0);
	mmc_gpio_chip->ngpio = 2;
	devm_gpiochip_add_data(&pdev->dev, mmc_gpio_chip, NULL);

	ret = devm_gpiochip_add_data(&pdev->dev, mmc_gpio_chip, NULL);
	if (ret)
		return ret;

	return devm_mfd_add_devices(&pdev->dev, PLATFORM_DEVID_AUTO,
			vexpress_sysreg_cells,