On Wed, Sep 14, 2022 at 2:21 PM Prathamesh Shete <pshete@xxxxxxxxxx> wrote: > This change checks if we have the necessary permission to > access the GPIO. For devices that have support for virtualisation > we need to check both the TEGRA186_GPIO_VM_REG and the > TEGRA186_GPIO_SCR_REG registers. For device that do not have > virtualisation support for GPIOs we only need to check the > TEGRA186_GPIO_SCR_REG register. > > Signed-off-by: Manish Bhardwaj <mbhardwaj@xxxxxxxxxx> > Signed-off-by: Prathamesh Shete <pshete@xxxxxxxxxx> Instead of doing this check in each and every single gpio callback, set up the .init_valid_mask on struct gpio_chip, add a for-loop looping over all GPIOs and fill in the .valid_mask. This way the gpiolib core will do the check for you. git grep init_valid_mask for a bunch of examples on how to use this. Oh I see Thierry already said the same while I was typing :) Yours, Linus Walleij