All of lore.kernel.org
 help / color / mirror / Atom feed
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Lee Jones <lee.jones@linaro.org>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Will McVicker <willmcvicker@google.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	"Cc: Android Kernel" <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>,
	Greg KH <gregkh@linuxfoundation.org>
Subject: Re: [PATCH v1 2/4] soc: samsung: change SOC_SAMSUNG default config logic
Date: Thu, 23 Sep 2021 18:19:14 +0200	[thread overview]
Message-ID: <CAMuHMdUaHPoCDnu3sD7WOnvyaMp5qNjuRGaFxEDQp1ZoFkcrvg@mail.gmail.com> (raw)
In-Reply-To: <YUyD/AxIVw+mbxSP@google.com>

Hi Lee,

On Thu, Sep 23, 2021 at 3:42 PM Lee Jones <lee.jones@linaro.org> wrote:
> On Thu, 23 Sep 2021, Krzysztof Kozlowski wrote:
> > On 23/09/2021 14:39, Lee Jones wrote:
> > > As I've explained before, the trigger for all of this was
> > > SERIAL_SAMSUNG which is required for early console on supported
> > > Samsung platforms i.e. this symbol *has* to be built-in.
> >
> > Actually SERIAL_SAMSUNG does not have to be built-in. It is necessary
> > for built-in only for debugging or development, not for real products.
>
> Right.  And in the early stages, GKI is used for early (non-released)
> H/W (this is also the part of the reason these differences can't be
> upstreamed early/now/yet) and sometimes changes break things requiring
> low-level debugging techniques to solve (inc. early console).
>
> > Unlike other drivers which have to be built-in, e.g. clocks or pinctrl,
> > or heavily tested whether setup from initrd works. Plus not breaking
> > distros who like to have everything as module (solution from Geert?)...
>
> We don't know which drivers *need* to be built-in yet.
>
> Clocks is probably not a good example even, since the power-on default
> is most likely all-on, which is fine.  Pinctrl remains to be seen.

Clocks is an excellent example: if a clock is missing, the driver
will fail to probe (unless the clock is considered optional by
the driver), regardless of the power-on or boot loader defaults.
With fw_devlinks=on (which is the default now, and developed by a
Google engineer (GKI or another division?)), the driver won't even
get to the probing point.

Pinctrl is different, as unless I'm mistaken, drivers will still
probe if the pin control driver is missing, so they will work if the
power-on or boot loader defaults of pin control are fine.

> > > In order for
> > > this to built-in ARCH_EXYNOS has to be enabled due to the listed
> > > dependencies in Kconfig.  And since ARCH_EXYNOS 'selects' all of these
> > > different extra symbols, it means they too will be built-in, meaning
> > > that a) the core binary will be unnecessarily bloated and b) vendors
> > > who wish to overwrite/replace this functionality with their
> > > non-shareable value-add, are not able to do so.
> >
> > I am sorry, but this is not reflecting status we want to have in
> > usptream. Everything selected by ARCH_EXYNOS *has to be selected* for
> > supported platforms. Since vendor does not contribute anything new
> > (except mentioned one work for UFS), we are not going to sacrifice
> > supported mainline platforms for a non-cooperative out-of-tree unknown
> > platforms.
>
> The is the part of the discussion that is the most contentious.
>
> Ideally we wouldn't have to enable any ARCH_* explicitly.  Greg has
> mentioned this publicly on a number of discussions.  However, removing
> the dependencies (from Kconfig in this case) is in contention with
> other user's use-cases.  No one wants to be asked seemingly irrelevant
> configuration questions during the config stages of a kernel build.
>
> So we are forced to enable ARCH_* to have our requirements built-in
> (ARCH_EXYNOS for SAMSUNG_SERIAL [early console] in this case).
> Unfortunately, this comes with additional cruft that we *might* not
> want (resulting in bloat) or that we wish to overwrite with more
> featureful driver modules.  We can't do that if these features are
> built-in.

The question is if Linux can actually boot on the affected platform
without this "additional cruft" builtin, for which we still haven't
received any confirmation yet...

So claiming to be "upstream first", and submitting patches, is great,
but only if the changes you're upstreaming actually work.
If they don't, and if you insist on keeping on upstreaming them,
without providing evidence that they don't break the affected platform
completely, perhaps this should be treated similar to the UMN patches?

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: Lee Jones <lee.jones@linaro.org>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	 Will McVicker <willmcvicker@google.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	 Will Deacon <will@kernel.org>,
	"Cc: Android Kernel" <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>,
	Greg KH <gregkh@linuxfoundation.org>
Subject: Re: [PATCH v1 2/4] soc: samsung: change SOC_SAMSUNG default config logic
Date: Thu, 23 Sep 2021 18:19:14 +0200	[thread overview]
Message-ID: <CAMuHMdUaHPoCDnu3sD7WOnvyaMp5qNjuRGaFxEDQp1ZoFkcrvg@mail.gmail.com> (raw)
In-Reply-To: <YUyD/AxIVw+mbxSP@google.com>

Hi Lee,

On Thu, Sep 23, 2021 at 3:42 PM Lee Jones <lee.jones@linaro.org> wrote:
> On Thu, 23 Sep 2021, Krzysztof Kozlowski wrote:
> > On 23/09/2021 14:39, Lee Jones wrote:
> > > As I've explained before, the trigger for all of this was
> > > SERIAL_SAMSUNG which is required for early console on supported
> > > Samsung platforms i.e. this symbol *has* to be built-in.
> >
> > Actually SERIAL_SAMSUNG does not have to be built-in. It is necessary
> > for built-in only for debugging or development, not for real products.
>
> Right.  And in the early stages, GKI is used for early (non-released)
> H/W (this is also the part of the reason these differences can't be
> upstreamed early/now/yet) and sometimes changes break things requiring
> low-level debugging techniques to solve (inc. early console).
>
> > Unlike other drivers which have to be built-in, e.g. clocks or pinctrl,
> > or heavily tested whether setup from initrd works. Plus not breaking
> > distros who like to have everything as module (solution from Geert?)...
>
> We don't know which drivers *need* to be built-in yet.
>
> Clocks is probably not a good example even, since the power-on default
> is most likely all-on, which is fine.  Pinctrl remains to be seen.

Clocks is an excellent example: if a clock is missing, the driver
will fail to probe (unless the clock is considered optional by
the driver), regardless of the power-on or boot loader defaults.
With fw_devlinks=on (which is the default now, and developed by a
Google engineer (GKI or another division?)), the driver won't even
get to the probing point.

Pinctrl is different, as unless I'm mistaken, drivers will still
probe if the pin control driver is missing, so they will work if the
power-on or boot loader defaults of pin control are fine.

> > > In order for
> > > this to built-in ARCH_EXYNOS has to be enabled due to the listed
> > > dependencies in Kconfig.  And since ARCH_EXYNOS 'selects' all of these
> > > different extra symbols, it means they too will be built-in, meaning
> > > that a) the core binary will be unnecessarily bloated and b) vendors
> > > who wish to overwrite/replace this functionality with their
> > > non-shareable value-add, are not able to do so.
> >
> > I am sorry, but this is not reflecting status we want to have in
> > usptream. Everything selected by ARCH_EXYNOS *has to be selected* for
> > supported platforms. Since vendor does not contribute anything new
> > (except mentioned one work for UFS), we are not going to sacrifice
> > supported mainline platforms for a non-cooperative out-of-tree unknown
> > platforms.
>
> The is the part of the discussion that is the most contentious.
>
> Ideally we wouldn't have to enable any ARCH_* explicitly.  Greg has
> mentioned this publicly on a number of discussions.  However, removing
> the dependencies (from Kconfig in this case) is in contention with
> other user's use-cases.  No one wants to be asked seemingly irrelevant
> configuration questions during the config stages of a kernel build.
>
> So we are forced to enable ARCH_* to have our requirements built-in
> (ARCH_EXYNOS for SAMSUNG_SERIAL [early console] in this case).
> Unfortunately, this comes with additional cruft that we *might* not
> want (resulting in bloat) or that we wish to overwrite with more
> featureful driver modules.  We can't do that if these features are
> built-in.

The question is if Linux can actually boot on the affected platform
without this "additional cruft" builtin, for which we still haven't
received any confirmation yet...

So claiming to be "upstream first", and submitting patches, is great,
but only if the changes you're upstreaming actually work.
If they don't, and if you insist on keeping on upstreaming them,
without providing evidence that they don't break the affected platform
completely, perhaps this should be treated similar to the UMN patches?

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-23 16:19 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 [this message]
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
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=CAMuHMdUaHPoCDnu3sD7WOnvyaMp5qNjuRGaFxEDQp1ZoFkcrvg@mail.gmail.com \
    --to=geert@linux-m68k.org \
    --cc=catalin.marinas@arm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=kernel-team@android.com \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=lee.jones@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --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.