[PATCH 0/2] irq-meson-gpio: make it possible to build as a module

Kevin Hilman khilman at baylibre.com
Mon Oct 26 12:18:21 EDT 2020


Marc Zyngier <maz at kernel.org> writes:

> On Tue, 20 Oct 2020 08:25:30 +0100,
> Neil Armstrong <narmstrong at baylibre.com> 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











More information about the linux-arm-kernel mailing list