Re: [PATCH v2 1/2] pinctrl: bcm2835: Change init order for gpio hogs
From: Stefan Wahren <hidden>
Date: 2021-12-29 19:07:33
Also in:
linux-gpio
Am 10.12.21 um 00:24 schrieb Linus Walleij:
On Mon, Dec 6, 2021 at 10:22 AM Phil Elwell [off-list ref] wrote:quoted
...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 <redacted>This patch (1/2) applied for fixes.
Unfortunately this change breaks all GPIO LEDs at least on the Raspberry Pi 3 Plus (Linux 5.16-rc7, multi_v7_defconfig). The ACT LED for instance stays in the last state instead of the configured heartbeat behavior. Also there are no GPIO LEDs in /sys/class/leds/ directory. After reverting this change everything is back to normal. Best regards
Yours, Linus Walleij _______________________________________________ linux-rpi-kernel mailing list linux-rpi-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rpi-kernel