Re: [PATCH 2/2] PCI: of: Attach created of_node to existing device

From: Greg Kroah-Hartman
Date: Thu Nov 30 2023 - 11:19:59 EST


On Thu, Nov 30, 2023 at 04:24:04PM +0100, Herve Codina wrote:
> The commit 407d1a51921e ("PCI: Create device tree node for bridge")
> creates of_node for PCI devices.
> During the insertion handling of these new DT nodes done by of_platform,
> new devices (struct device) are created.
> For each PCI devices a struct device is already present (created and
> handled by the PCI core).
> Having a second struct device to represent the exact same PCI device is
> not correct.
>
> On the of_node creation, tell the of_platform that there is no need to
> create a device for this node (OF_POPULATED flag), link this newly
> created of_node to the already present device and tell fwnode that the
> device attached to this of_node is ready (fwnode_dev_initialized()).
>
> With this fix, the of_node are available in the sysfs device tree:
> /sys/devices/platform/soc/d0070000.pcie/
> + of_node -> .../devicetree/base/soc/pcie@d0070000
> + pci0000:00
> + 0000:00:00.0
> + of_node -> .../devicetree/base/soc/pcie@d0070000/pci@0,0
> + 0000:01:00.0
> + of_node -> .../devicetree/base/soc/pcie@d0070000/pci@0,0/dev@0,0
>
> On the of_node removal, revert the operations.
>
> Fixes: 407d1a51921e ("PCI: Create device tree node for bridge")
> Cc: stable@xxxxxxxxxxxxxxx

How can this be cc: stable when the api it relies on is not?

confused,

greg k-h