All of lore.kernel.org
 help / color / mirror / Atom feed
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Cc: Saravana Kannan <saravanak@google.com>,
	Lee Jones <lee.jones@linaro.org>,
	Will McVicker <willmcvicker@google.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Tomasz Figa <tomasz.figa@gmail.com>,
	Chanwoo Choi <cw00.choi@samsung.com>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Alessandro Zummo <a.zummo@towertech.it>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Android Kernel Team <kernel-team@android.com>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
	linux-clk <linux-clk@vger.kernel.org>,
	"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	linux-rtc@vger.kernel.org, Kevin Hilman <khilman@baylibre.com>
Subject: Re: [PATCH v1 0/4] arm64: Kconfig: Update ARCH_EXYNOS select configs
Date: Mon, 27 Sep 2021 10:16:12 +0200	[thread overview]
Message-ID: <CAMuHMdXU=BKJugMXggyZYBUd+fB7CSd8F5iCWqcBw894OZCZHQ@mail.gmail.com> (raw)
In-Reply-To: <5ec72235-add4-d6dd-f89f-ca3941c9878e@canonical.com>

Hi Krzysztof,

On Mon, Sep 27, 2021 at 10:08 AM Krzysztof Kozlowski
<krzysztof.kozlowski@canonical.com> wrote:
> On 25/09/2021 04:17, Saravana Kannan wrote:
> > On Tue, Sep 21, 2021 at 1:25 AM Krzysztof Kozlowski
> > <krzysztof.kozlowski@canonical.com> wrote:
> >> On 21/09/2021 10:11, Lee Jones wrote:
> >>> On Tue, 21 Sep 2021, Krzysztof Kozlowski wrote:
> >>>> On 20/09/2021 21:03, Will McVicker wrote:
> >>>>> This patch series tries to address the issue of ARCH_EXYNOS force selecting
> >>>>> a handful of drivers without allowing the vendor to override any of the
> >>>>> default configs. This takes away from the flexibilty of compiling a generic
> >>>>> kernel with exynos kernel modules. For example, it doesn't allow vendors to
> >>>>> modularize these drivers out of the core kernel in order to share a generic
> >>>>> kernel image across multiple devices that require device-specific kernel
> >>>>> modules.
> >>>>
> >>>> You do not address the issue in these patches. The problem you describe
> >>>> is that drivers are not modules and you are not changing them into modules.
> >>>
> >>> The wording is unfortunate.  The reason for this change doesn't have
> >>> much to do with kernel modules.
> >>>
> >>> Let's go back in time 18 months or so when Greg KH submitted this [0]
> >>> patch, which you Acked.  Greg was trying to solve the problem of not
> >>> having to enable ARCH_EXYNOS on kernels which are designed to be
> >>> platform agnostic (sometimes called Generic Kernels).  For some reason
> >>> SERIAL_SAMSUNG is the only symbol with these dependencies, so the
> >>> solution seemed simple and straight forward at the time.
> >>>
> >>> However, For sound reasons Geert NACKed the patch.
> >>>
> >>> Quoting from [1] he says:
> >>>
> >>>   "A generic kernel will include Samsung SoC support, hence
> >>>   PLAT_SAMSUNG or ARCH_EXYNOS will be enabled."
> >>
> >> Yes, it's correct reasoning. There is also one more use-case -
> >> non-upstreamed (out of tree) platform which wants to use Exynos-specific
> >> drivers. Something like was happening with Apple M1 except that it got
> >> upstreamed and we do not care much about out-of-tree.
> >>
> >>> However, since the entry for ARCH_EXYNOS *insists* on building-in a
> >>> bunch of other symbols (via 'select') which will be unused in most
> >>> cases, this is not a currently acceptable approach for many Generic
> >>> Kernels due to size constraints.
> >>
> >> In the mainline kernel there is no such use case. If you want to have
> >> Exynos-whatever-driver (e.g. SERIAL_SAMSUNG or S3C RTC), you should
> >> select ARCH_EXYNOS because otherwise it does not make any sense. Zero
> >> sense. Such kernel won't work.
> >>
> >> It makes sense only if there is some other work, hidden here, where
> >> someone might want to have SERIAL_SAMSUNG or S3C RTC without
> >> ARCH_EXYNOS. Although GKI is not that work because GKI kernel will
> >> select ARCH_EXYNOS. It must select ARCH_EXYNOS if it wants to support
> >> Exynos platforms.
> >>
> >> Therefore I expect first to bring this "some other work, hidden here" to
> >> broader audience, so we can review its use case.
> >>
> >>> What this patch does is migrates those symbols from being 'select'ed
> >>> (always built-in with no recourse) to 'default y'.  Where the former
> >>> cannot be over-ridden, but the latter can be via a vendor's
> >>> defconfig/fragment.
> >>
> >> It cannot be overridden by vendor fragment because options are not
> >> visible. You cannot change them.
> >>
> >> The patch does nothing in this regard (making them selectable/possible
> >> to disable), which is why I complained.
> >>
> >>> I doubt many (any?) of these symbols can be converted to kernel
> >>> modules anyway, as they are required very early on in the boot
> >>> sequence.
> >>
> >> True, some could, some not. Also some platforms are set up via
> >> bootloader, so actually could "survive" till module is loaded from some
> >> initrd.
> >
> > I was trying to chime in, but the discussion got spread out across all
> > the patches. Since the cover letter seems to have everyone, I thought
> > I'd reply here. Hope you don't mind. I'll try to respond/chime in on
> > the various topics that were raised across the patches.
> >
> > Yes, the next patch series would To/Cc folks correctly. William simply
> > forgot to use the --to-cover and --cc-cover options when using git
> > send-email.
> >
> > I agree with you that it doesn't make sense to have ARCH_EXYNOS
> > enabled but to have all the clock drivers exynos compiled out. Then
> > one obviously can't boot an exynos platform using that kernel.
>
> If downstream kernel does not use any upstream platforms (e.g.
> Exynos5433 or Exynos7) and has its own drivers for everything, then
> downstream does not even need ARCH_EXYNOS. Just disable it.

I guess that's how they got to "[PATCH 1/2] tty: serial: samsung_tty:
build it for any platform"...
https://lore.kernel.org/lkml/20200220102628.3371996-1-gregkh@linuxfoundation.org/

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

WARNING: multiple messages have this Message-ID (diff)
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Cc: Saravana Kannan <saravanak@google.com>,
	Lee Jones <lee.jones@linaro.org>,
	 Will McVicker <willmcvicker@google.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	 Will Deacon <will@kernel.org>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	 Tomasz Figa <tomasz.figa@gmail.com>,
	Chanwoo Choi <cw00.choi@samsung.com>,
	 Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	 Linus Walleij <linus.walleij@linaro.org>,
	Alessandro Zummo <a.zummo@towertech.it>,
	 Alexandre Belloni <alexandre.belloni@bootlin.com>,
	 Android Kernel Team <kernel-team@android.com>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	 Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	 linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
	linux-clk <linux-clk@vger.kernel.org>,
	 "open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	linux-rtc@vger.kernel.org, Kevin Hilman <khilman@baylibre.com>
Subject: Re: [PATCH v1 0/4] arm64: Kconfig: Update ARCH_EXYNOS select configs
Date: Mon, 27 Sep 2021 10:16:12 +0200	[thread overview]
Message-ID: <CAMuHMdXU=BKJugMXggyZYBUd+fB7CSd8F5iCWqcBw894OZCZHQ@mail.gmail.com> (raw)
In-Reply-To: <5ec72235-add4-d6dd-f89f-ca3941c9878e@canonical.com>

Hi Krzysztof,

On Mon, Sep 27, 2021 at 10:08 AM Krzysztof Kozlowski
<krzysztof.kozlowski@canonical.com> wrote:
> On 25/09/2021 04:17, Saravana Kannan wrote:
> > On Tue, Sep 21, 2021 at 1:25 AM Krzysztof Kozlowski
> > <krzysztof.kozlowski@canonical.com> wrote:
> >> On 21/09/2021 10:11, Lee Jones wrote:
> >>> On Tue, 21 Sep 2021, Krzysztof Kozlowski wrote:
> >>>> On 20/09/2021 21:03, Will McVicker wrote:
> >>>>> This patch series tries to address the issue of ARCH_EXYNOS force selecting
> >>>>> a handful of drivers without allowing the vendor to override any of the
> >>>>> default configs. This takes away from the flexibilty of compiling a generic
> >>>>> kernel with exynos kernel modules. For example, it doesn't allow vendors to
> >>>>> modularize these drivers out of the core kernel in order to share a generic
> >>>>> kernel image across multiple devices that require device-specific kernel
> >>>>> modules.
> >>>>
> >>>> You do not address the issue in these patches. The problem you describe
> >>>> is that drivers are not modules and you are not changing them into modules.
> >>>
> >>> The wording is unfortunate.  The reason for this change doesn't have
> >>> much to do with kernel modules.
> >>>
> >>> Let's go back in time 18 months or so when Greg KH submitted this [0]
> >>> patch, which you Acked.  Greg was trying to solve the problem of not
> >>> having to enable ARCH_EXYNOS on kernels which are designed to be
> >>> platform agnostic (sometimes called Generic Kernels).  For some reason
> >>> SERIAL_SAMSUNG is the only symbol with these dependencies, so the
> >>> solution seemed simple and straight forward at the time.
> >>>
> >>> However, For sound reasons Geert NACKed the patch.
> >>>
> >>> Quoting from [1] he says:
> >>>
> >>>   "A generic kernel will include Samsung SoC support, hence
> >>>   PLAT_SAMSUNG or ARCH_EXYNOS will be enabled."
> >>
> >> Yes, it's correct reasoning. There is also one more use-case -
> >> non-upstreamed (out of tree) platform which wants to use Exynos-specific
> >> drivers. Something like was happening with Apple M1 except that it got
> >> upstreamed and we do not care much about out-of-tree.
> >>
> >>> However, since the entry for ARCH_EXYNOS *insists* on building-in a
> >>> bunch of other symbols (via 'select') which will be unused in most
> >>> cases, this is not a currently acceptable approach for many Generic
> >>> Kernels due to size constraints.
> >>
> >> In the mainline kernel there is no such use case. If you want to have
> >> Exynos-whatever-driver (e.g. SERIAL_SAMSUNG or S3C RTC), you should
> >> select ARCH_EXYNOS because otherwise it does not make any sense. Zero
> >> sense. Such kernel won't work.
> >>
> >> It makes sense only if there is some other work, hidden here, where
> >> someone might want to have SERIAL_SAMSUNG or S3C RTC without
> >> ARCH_EXYNOS. Although GKI is not that work because GKI kernel will
> >> select ARCH_EXYNOS. It must select ARCH_EXYNOS if it wants to support
> >> Exynos platforms.
> >>
> >> Therefore I expect first to bring this "some other work, hidden here" to
> >> broader audience, so we can review its use case.
> >>
> >>> What this patch does is migrates those symbols from being 'select'ed
> >>> (always built-in with no recourse) to 'default y'.  Where the former
> >>> cannot be over-ridden, but the latter can be via a vendor's
> >>> defconfig/fragment.
> >>
> >> It cannot be overridden by vendor fragment because options are not
> >> visible. You cannot change them.
> >>
> >> The patch does nothing in this regard (making them selectable/possible
> >> to disable), which is why I complained.
> >>
> >>> I doubt many (any?) of these symbols can be converted to kernel
> >>> modules anyway, as they are required very early on in the boot
> >>> sequence.
> >>
> >> True, some could, some not. Also some platforms are set up via
> >> bootloader, so actually could "survive" till module is loaded from some
> >> initrd.
> >
> > I was trying to chime in, but the discussion got spread out across all
> > the patches. Since the cover letter seems to have everyone, I thought
> > I'd reply here. Hope you don't mind. I'll try to respond/chime in on
> > the various topics that were raised across the patches.
> >
> > Yes, the next patch series would To/Cc folks correctly. William simply
> > forgot to use the --to-cover and --cc-cover options when using git
> > send-email.
> >
> > I agree with you that it doesn't make sense to have ARCH_EXYNOS
> > enabled but to have all the clock drivers exynos compiled out. Then
> > one obviously can't boot an exynos platform using that kernel.
>
> If downstream kernel does not use any upstream platforms (e.g.
> Exynos5433 or Exynos7) and has its own drivers for everything, then
> downstream does not even need ARCH_EXYNOS. Just disable it.

I guess that's how they got to "[PATCH 1/2] tty: serial: samsung_tty:
build it for any platform"...
https://lore.kernel.org/lkml/20200220102628.3371996-1-gregkh@linuxfoundation.org/

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

  reply	other threads:[~2021-09-27  8:16 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-20 19:03 [PATCH v1 0/4] arm64: Kconfig: Update ARCH_EXYNOS select configs Will McVicker
2021-09-20 19:03 ` Will McVicker
2021-09-20 19:03 ` [PATCH v1 1/4] clk: samsung: change COMMON_CLK_SAMSUNG default config logic Will McVicker
2021-09-20 19:03   ` Will McVicker
2021-09-21  7:29   ` Krzysztof Kozlowski
2021-09-21  7:29     ` Krzysztof Kozlowski
2021-09-21  7:50     ` Geert Uytterhoeven
2021-09-21  7:50       ` Geert Uytterhoeven
2021-09-21  8:35       ` Krzysztof Kozlowski
2021-09-21  8:35         ` Krzysztof Kozlowski
2021-09-21 17:58         ` Will McVicker
2021-09-21 17:58           ` Will McVicker
2021-09-21 18:04           ` Krzysztof Kozlowski
2021-09-21 18:04             ` Krzysztof Kozlowski
2021-09-23 12:57             ` Lee Jones
2021-09-23 12:57               ` Lee Jones
2021-09-23 13:27               ` Krzysztof Kozlowski
2021-09-23 13:27                 ` Krzysztof Kozlowski
2021-09-23 14:18                 ` Lee Jones
2021-09-23 14:18                   ` Lee Jones
2021-09-23 16:27                   ` Krzysztof Kozlowski
2021-09-23 16:27                     ` Krzysztof Kozlowski
2021-09-23 16:30                     ` Krzysztof Kozlowski
2021-09-23 16:30                       ` Krzysztof Kozlowski
2021-09-20 19:03 ` [PATCH v1 2/4] soc: samsung: change SOC_SAMSUNG " Will McVicker
2021-09-20 19:03   ` Will McVicker
2021-09-20 20:57   ` Will McVicker
2021-09-20 20:57     ` Will McVicker
2021-09-21  7:23   ` Krzysztof Kozlowski
2021-09-21  7:23     ` Krzysztof Kozlowski
2021-09-21  8:19     ` Lee Jones
2021-09-21  8:19       ` Lee Jones
2021-09-21 17:45       ` Will McVicker
2021-09-21 17:45         ` Will McVicker
2021-09-21 18:20         ` Krzysztof Kozlowski
2021-09-21 18:20           ` Krzysztof Kozlowski
2021-09-23 12:39           ` Lee Jones
2021-09-23 12:39             ` Lee Jones
2021-09-23 12:57             ` Krzysztof Kozlowski
2021-09-23 12:57               ` Krzysztof Kozlowski
2021-09-23 13:41               ` Lee Jones
2021-09-23 13:41                 ` Lee Jones
2021-09-23 16:19                 ` Geert Uytterhoeven
2021-09-23 16:19                   ` Geert Uytterhoeven
2021-09-23 18:05                   ` Geert Uytterhoeven
2021-09-23 18:05                     ` Geert Uytterhoeven
2021-09-20 19:03 ` [PATCH v1 3/4] pinctrl: samsung: change PINCTRL_EXYNOS " Will McVicker
2021-09-20 19:03   ` Will McVicker
2021-09-21  7:27   ` Krzysztof Kozlowski
2021-09-21  7:27     ` Krzysztof Kozlowski
2021-09-21  8:18     ` Lee Jones
2021-09-21  8:18       ` Lee Jones
2021-09-23 21:52   ` Linus Walleij
2021-09-23 21:52     ` Linus Walleij
2021-09-20 19:03 ` [PATCH v1 4/4] rtc: change HAVE_S3C_RTC " Will McVicker
2021-09-20 19:03   ` Will McVicker
2021-09-20 20:05   ` Alexandre Belloni
2021-09-20 20:05     ` Alexandre Belloni
2021-09-21  7:36   ` Krzysztof Kozlowski
2021-09-21  7:36     ` Krzysztof Kozlowski
2021-09-21  7:08 ` [PATCH v1 0/4] arm64: Kconfig: Update ARCH_EXYNOS select configs Lee Jones
2021-09-21  7:08   ` Lee Jones
2021-09-21  7:19 ` Krzysztof Kozlowski
2021-09-21  7:19   ` Krzysztof Kozlowski
2021-09-21  7:22   ` Krzysztof Kozlowski
2021-09-21  7:22     ` Krzysztof Kozlowski
2021-09-21  8:11   ` Lee Jones
2021-09-21  8:11     ` Lee Jones
2021-09-21  8:25     ` Krzysztof Kozlowski
2021-09-21  8:25       ` Krzysztof Kozlowski
2021-09-21  8:41       ` Lee Jones
2021-09-21  8:41         ` Lee Jones
2021-09-25  2:17       ` Saravana Kannan
2021-09-25  2:17         ` Saravana Kannan
2021-09-27  8:08         ` Krzysztof Kozlowski
2021-09-27  8:08           ` Krzysztof Kozlowski
2021-09-27  8:16           ` Geert Uytterhoeven [this message]
2021-09-27  8:16             ` Geert Uytterhoeven
2021-09-27 18:07           ` Saravana Kannan
2021-09-27 18:07             ` Saravana Kannan
2021-09-27 19:54             ` Geert Uytterhoeven
2021-09-27 19:54               ` Geert Uytterhoeven

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='CAMuHMdXU=BKJugMXggyZYBUd+fB7CSd8F5iCWqcBw894OZCZHQ@mail.gmail.com' \
    --to=geert@linux-m68k.org \
    --cc=a.zummo@towertech.it \
    --cc=alexandre.belloni@bootlin.com \
    --cc=catalin.marinas@arm.com \
    --cc=cw00.choi@samsung.com \
    --cc=kernel-team@android.com \
    --cc=khilman@baylibre.com \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rtc@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=s.nawrocki@samsung.com \
    --cc=saravanak@google.com \
    --cc=sboyd@kernel.org \
    --cc=tomasz.figa@gmail.com \
    --cc=will@kernel.org \
    --cc=willmcvicker@google.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.