On Fri, Feb 28, 2025 at 1:36 PM Matti Vaittinen <mazziesaccount@xxxxxxxxx> wrote: > The valid_mask member of the struct gpio_chip is unconditionally written > by the GPIO core at driver registration. Current documentation does not > mention this but just says the valid_mask is used if it's not NULL. This > lured me to try populating it directly in the GPIO driver probe instead > of using the init_valid_mask() callback. It took some retries with > different bitmaps and eventually a bit of code-reading to understand why > the valid_mask was not obeyed. I could've avoided this trial and error if > the valid_mask was hidden in the struct gpio_device instead of being a > visible member of the struct gpio_chip. > > Help the next developer who decides to directly populate the valid_mask > in struct gpio_chip by hiding the valid_mask in struct gpio_device and > keep it internal to the GPIO core. > > Suggested-by: Linus Walleij <linus.walleij@xxxxxxxxxx> > Signed-off-by: Matti Vaittinen <mazziesaccount@xxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Yours, Linus Walleij