All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Anson Huang <anson.huang@nxp.com>,
	John Stultz <john.stultz@linaro.org>,
	Russell King <linux@armlinux.org.uk>,
	Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Sascha Hauer <kernel@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>,
	"oleksandr.suvorov@toradex.com" <oleksandr.suvorov@toradex.com>,
	Adam Ford <aford173@gmail.com>,
	Andreas Kemnade <andreas@kemnade.info>,
	"hverkuil-cisco@xs4all.nl" <hverkuil-cisco@xs4all.nl>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Leo Li <leoyang.li@nxp.com>, Vinod Koul <vkoul@kernel.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	dl-linux-imx <linux-imx@nxp.com>, Jon Corbet <corbet@lwn.net>,
	Olof Johansson <olof@lixom.net>,
	Kevin Hilman <khilman@baylibre.com>
Subject: Re: [PATCH 1/3] gpio: mxc: Support module build
Date: Fri, 17 Jul 2020 15:54:49 +0200	[thread overview]
Message-ID: <CAK8P3a3fwwx-2gQTXZ9dbko+DuLELGm=nKrYFXfwcJJOf0Xz5g@mail.gmail.com> (raw)
In-Reply-To: <20200717132101.GA2984939@kroah.com>

On Fri, Jul 17, 2020 at 3:21 PM Greg KH <gregkh@linuxfoundation.org> wrote:
> On Fri, Jul 17, 2020 at 02:27:43PM +0200, Geert Uytterhoeven wrote:
> > Hi Greg,
> >
> > On Fri, Jul 17, 2020 at 2:14 PM Greg KH <gregkh@linuxfoundation.org> wrote:
> > > Android is just finally pushing vendors to get their code upstream,
> > > which is a good thing to see.  And building things as a module is an
> > > even better thing as now it is finally allowing arm64 systems to be
> > > built to support more than one specific hardware platform at runtime.
> >
> > Can you please stop spreading this FUD?
>
> For many many SoCs today, this is not true.  Their drivers are required
> to be built in and will not work as modules, as we are seeing the
> patches try to fix.

There are two different points here:

a) having drivers as loadable modules: I think everyone agrees this
is a good thing in general. Having more of them makes smaller kernels,
which is good. arm64 is no different from arm32 and powerpc here,
and probably a bit better than x86, which requires all platform specific
core code (PC, numachip, UV, ScaleMP, ...) to be built-in.

b) supporting multiple hardware platforms at runtime: this is totally
unrelated to the platform specific drivers being loadable modules.
arm64 is a little better here than arm32 and powerpc, which need more
than one configuration to support all hardware, about the same as
x86 or s390 and much better than most others that have to chose
a machine at compile time.

> > As I said before, Arm64 kernels have supported more than one specific
> > hardware platform at runtime from the beginning of the arm64 port
> > (assumed the needed platform support has been enabled in the kernel
> >  config, of course).
> > Even most arm32 kernels support this, since the introduction of the
> > CONFIG_ARCH_MULTIPLATFORM option.  In fact every recently
> > introduced arm32 platform is usually v7, and must conform to this.
> > The sole exceptions are very old platforms, and the v4/v5/v6/v7 split
> > due to architectural issues (the latter still support clusters of
> > platforms in a single kernel).
>
> I think the confusion here is that this really does not work well, if at
> all, on most "high end" SoC chips due to the collection of different
> things all of the vendors ship to their customers.  This is the work
> that is trying to be fixed up here.
>
> And look at the driver core work for many driver subsystems to be fixed
> up just to get a single kernel image to work on multiple platforms.
> Just because older ones did it, doesn't mean it actually works today :)

Can you give a specific example? The only problem I'm aware of for
those SoCs is drivers being outside of the mainline kernel. Clearly
having support for loadable modules helps SoC vendors because it
allows them to support a new platform with an existing binary kernel
by shipping third-party driver modules, but for stuff that is already
in mainline, we could in theory support all hardware in a single gigantic
binary kernel with no support for loadable modules at all.

      Arnd

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	"oleksandr.suvorov@toradex.com" <oleksandr.suvorov@toradex.com>,
	Fabio Estevam <festevam@gmail.com>,
	Anson Huang <anson.huang@nxp.com>, Jon Corbet <corbet@lwn.net>,
	Will Deacon <will@kernel.org>, Olof Johansson <olof@lixom.net>,
	Russell King <linux@armlinux.org.uk>,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>,
	Andreas Kemnade <andreas@kemnade.info>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	dl-linux-imx <linux-imx@nxp.com>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	John Stultz <john.stultz@linaro.org>,
	Adam Ford <aford173@gmail.com>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Leo Li <leoyang.li@nxp.com>, Vinod Koul <vkoul@kernel.org>,
	Sascha Hauer <kernel@pengutronix.de>,
	Kevin Hilman <khilman@baylibre.com>,
	"hverkuil-cisco@xs4all.nl" <hverkuil-cisco@xs4all.nl>,
	Shawn Guo <shawnguo@kernel.org>
Subject: Re: [PATCH 1/3] gpio: mxc: Support module build
Date: Fri, 17 Jul 2020 15:54:49 +0200	[thread overview]
Message-ID: <CAK8P3a3fwwx-2gQTXZ9dbko+DuLELGm=nKrYFXfwcJJOf0Xz5g@mail.gmail.com> (raw)
In-Reply-To: <20200717132101.GA2984939@kroah.com>

On Fri, Jul 17, 2020 at 3:21 PM Greg KH <gregkh@linuxfoundation.org> wrote:
> On Fri, Jul 17, 2020 at 02:27:43PM +0200, Geert Uytterhoeven wrote:
> > Hi Greg,
> >
> > On Fri, Jul 17, 2020 at 2:14 PM Greg KH <gregkh@linuxfoundation.org> wrote:
> > > Android is just finally pushing vendors to get their code upstream,
> > > which is a good thing to see.  And building things as a module is an
> > > even better thing as now it is finally allowing arm64 systems to be
> > > built to support more than one specific hardware platform at runtime.
> >
> > Can you please stop spreading this FUD?
>
> For many many SoCs today, this is not true.  Their drivers are required
> to be built in and will not work as modules, as we are seeing the
> patches try to fix.

There are two different points here:

a) having drivers as loadable modules: I think everyone agrees this
is a good thing in general. Having more of them makes smaller kernels,
which is good. arm64 is no different from arm32 and powerpc here,
and probably a bit better than x86, which requires all platform specific
core code (PC, numachip, UV, ScaleMP, ...) to be built-in.

b) supporting multiple hardware platforms at runtime: this is totally
unrelated to the platform specific drivers being loadable modules.
arm64 is a little better here than arm32 and powerpc, which need more
than one configuration to support all hardware, about the same as
x86 or s390 and much better than most others that have to chose
a machine at compile time.

> > As I said before, Arm64 kernels have supported more than one specific
> > hardware platform at runtime from the beginning of the arm64 port
> > (assumed the needed platform support has been enabled in the kernel
> >  config, of course).
> > Even most arm32 kernels support this, since the introduction of the
> > CONFIG_ARCH_MULTIPLATFORM option.  In fact every recently
> > introduced arm32 platform is usually v7, and must conform to this.
> > The sole exceptions are very old platforms, and the v4/v5/v6/v7 split
> > due to architectural issues (the latter still support clusters of
> > platforms in a single kernel).
>
> I think the confusion here is that this really does not work well, if at
> all, on most "high end" SoC chips due to the collection of different
> things all of the vendors ship to their customers.  This is the work
> that is trying to be fixed up here.
>
> And look at the driver core work for many driver subsystems to be fixed
> up just to get a single kernel image to work on multiple platforms.
> Just because older ones did it, doesn't mean it actually works today :)

Can you give a specific example? The only problem I'm aware of for
those SoCs is drivers being outside of the mainline kernel. Clearly
having support for loadable modules helps SoC vendors because it
allows them to support a new platform with an existing binary kernel
by shipping third-party driver modules, but for stuff that is already
in mainline, we could in theory support all hardware in a single gigantic
binary kernel with no support for loadable modules at all.

      Arnd

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

  reply	other threads:[~2020-07-17 13:55 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-07 23:25 [PATCH 1/3] gpio: mxc: Support module build Anson Huang
2020-07-07 23:25 ` Anson Huang
2020-07-07 23:25 ` [PATCH 2/3] arm64: defconfig: Build in CONFIG_GPIO_MXC by default Anson Huang
2020-07-07 23:25   ` Anson Huang
2020-07-07 23:25 ` [PATCH 3/3] ARM: imx_v6_v7_defconfig: " Anson Huang
2020-07-07 23:25   ` Anson Huang
2020-07-10 11:16   ` Andreas Kemnade
2020-07-10 11:16     ` Andreas Kemnade
2020-07-10 13:29     ` Anson Huang
2020-07-10 13:29       ` Anson Huang
2020-07-11 21:17 ` [PATCH 1/3] gpio: mxc: Support module build Linus Walleij
2020-07-11 21:17   ` Linus Walleij
2020-07-12  1:34   ` Anson Huang
2020-07-12  1:34     ` Anson Huang
2020-07-15  2:44     ` Anson Huang
2020-07-15  2:44       ` Anson Huang
2020-07-16 13:54       ` Linus Walleij
2020-07-16 13:54         ` Linus Walleij
2020-07-16 14:37         ` Anson Huang
2020-07-16 14:37           ` Anson Huang
2020-07-17 12:01           ` Linus Walleij
2020-07-17 12:01             ` Linus Walleij
2020-07-17 12:14             ` Greg KH
2020-07-17 12:14               ` Greg KH
2020-07-17 12:27               ` Geert Uytterhoeven
2020-07-17 12:27                 ` Geert Uytterhoeven
2020-07-17 13:21                 ` Greg KH
2020-07-17 13:21                   ` Greg KH
2020-07-17 13:54                   ` Arnd Bergmann [this message]
2020-07-17 13:54                     ` Arnd Bergmann
2020-07-17 14:13                     ` Greg KH
2020-07-17 14:13                       ` Greg KH
2020-07-17 15:36                       ` Mark Brown
2020-07-17 15:36                         ` Mark Brown
2020-07-17 13:02               ` Arnd Bergmann
2020-07-17 13:02                 ` Arnd Bergmann
2020-07-17 13:23                 ` Greg KH
2020-07-17 13:23                   ` Greg KH
2020-07-17 13:44               ` Linus Walleij
2020-07-17 13:44                 ` Linus Walleij
2020-07-21  0:04             ` John Stultz
2020-07-21  0:04               ` John Stultz

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='CAK8P3a3fwwx-2gQTXZ9dbko+DuLELGm=nKrYFXfwcJJOf0Xz5g@mail.gmail.com' \
    --to=arnd@arndb.de \
    --cc=aford173@gmail.com \
    --cc=andreas@kemnade.info \
    --cc=anson.huang@nxp.com \
    --cc=bgolaszewski@baylibre.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=corbet@lwn.net \
    --cc=festevam@gmail.com \
    --cc=geert@linux-m68k.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=john.stultz@linaro.org \
    --cc=kernel@pengutronix.de \
    --cc=khilman@baylibre.com \
    --cc=leoyang.li@nxp.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=oleksandr.suvorov@toradex.com \
    --cc=olof@lixom.net \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=vkoul@kernel.org \
    --cc=will@kernel.org \
    /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.