[PATCH V2] pinctrl: bcm2835: Make pin freeing behavior configurable

Andy Shevchenko andy.shevchenko at gmail.com
Mon May 6 13:31:07 PDT 2024


Fri, May 03, 2024 at 08:27:45AM +0200, Stefan Wahren kirjoitti:
> Until now after a bcm2835 pin was freed its pinmux was set to GPIO_IN.
> So in case it was configured as GPIO_OUT before the configured output
> level also get lost. As long as GPIO sysfs was used this wasn't
> actually a problem because the pins and their possible output level
> were kept by sysfs.
> 
> Since more and more Raspberry Pi users start using libgpiod they are
> confused about this behavior. So make the pin freeing behavior of
> GPIO_OUT configurable via module parameter. In case
> pinctrl-bcm2835.persist_gpio_outputs is set to 1, the output level is
> kept.
> 
> This patch based on the downstream work of Phil Elwell.

...

> +static bool persist_gpio_outputs;
> +module_param(persist_gpio_outputs, bool, 0644);

Do you need 'w' attribute?

...

> +	dev_info(dev, "GPIO_OUT persistence: %s\n",
> +		 persist_gpio_outputs ? "yes" : "no");

str_yes_no() and with it can be put on a single line.

-- 
With Best Regards,
Andy Shevchenko





More information about the linux-arm-kernel mailing list