All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman@baylibre.com>
To: Marc Zyngier <maz@kernel.org>
Cc: linux-amlogic@lists.infradead.org, jbrunet@baylibre.com,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Neil Armstrong <narmstrong@baylibre.com>
Subject: Re: [PATCH 0/2] irq-meson-gpio: make it possible to build as a module
Date: Mon, 26 Oct 2020 16:45:53 -0700	[thread overview]
Message-ID: <7hblgoft5a.fsf@baylibre.com> (raw)
In-Reply-To: <b0780e423d5fa527835ba55c64dba473@kernel.org>

Marc Zyngier <maz@kernel.org> writes:

> On 2020-10-26 16:18, Kevin Hilman wrote:
>> Marc Zyngier <maz@kernel.org> writes:
>> 
>>> On Tue, 20 Oct 2020 08:25:30 +0100,
>>> Neil Armstrong <narmstrong@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.
>
> 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.
>
>> 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.
>
> I have taken similar patches in 5.9 for other SoC families (qcomm, mtk),
> and ended up reverting them in -rc2, because there is simply too much
> breakage. Even keeping it as built in changes the init order, which
> tons of drivers depend on. I proposed a middle-of-the-road approach
> (modules can break, built-in stays the same) which Rob pushed back on.
>
> So either we fix fw_devlink to work for everything and be on by default,
> or we keep the current setup.
>
>> 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.
>
> I understand that, but I don't want another episode of widespread
> breakages, and this series definitely breaks things.

Yeah, I understand there's potential breakage things if you enable build
as a module, but that's not the default with this series so one would
have to do that on purpose.

If you don't manually enable as a module and leave the default as
built-in (e.g. CONFIG_MESON_IRQ_GPIO=y) does it work for you?  Using
your .config, I used the default to built-in and this series booted fine
for me on top of v5.10-rc1 on my VIM3L.

Using your .config, I do see issues with this driver when explicity
enabling as a module, and I'll debug those, but again, leaving it as
built-in, it's working fine for me with your .config.

I understand that even building as a built-in might change link order,
but I'd be pretty surprised if just changing from OF_DECLARE to a
built-in module made things break.

If so, I can commit to helping find/fix any issues there.

For that matter, I'm actively working on making all amlogic drivers
modular (including clocks, pinctrl, reset, etc.) and I have it all
working locally several SoCs, so I will also commit to actively help
find/fix any issues this uncovers with ordering.

My goal is to enable the *option* of building everything as modules (but
leave them as built-in by default) so I can help debug any remaining
fw_devlink issues.

Kevin


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

WARNING: multiple messages have this Message-ID (diff)
From: Kevin Hilman <khilman@baylibre.com>
To: Marc Zyngier <maz@kernel.org>
Cc: linux-amlogic@lists.infradead.org, jbrunet@baylibre.com,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Neil Armstrong <narmstrong@baylibre.com>
Subject: Re: [PATCH 0/2] irq-meson-gpio: make it possible to build as a module
Date: Mon, 26 Oct 2020 16:45:53 -0700	[thread overview]
Message-ID: <7hblgoft5a.fsf@baylibre.com> (raw)
In-Reply-To: <b0780e423d5fa527835ba55c64dba473@kernel.org>

Marc Zyngier <maz@kernel.org> writes:

> On 2020-10-26 16:18, Kevin Hilman wrote:
>> Marc Zyngier <maz@kernel.org> writes:
>> 
>>> On Tue, 20 Oct 2020 08:25:30 +0100,
>>> Neil Armstrong <narmstrong@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.
>
> 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.
>
>> 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.
>
> I have taken similar patches in 5.9 for other SoC families (qcomm, mtk),
> and ended up reverting them in -rc2, because there is simply too much
> breakage. Even keeping it as built in changes the init order, which
> tons of drivers depend on. I proposed a middle-of-the-road approach
> (modules can break, built-in stays the same) which Rob pushed back on.
>
> So either we fix fw_devlink to work for everything and be on by default,
> or we keep the current setup.
>
>> 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.
>
> I understand that, but I don't want another episode of widespread
> breakages, and this series definitely breaks things.

Yeah, I understand there's potential breakage things if you enable build
as a module, but that's not the default with this series so one would
have to do that on purpose.

If you don't manually enable as a module and leave the default as
built-in (e.g. CONFIG_MESON_IRQ_GPIO=y) does it work for you?  Using
your .config, I used the default to built-in and this series booted fine
for me on top of v5.10-rc1 on my VIM3L.

Using your .config, I do see issues with this driver when explicity
enabling as a module, and I'll debug those, but again, leaving it as
built-in, it's working fine for me with your .config.

I understand that even building as a built-in might change link order,
but I'd be pretty surprised if just changing from OF_DECLARE to a
built-in module made things break.

If so, I can commit to helping find/fix any issues there.

For that matter, I'm actively working on making all amlogic drivers
modular (including clocks, pinctrl, reset, etc.) and I have it all
working locally several SoCs, so I will also commit to actively help
find/fix any issues this uncovers with ordering.

My goal is to enable the *option* of building everything as modules (but
leave them as built-in by default) so I can help debug any remaining
fw_devlink issues.

Kevin


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Kevin Hilman <khilman@baylibre.com>
To: Marc Zyngier <maz@kernel.org>
Cc: Neil Armstrong <narmstrong@baylibre.com>,
	jbrunet@baylibre.com, linux-amlogic@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/2] irq-meson-gpio: make it possible to build as a module
Date: Mon, 26 Oct 2020 16:45:53 -0700	[thread overview]
Message-ID: <7hblgoft5a.fsf@baylibre.com> (raw)
In-Reply-To: <b0780e423d5fa527835ba55c64dba473@kernel.org>

Marc Zyngier <maz@kernel.org> writes:

> On 2020-10-26 16:18, Kevin Hilman wrote:
>> Marc Zyngier <maz@kernel.org> writes:
>> 
>>> On Tue, 20 Oct 2020 08:25:30 +0100,
>>> Neil Armstrong <narmstrong@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.
>
> 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.
>
>> 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.
>
> I have taken similar patches in 5.9 for other SoC families (qcomm, mtk),
> and ended up reverting them in -rc2, because there is simply too much
> breakage. Even keeping it as built in changes the init order, which
> tons of drivers depend on. I proposed a middle-of-the-road approach
> (modules can break, built-in stays the same) which Rob pushed back on.
>
> So either we fix fw_devlink to work for everything and be on by default,
> or we keep the current setup.
>
>> 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.
>
> I understand that, but I don't want another episode of widespread
> breakages, and this series definitely breaks things.

Yeah, I understand there's potential breakage things if you enable build
as a module, but that's not the default with this series so one would
have to do that on purpose.

If you don't manually enable as a module and leave the default as
built-in (e.g. CONFIG_MESON_IRQ_GPIO=y) does it work for you?  Using
your .config, I used the default to built-in and this series booted fine
for me on top of v5.10-rc1 on my VIM3L.

Using your .config, I do see issues with this driver when explicity
enabling as a module, and I'll debug those, but again, leaving it as
built-in, it's working fine for me with your .config.

I understand that even building as a built-in might change link order,
but I'd be pretty surprised if just changing from OF_DECLARE to a
built-in module made things break.

If so, I can commit to helping find/fix any issues there.

For that matter, I'm actively working on making all amlogic drivers
modular (including clocks, pinctrl, reset, etc.) and I have it all
working locally several SoCs, so I will also commit to actively help
find/fix any issues this uncovers with ordering.

My goal is to enable the *option* of building everything as modules (but
leave them as built-in by default) so I can help debug any remaining
fw_devlink issues.

Kevin


  parent reply	other threads:[~2020-10-26 23:46 UTC|newest]

Thread overview: 114+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-20  7:25 [PATCH 0/2] irq-meson-gpio: make it possible to build as a module Neil Armstrong
2020-10-20  7:25 ` Neil Armstrong
2020-10-20  7:25 ` Neil Armstrong
2020-10-20  7:25 ` [PATCH 1/2] irqchip: " Neil Armstrong
2020-10-20  7:25   ` Neil Armstrong
2020-10-20  7:25   ` Neil Armstrong
2020-10-20 18:23   ` Kevin Hilman
2020-10-20 18:23     ` Kevin Hilman
2020-10-20 18:23     ` Kevin Hilman
     [not found]     ` <CAF2Aj3g6c8FEZb3e1by6sd8LpKLaeN5hsKrrQkZUvh8hosiW9A@mail.gmail.com>
2021-05-24 10:11       ` Marc Zyngier
2021-05-24 10:11         ` Marc Zyngier
2021-05-24 10:11         ` Marc Zyngier
2021-05-25 16:17         ` Kevin Hilman
2021-05-25 16:17           ` Kevin Hilman
2021-05-25 16:17           ` Kevin Hilman
2021-05-25 16:30           ` Lee Jones
2021-05-25 16:30             ` Lee Jones
2021-05-25 16:30             ` Lee Jones
2021-06-14 22:30         ` Kevin Hilman
2021-06-14 22:30           ` Kevin Hilman
2021-06-14 22:30           ` Kevin Hilman
2021-07-13  9:05           ` Lee Jones
2021-07-13  9:05             ` Lee Jones
2021-07-13  9:05             ` Lee Jones
2021-08-03  9:44           ` Marc Zyngier
2021-08-03  9:44             ` Marc Zyngier
2021-08-03  9:44             ` Marc Zyngier
2021-08-03  9:51             ` Marc Zyngier
2021-08-03  9:51               ` Marc Zyngier
2021-08-03  9:51               ` Marc Zyngier
2021-08-04  2:11               ` Saravana Kannan
2021-08-04  2:11                 ` Saravana Kannan
2021-08-04  2:11                 ` Saravana Kannan
2021-08-03  9:51             ` Neil Armstrong
2021-08-03  9:51               ` Neil Armstrong
2021-08-03  9:51               ` Neil Armstrong
2021-08-04  1:36             ` Saravana Kannan
2021-08-04  1:36               ` Saravana Kannan
2021-08-04  1:36               ` Saravana Kannan
2021-08-04  8:50               ` Marc Zyngier
2021-08-04  8:50                 ` Marc Zyngier
2021-08-04  8:50                 ` Marc Zyngier
2021-08-04 18:20                 ` Saravana Kannan
2021-08-04 18:20                   ` Saravana Kannan
2021-08-04 18:20                   ` Saravana Kannan
2021-08-04 21:47                   ` Saravana Kannan
2021-08-04 21:47                     ` Saravana Kannan
2021-08-04 21:47                     ` Saravana Kannan
2021-08-05  6:31                     ` Neil Armstrong
2021-08-05  6:31                       ` Neil Armstrong
2021-08-05  6:31                       ` Neil Armstrong
2021-08-06 23:55                       ` Saravana Kannan
2021-08-06 23:55                         ` Saravana Kannan
2021-08-06 23:55                         ` Saravana Kannan
2021-08-05  7:57                     ` Lee Jones
2021-08-05  7:57                       ` Lee Jones
2021-08-05  7:57                       ` Lee Jones
2021-08-16 12:47                       ` Lee Jones
2021-08-16 12:47                         ` Lee Jones
2021-08-16 12:47                         ` Lee Jones
2021-08-16 20:27                         ` Saravana Kannan
2021-08-16 20:27                           ` Saravana Kannan
2021-08-16 20:27                           ` Saravana Kannan
2021-08-16 20:46                           ` Andrew Lunn
2021-08-16 20:46                             ` Andrew Lunn
2021-08-16 20:46                             ` Andrew Lunn
2021-08-16 21:02                             ` Saravana Kannan
2021-08-16 21:02                               ` Saravana Kannan
2021-08-16 21:02                               ` Saravana Kannan
2021-08-16 21:18                               ` Andrew Lunn
2021-08-16 21:18                                 ` Andrew Lunn
2021-08-16 21:18                                 ` Andrew Lunn
2021-08-17  7:24                           ` Lee Jones
2021-08-17  7:24                             ` Lee Jones
2021-08-17  7:24                             ` Lee Jones
2021-08-17 18:12                             ` Saravana Kannan
2021-08-17 18:12                               ` Saravana Kannan
2021-08-17 18:12                               ` Saravana Kannan
2021-08-18 11:19                               ` Marc Zyngier
2021-08-18 11:19                                 ` Marc Zyngier
2021-08-18 11:19                                 ` Marc Zyngier
2021-09-02  9:28                                 ` Neil Armstrong
2021-09-02  9:28                                   ` Neil Armstrong
2021-09-02  9:28                                   ` Neil Armstrong
2020-10-20  7:25 ` [PATCH 2/2] arm64: meson: remove MESON_IRQ_GPIO selection Neil Armstrong
2020-10-20  7:25   ` Neil Armstrong
2020-10-20  7:25   ` Neil Armstrong
2020-10-20 23:18   ` Kevin Hilman
2020-10-20 23:18     ` Kevin Hilman
2020-10-20 23:18     ` Kevin Hilman
2020-10-25 11:51 ` [PATCH 0/2] irq-meson-gpio: make it possible to build as a module Marc Zyngier
2020-10-25 11:51   ` Marc Zyngier
2020-10-25 11:51   ` Marc Zyngier
2020-10-26 16:18   ` Kevin Hilman
2020-10-26 16:18     ` Kevin Hilman
2020-10-26 16:18     ` Kevin Hilman
2020-10-26 17:00     ` Marc Zyngier
2020-10-26 17:00       ` Marc Zyngier
2020-10-26 17:00       ` Marc Zyngier
2020-10-26 17:28       ` Kevin Hilman
2020-10-26 17:28         ` Kevin Hilman
2020-10-26 17:28         ` Kevin Hilman
2020-10-26 17:33         ` Kevin Hilman
2020-10-26 17:33           ` Kevin Hilman
2020-10-26 17:33           ` Kevin Hilman
2020-10-26 18:30         ` Marc Zyngier
2020-10-26 18:30           ` Marc Zyngier
2020-10-26 18:30           ` Marc Zyngier
2020-10-26 23:45       ` Kevin Hilman [this message]
2020-10-26 23:45         ` Kevin Hilman
2020-10-26 23:45         ` Kevin Hilman
  -- strict thread matches above, loose matches on Subject: below --
2021-09-02 13:49 Neil Armstrong
2021-09-02 13:49 ` Neil Armstrong
2021-09-02 13:49 ` Neil Armstrong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7hblgoft5a.fsf@baylibre.com \
    --to=khilman@baylibre.com \
    --cc=jbrunet@baylibre.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maz@kernel.org \
    --cc=narmstrong@baylibre.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.