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

Greg Kroah-Hartman
2024-04-11T13:23:58Z

On Mon, Mar 25, 2024 at 04:39:15PM +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,
> - tell fwnode that the device attached to this of_node is ready using
> 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@vger.kernel.org
> Signed-off-by: Herve Codina <herve.codina@bootlin.com>

I need an ack from the maintainer here before I can take this.

thanks,

greg k-h