Re: [PATCH 5.10 081/290] gpiolib: Read "gpio-line-names" from a firmware node

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 ?



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux