[PATCH] pinctrl: meson: amlogic-a4: mark the GPIO controller as sleeping

Xianwei Zhao xianwei.zhao at amlogic.com
Tue Jan 6 01:32:46 PST 2026


Hi Bartosz,
    Could you explain the reproduction method for this problem ?

On 2026/1/6 16:55, Neil Armstrong wrote:
> The GPIO controller is configured as non-sleeping but it uses generic
> pinctrl helpers which use a mutex for synchronization. This will cause
> lockdep splats when used together with shared GPIOs going through the
> GPIO shared proxy driver.
> 
> Fixes: 6e9be3abb78c ("pinctrl: Add driver support for Amlogic SoCs")
> Cc: stable at vger.kernel.org
> Reported-by: Martin Blumenstingl <martin.blumenstingl at googlemail.com>
> Closes: 
> https://lore.kernel.org/all/CAFBinCAc7CO8gfNQakCu3LfkYXuyTd2iRpMRm8EKXSL0mwOnJw@mail.gmail.com/
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski at oss.qualcomm.com>
> ---
>    drivers/pinctrl/meson/pinctrl-amlogic-a4.c | 2 +-
>    1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/pinctrl/meson/pinctrl-amlogic-a4.c 
> b/drivers/pinctrl/meson/pinctrl-amlogic-a4.c
> index d9e3a8d5932a..ded7b218e2ec 100644
> --- a/drivers/pinctrl/meson/pinctrl-amlogic-a4.c
> +++ b/drivers/pinctrl/meson/pinctrl-amlogic-a4.c
> @@ -893,7 +893,7 @@ static const struct gpio_chip aml_gpio_template = {
>        .direction_input        = aml_gpio_direction_input,
>        .direction_output       = aml_gpio_direction_output,
>        .get_direction          = aml_gpio_get_direction,
> -     .can_sleep              = false,
> +     .can_sleep              = true,
>    };
> 
>    static void init_bank_register_bit(struct aml_pinctrl *info,



More information about the linux-amlogic mailing list