mbox series

[v3,0/2] Attach DT nodes to existing PCI devices

Message ID 20240325153919.199337-1-herve.codina@bootlin.com (mailing list archive)
Headers show
Series Attach DT nodes to existing PCI devices | expand

Message

Herve Codina March 25, 2024, 3:39 p.m. UTC
Hi,

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).

Creating a new device from a DT node leads to some kind of wrong struct
device duplication to represent the exact same PCI device.

This patch series first introduces device_{add,remove}_of_node() in
order to add or remove a newly created of_node to an already existing
device. Then it fixes the DT node creation for PCI devices to add or
remove the created node to the existing PCI device without any new
device creation.

Compared to the previous iteration:
  https://lore.kernel.org/all/20231130165700.685764-1-herve.codina@bootlin.com/
this v3 series rewrap commit log.

The potential issue related to the sysfs of_node symlink added after the
sysfs PCI device is visible from user-space (raised during the v2
review) is maybe not a problem according to Bjorn:
  https://lore.kernel.org/all/20240319165430.GA1233494@bhelgaas/

IMHO, the discussions started with Rob around the interrupt-controller
during the v2 review are out of the issue this specific series tries to
fix. Some modifications are needed for the interrupt-controller topic
but should be done in a specific series.

Best regards,
Hervé

Changes v2 -> v3
  - Patch 1
    No changes

  - Patch 2
    Rewrap commit log

Changes v1 -> v2
  - Patch 1
    Add 'Cc: stable@vger.kernel.org'

Herve Codina (2):
  driver core: Introduce device_{add,remove}_of_node()
  PCI: of: Attach created of_node to existing device

 drivers/base/core.c    | 74 ++++++++++++++++++++++++++++++++++++++++++
 drivers/pci/of.c       | 15 +++++++--
 include/linux/device.h |  2 ++
 3 files changed, 89 insertions(+), 2 deletions(-)

Comments

Herve Codina April 8, 2024, 12:43 p.m. UTC | #1
Hi,

On Mon, 25 Mar 2024 16:39:13 +0100
Herve Codina <herve.codina@bootlin.com> wrote:

> Hi,
> 
> 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).
> 
> Creating a new device from a DT node leads to some kind of wrong struct
> device duplication to represent the exact same PCI device.
> 
> This patch series first introduces device_{add,remove}_of_node() in
> order to add or remove a newly created of_node to an already existing
> device. Then it fixes the DT node creation for PCI devices to add or
> remove the created node to the existing PCI device without any new
> device creation.
> 
> Compared to the previous iteration:
>   https://lore.kernel.org/all/20231130165700.685764-1-herve.codina@bootlin.com/
> this v3 series rewrap commit log.
> 
> The potential issue related to the sysfs of_node symlink added after the
> sysfs PCI device is visible from user-space (raised during the v2
> review) is maybe not a problem according to Bjorn:
>   https://lore.kernel.org/all/20240319165430.GA1233494@bhelgaas/
> 
> IMHO, the discussions started with Rob around the interrupt-controller
> during the v2 review are out of the issue this specific series tries to
> fix. Some modifications are needed for the interrupt-controller topic
> but should be done in a specific series.
> 
> Best regards,
> Hervé
> 

I have received no feedback on this v3 series.
I know maintainers are busy but I would like to be sure that this series was
not simply missed.

Best regards,
Hervé