summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2021-06-28 09:03:30 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2021-06-28 22:38:28 +0200
commit65915417103be6c883e8dbba8874068f78087c61 (patch)
tree63bea2289488db96523bccba71e9bb5ce85a0498 /drivers/pinctrl
parent5f30f6f58ab25a9c53a03660b8cda5ee0360bc6d (diff)
downloadbarebox-65915417103be6c883e8dbba8874068f78087c61.tar.gz
barebox-65915417103be6c883e8dbba8874068f78087c61.tar.xz
pinctrl: stm32: support deep probe
The GPIO children of the pinctrl node don't have their own compatibles and so the pinctrl driver probe takes care of the whole family. GPIO drivers when deep probe is enabled don't like that because they expect a driver to be associated with the GPIO device tree node, once the chip was registered. Make them happy by assigning the dummy driver. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20210628070330.13646-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r--drivers/pinctrl/pinctrl-stm32.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/pinctrl/pinctrl-stm32.c b/drivers/pinctrl/pinctrl-stm32.c
index 09b62309f6..97a643a4da 100644
--- a/drivers/pinctrl/pinctrl-stm32.c
+++ b/drivers/pinctrl/pinctrl-stm32.c
@@ -412,11 +412,14 @@ static int stm32_pinctrl_probe(struct device_d *dev)
if (!of_property_read_bool(child, "gpio-controller"))
continue;
- ret = stm32_gpiochip_add(gpio_bank++, child, dev);
+ ret = stm32_gpiochip_add(gpio_bank, child, dev);
if (ret) {
dev_err(dev, "couldn't add gpiochip %s, ret = %d\n", child->name, ret);
return ret;
}
+
+ of_platform_device_dummy_drv(gpio_bank->chip.dev);
+ gpio_bank++;
}
dev_dbg(dev, "pinctrl/gpio driver registered\n");