[PATCH] pinctrl/rockchip: fix gpio device creation

Linus Walleij linus.walleij at linaro.org
Wed Dec 1 17:25:27 PST 2021


On Fri, Nov 26, 2021 at 4:14 PM John Keeping <john at metanate.com> wrote:

> GPIO nodes are not themselves busses, so passing rockchip_bank_match
> here is wrong.  Passing NULL instead uses the standard bus match table
> which is more appropriate.
>
> devm_of_platform_populate() shows that this is the normal way to call
> of_platform_populate() from a device driver, so in order to match that
> more closely also add the pinctrl device as the parent for the newly
> created GPIO controllers.
>
> Specifically, using the wrong match here can break dynamic GPIO hogs as
> marking the GPIO bank as a bus means that of_platform_notify() will set
> OF_POPULATED on new child nodes and if this happens before
> of_gpio_notify() is called then the new hog will be skipped as
> OF_POPULATED is already set.
>
> Fixes: 9ce9a02039de ("pinctrl/rockchip: drop the gpio related codes")
> Signed-off-by: John Keeping <john at metanate.com>

Patch applied.

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list