Re: [PATCH 0/2] irq-meson-gpio: make it possible to build as a module
From: Kevin Hilman
Date: Mon Oct 26 2020 - 12:18:29 EST
Marc Zyngier <maz@xxxxxxxxxx> writes:
> On Tue, 20 Oct 2020 08:25:30 +0100,
> Neil Armstrong <narmstrong@xxxxxxxxxxxx> wrote:
>>
>> 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.
I've tested this series with `fw_devlink=on` on several Amlogic
platforms and it works just fine, but since it requires the extra
cmdline option, I think the default should remain built-in.
So, I'd still like to see this series merged so that at least it's an
option to enable this as a module.
Also, another reason to make it optional is that not all platforms need
this feature at all, but right now we select it for all Amlogic SoCs.
Kevin