pinctrl_register will apply pinctrl hogs if specified and the STM32 pinctrl driver expects the GPIO chips to be registered by then. Swap the order of registration to accommodate this. Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> --- drivers/pinctrl/pinctrl-stm32.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/pinctrl/pinctrl-stm32.c b/drivers/pinctrl/pinctrl-stm32.c index 5e6625072a8f..15d845e0ad34 100644 --- a/drivers/pinctrl/pinctrl-stm32.c +++ b/drivers/pinctrl/pinctrl-stm32.c @@ -368,12 +368,6 @@ static int stm32_pinctrl_probe(struct device *dev) dev_dbg(dev, "proceeding without hw spinlock support: (%d)\n", ret); - ret = pinctrl_register(&pinctrl->pdev); - if (ret) { - dev_dbg(dev, "pinctrl_register failed: (%d)\n", ret); - return ret; - } - gpio_bank = pinctrl->gpio_banks; for_each_available_child_of_node(np, child) { if (!of_property_read_bool(child, "gpio-controller")) @@ -389,9 +383,7 @@ static int stm32_pinctrl_probe(struct device *dev) gpio_bank++; } - dev_dbg(dev, "pinctrl/gpio driver registered\n"); - - return 0; + return pinctrl_register(&pinctrl->pdev); } static __maybe_unused struct of_device_id stm32_pinctrl_dt_ids[] = { -- 2.30.2