Hi Andy, On Mon, 7 Apr 2025 18:36:28 +0300 Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > On Mon, Apr 07, 2025 at 04:55:40PM +0200, Herve Codina wrote: > > PCI drivers can use a device-tree overlay to describe the hardware > > available on the PCI board. This is the case, for instance, of the > > LAN966x PCI device driver. > > > > Adding some more nodes in the device-tree overlay adds some more > > consumer/supplier relationship between devices instantiated from this > > overlay. > > > > Those fw_node consumer/supplier relationships are handled by fw_devlink > > and are created based on the device-tree parsing done by the > > of_fwnode_add_links() function. > > > > Those consumer/supplier links are needed in order to ensure a correct PM > > runtime management and a correct removal order between devices. > > > > For instance, without those links a supplier can be removed before its > > consumers is removed leading to all kind of issue if this consumer still > > want the use the already removed supplier. > > > > The support for the usage of an overlay from a PCI driver has been added > > on x86 systems in commit 1f340724419ed ("PCI: of: Create device tree PCI > > host bridge node"). > > > > In the past, support for fw_devlink on x86 had been tried but this > > support has been removed in commit 4a48b66b3f52 ("of: property: Disable > > fw_devlink DT support for X86"). Indeed, this support was breaking some > > x86 systems such as OLPC system and the regression was reported in [0]. > > > > Instead of disabling this support for all x86 system, use a finer grain > > and disable this support only for the possible problematic subset of x86 > > > system mixing ACPI and device-tree at boot time (i.e. OLPC and CE4100). > > This is incorrect, they never had ACPI to begin with. Also there is third > platform that are using DT on x86 core — SpreadTrum based phones. I will rework the commit log to avoid 'mixing ACPI and device-tree' For "SpreadTrum based phones", do you have an idea about the Kconfig symbol I could use to filter our this x86 systems? Anything I find upstream related to SpreadTrum seems base on ARM cpus. I probably miss something. > > And not sure about AMD stuff (Geode?). Same here, if some AMD devices need to be filtered out, is there a specific Kconfig symbol I can use ? > > > [0] https://lore.kernel.org/lkml/3c1f2473-92ad-bfc4-258e-a5a08ad73dd0@xxxxxx/ > > Can you make this to be a Link tag? > > Link: https://lore.kernel.org/lkml/3c1f2473-92ad-bfc4-258e-a5a08ad73dd0@xxxxxx/ [0] > Yes, of course, I will do that in the next iteration. Best regards, Hervé -- Hervé Codina, Bootlin Embedded Linux and Kernel engineering https://bootlin.com