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