Re: [PATCH v2 2/2] of: property: Add fw_devlink support for interrupts
From: Marek Szyprowski <m.szyprowski@samsung.com>
Date: 2021-02-05 07:39:39
Also in:
linux-devicetree, lkml
Hi Saravana, On 04.02.2021 22:31, Saravana Kannan wrote:
On Thu, Feb 4, 2021 at 3:52 AM Marek Szyprowski [off-list ref] wrote:quoted
On 21.01.2021 23:57, Saravana Kannan wrote:quoted
This allows fw_devlink to create device links between consumers of an interrupt and the supplier of the interrupt. Cc: Marc Zyngier <maz@kernel.org> Cc: Kevin Hilman <khilman@baylibre.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Thierry Reding <redacted> Reviewed-by: Linus Walleij <redacted> Signed-off-by: Saravana Kannan <redacted>This patch landed some time ago in linux-next as commit 4104ca776ba3 ("of: property: Add fw_devlink support for interrupts"). It breaks MMC host controller operation on ARM Juno R1 board (the mmci@50000 device defined in arch/arm64/boot/dts/arm/juno-motherboard.dtsi). I didn'tI grepped around and it looks like the final board file is this or whatever includes it? arch/arm64/boot/dts/arm/juno-base.dtsi
The final board file is arch/arm64/boot/dts/arm/juno-r1.dts
This patch just finds the interrupt-parent and then tries to use that
as a supplier if "interrupts" property is listed. But the only
interrupt parent I can see is:
gic: interrupt-controller@2c010000 {
compatible = "arm,gic-400", "arm,cortex-a15-gic";
And the driver uses IRQCHIP_DECLARE() and hence should be pretty much
a NOP since those suppliers are never devices and are ignored.
$ git grep "arm,gic-400" -- drivers/
drivers/irqchip/irq-gic.c:IRQCHIP_DECLARE(gic_400, "arm,gic-400", gic_of_init);
This doesn't make any sense. Am I looking at the right files? Am I
missing something?Okay, I've added displaying a list of deferred devices when mounting rootfs fails and got following items: Deferred devices: 18000000.ethernet platform: probe deferral - supplier bus@8000000:motherboard-bus not ready 1c050000.mmci amba: probe deferral - supplier bus@8000000:motherboard-bus not ready 1c1d0000.gpio amba: probe deferral - supplier bus@8000000:motherboard-bus not ready 2b600000.iommu platform: probe deferral - wait for supplier scpi-power-domains 7ff50000.hdlcd platform: probe deferral - wait for supplier scpi-clk 7ff60000.hdlcd platform: probe deferral - wait for supplier scpi-clk 1c060000.kmi amba: probe deferral - supplier bus@8000000:motherboard-bus not ready 1c070000.kmi amba: probe deferral - supplier bus@8000000:motherboard-bus not ready 1c170000.rtc amba: probe deferral - supplier bus@8000000:motherboard-bus not ready 1c0f0000.wdt amba: probe deferral - supplier bus@8000000:motherboard-bus not ready gpio-keys Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) I don't see the 'bus@8000000:motherboard-bus' on the deferred devices list, so it looks that device core added a link to something that is not a platform device... Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland