Re: [PATCH v2 0/4] gpio: Hide and obey valid_mask

From: Bartosz Golaszewski
Date: Wed Mar 05 2025 - 04:03:40 EST


On Fri, Feb 28, 2025 at 1:35 PM Matti Vaittinen
<mazziesaccount@xxxxxxxxx> wrote:
>
> GPIO controllers may have some pins which can be excluded from the GPIO
> usage on certain hardware configurations. The valid_mask member of the
> struct gpio_chip has been used to denote usable pins if some pins should
> be excluded.
>
> The GPIO request should fail for GPIOs which are masked. Under certain
> conditions this was only done when GPIO chip provided the 'request'
> callback. We fix this to be always done.
>
> The valid_mask member of the gpio_chip should no longer be directly
> populated by the drivers but GPIO core does this (unconditionally,
> overwriting any mask set directly by the drivers). Drivers are intended
> to populate the valid_mask using the init_valid_mask -callback.
>
> This series enforces using the init_valid_mask by hiding the valid_mask
> in structure which is internal to the GPIO core. A single in-tree driver
> was found to access the valid_mask directly. This series also removes
> those direct accesses as has been discussed [1]. Additionally, we
> introduce a getter-function which can be used to obtain the valid_mask.
>
> [1]: https://lore.kernel.org/all/TY3PR01MB11346EC54C8672C4D28F931F686CC2@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
>

Hey! This no longer applies to my gpio/for-next branch, would you mind
rebasing and resending?

Bart