diff options
author | Ahmad Fatoum <a.fatoum@pengutronix.de> | 2021-06-28 09:03:30 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2021-06-28 22:38:28 +0200 |
commit | 65915417103be6c883e8dbba8874068f78087c61 (patch) | |
tree | 63bea2289488db96523bccba71e9bb5ce85a0498 /drivers/pinctrl | |
parent | 5f30f6f58ab25a9c53a03660b8cda5ee0360bc6d (diff) | |
download | barebox-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.c | 5 |
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"); |