Re: [PATCH 0/2] irq-meson-gpio: make it possible to build as a module
From: Kevin Hilman <khilman@baylibre.com>
Date: 2020-10-26 17:28:28
Also in:
linux-amlogic, lkml
Marc Zyngier [off-list ref] writes:
On 2020-10-26 16:18, Kevin Hilman wrote:quoted
Marc Zyngier [off-list ref] writes:quoted
On Tue, 20 Oct 2020 08:25:30 +0100, Neil Armstrong [off-list ref] wrote:quoted
In order to reduce the kernel Image size on multi-platform distributions, make it possible to build the Amlogic GPIO IRQ controller as a module by switching it to a platform driver. The second patch removes MESON_IRQ_GPIO selection from ARCH_MESON to allow building the driver as module. Neil Armstrong (2): irqchip: irq-meson-gpio: make it possible to build as a module arm64: meson: remove MESON_IRQ_GPIO selection arch/arm64/Kconfig.platforms | 1 - drivers/irqchip/Kconfig | 5 +- drivers/irqchip/irq-meson-gpio.c | 89 ++++++++++++++++++++------------ 3 files changed, 59 insertions(+), 36 deletions(-)I've tried this series on my vim3l with the this driver compiled as a module, and lost the Ethernet interface in the process, as the phy wasn't able to resolve its interrupt and things fail later on: [ 72.238291] meson8b-dwmac ff3f0000.ethernet eth1: no phy at addr -1 [ 72.238917] meson8b-dwmac ff3f0000.ethernet eth1: stmmac_open: Cannot attach to PHY (error: -19) This is a generic problem with making DT-based interrupt controllers modular when not *all* the drivers can deal with probing deferral.Yes, but this series still keeps the default as built-in. If you build as a module, and you add `fw_devlink=on` to the kernel command-line, device-links will be created based on DT dependencies which will ensure the right module load order.It doesn't work here. I get the exact same error (well, with eth0 instead of eth1). In my experience, fw_devlink isn't reliable yet. Config on request.
Other than CONFIG_MESON_IRQ_GPIO=m, are you using default upstream defconfig? I just double-checked with this series on top of v5.10-rc1, and I have eth0 working with interrupts without needing fw_devlink=on. With the default upstream defconfig all the networking for these devices is already configured as modules. Kevin _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel