On Mon, Mar 15, 2021 at 5:05 PM Marek Vasut <marex@xxxxxxx> wrote: > > On 3/15/21 2:52 PM, gregkh@xxxxxxxxxxxxxxxxxxx wrote: > > From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > > > From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > > > > commit b41ba2ec54a70908067034f139aa23d0dd2985ce upstream. > > > > On STM32MP1, the GPIO banks are subnodes of pin-controller@50002000, > > see arch/arm/boot/dts/stm32mp151.dtsi. The driver for > > pin-controller@50002000 is in drivers/pinctrl/stm32/pinctrl-stm32.c > > and iterates over all of its DT subnodes when registering each GPIO > > bank gpiochip. Each gpiochip has: > > > > - gpio_chip.parent = dev, > > where dev is the device node of the pin controller > > - gpio_chip.of_node = np, > > which is the OF node of the GPIO bank > > > > Therefore, dev_fwnode(chip->parent) != of_fwnode_handle(chip.of_node), > > i.e. pin-controller@50002000 != pin-controller@50002000/gpio@5000*000. > > > > The original code behaved correctly, as it extracted the "gpio-line-names" > > from of_fwnode_handle(chip.of_node) = pin-controller@50002000/gpio@5000*000. > > > > To achieve the same behaviour, read property from the firmware node. > > There seem to be some discussion going on around this patch, so please > postpone backporting until that is settled. Same for v5.11 backport. I > hope Andy/Bartosz agrees ? No need to postpone. The fix will be somewhere else, though inside gpiolib.c. -- With Best Regards, Andy Shevchenko