On Wed, 20 Nov 2024 15:31:16 -0800, Samuel Holland wrote: > commit 7f00be96f125 ("of: property: Add device link support for > interrupt-parent, dmas and -gpio(s)") started adding device links for > the interrupt-parent property. commit 4104ca776ba3 ("of: property: Add > fw_devlink support for interrupts") and commit f265f06af194 ("of: > property: Fix fw_devlink handling of interrupts/interrupts-extended") > later added full support for parsing the interrupts and > interrupts-extended properties, which includes looking up the node of > the parent domain. This made the handler for the interrupt-parent > property redundant. > > In fact, creating device links based solely on interrupt-parent is > problematic, because it can create spurious cycles. A node may have > this property without itself being an interrupt controller or consumer. > For example, this property is often present in the root node or a /soc > bus node to set the default interrupt parent for child nodes. However, > it is incorrect for the bus to depend on the interrupt controller, as > some of the bus's children may not be interrupt consumers at all or may > have a different interrupt parent. > > Resolving these spurious dependency cycles can cause an incorrect probe > order for interrupt controller drivers. This was observed on a RISC-V > system with both an APLIC and IMSIC under /soc, where interrupt-parent > in /soc points to the APLIC, and the APLIC msi-parent points to the > IMSIC. fw_devlink found three dependency cycles and attempted to probe > the APLIC before the IMSIC. After applying this patch, there were no > dependency cycles and the probe order was correct. > > Acked-by: Marc Zyngier <maz@xxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Fixes: 4104ca776ba3 ("of: property: Add fw_devlink support for interrupts") > Signed-off-by: Samuel Holland <samuel.holland@xxxxxxxxxx> > --- > > Changes in v2: > - Fix typo in commit message > - Add Fixes: tag and CC stable > > drivers/of/property.c | 2 -- > 1 file changed, 2 deletions(-) > Applied, thanks!