diff options
author | Phil Elwell <phil@raspberrypi.com> | 2021-12-06 12:22:36 +0300 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2021-12-10 02:23:29 +0300 |
commit | 266423e60ea1b953fcc0cd97f3dad85857e434d1 (patch) | |
tree | 9bd566c7bc709e7e910ce988f5598e15f0d60c51 /drivers/pinctrl/stm32 | |
parent | 2d5446da5acecf9c67db1c9d55ae2c3e5de01f8d (diff) | |
download | linux-266423e60ea1b953fcc0cd97f3dad85857e434d1.tar.xz |
pinctrl: bcm2835: Change init order for gpio hogs
...and gpio-ranges
pinctrl-bcm2835 is a combined pinctrl/gpio driver. Currently the gpio
side is registered first, but this breaks gpio hogs (which are
configured during gpiochip_add_data). Part of the hog initialisation
is a call to pinctrl_gpio_request, and since the pinctrl driver hasn't
yet been registered this results in an -EPROBE_DEFER from which it can
never recover.
Change the initialisation sequence to register the pinctrl driver
first.
This also solves a similar problem with the gpio-ranges property, which
is required in order for released pins to be returned to inputs.
Fixes: 73345a18d464b ("pinctrl: bcm2835: Pass irqchip when adding gpiochip")
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/20211206092237.4105895-2-phil@raspberrypi.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/stm32')
0 files changed, 0 insertions, 0 deletions