linux-samsung-soc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tomasz Figa <tomasz.figa@gmail.com>
To: Lee Jones <lee.jones@linaro.org>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
	Will McVicker <willmcvicker@google.com>,
	Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Chanwoo Choi <cw00.choi@samsung.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Alessandro Zummo <a.zummo@towertech.it>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	John Stultz <john.stultz@linaro.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Saravana Kannan <saravanak@google.com>,
	"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>,
	linux-clk <linux-clk@vger.kernel.org>,
	"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	linux-rtc@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
	Olof Johansson <olof@lixom.net>
Subject: Re: [PATCH v2 00/12] arm64: Kconfig: Update ARCH_EXYNOS select configs
Date: Thu, 30 Sep 2021 21:10:31 +0900	[thread overview]
Message-ID: <CA+Ln22FBy2ks9gX3df=rQw-6W3iftMVoqsoqBPchGCqDDoMaLg@mail.gmail.com> (raw)
In-Reply-To: <YVWkxnc8wTdBgRsv@google.com>

2021年9月30日(木) 20:51 Lee Jones <lee.jones@linaro.org>:
>
> On Thu, 30 Sep 2021, Tomasz Figa wrote:
>
> > 2021年9月30日(木) 18:23 Lee Jones <lee.jones@linaro.org>:
> > >
> > > I've taken the liberty of cherry-picking some of the points you have
> > > reiteratted a few times.  Hopefully I can help to address them
> > > adequently.
> > >
> > > On Thu, 30 Sep 2021, Krzysztof Kozlowski wrote:
> > > > Reminder: these are essential drivers and all Exynos platforms must have
> > > > them as built-in (at least till someone really tests this on multiple
> > > > setups).
> > >
> > > > Therefore I don't agree with calling it a "problem" that we select
> > > > *necessary* drivers for supported platforms. It's by design - supported
> > > > platforms should receive them without ability to remove.
> > >
> > > > The selected drivers are essential for supported platforms.
> > >
> > > SoC specific drivers are only essential/necessary/required in
> > > images designed to execute solely on a platform that requires them.
> > > For a kernel image which is designed to be generic i.e. one that has
> > > the ability to boot on vast array of platforms, the drivers simply
> > > have to be *available*.
> > >
> > > Forcing all H/W drivers that are only *potentially* utilised on *some*
> > > platforms as core binary built-ins doesn't make any technical sense.
> > > The two most important issues this causes are image size and a lack of
> > > configurability/flexibility relating to real-world application i.e.
> > > the one issue we already agreed upon; H/W or features that are too
> > > new (pre-release).
> > >
> > > Bloating a generic kernel with potentially hundreds of unnecessary
> > > drivers that will never be executed in the vast majority of instances
> > > doesn't achieve anything.  If we have a kernel image that has the
> > > ability to boot on 10's of architectures which have 10's of platforms
> > > each, that's a whole host of unused/wasted executable space.
> > >
> > > In order for vendors to work more closely with upstream, they need the
> > > ability to over-ride a *few* drivers to supplement them with some
> > > functionality which they believe provides them with a competitive edge
> > > (I think you called this "value-add" before) prior to the release of a
> > > device.  This is a requirement that cannot be worked around.
> >
> > [Chiming in as a clock driver sub-maintainer and someone who spent a
> > non-insignificant part of his life on SoC driver bring-up - not as a
> > Google employee.]
> >
> > I'd argue that the proper way for them to achieve it would be to
> > extend the upstream frameworks and/or existing drivers with
> > appropriate APIs to allow their downstream modules to plug into what's
> > already available upstream.
>
> Is that the same as exporting symbols to framework APIs?
>
> Since this is already a method GKI uses to allow external modules to
> interact with the core kernel/frameworks.  However, it's not possible
> to upstream these without an upstream user for each one.

Not necessary the core frameworks, could also be changing the ways the
existing drivers register to allow additional drivers to extend the
functionality rather than completely overwrite them. It's really hard
to tell what the right way would be without knowing the exact things
they find missing in the upstream drivers. As for upstream users, this
is exactly the point - upstream is a bidirectional effort, one takes
from it and should contribute things back.

Generally, the subsystems being mentioned here are so basic (clock,
pinctrl, rtc), that I really can't imagine what kind of rocket science
one might want to hide for competitive reasons... If it's for an
entire SoC, I wonder why Intel and AMD don't have similar concerns and
contribute support for their newest hardware far before the release.

  reply	other threads:[~2021-09-30 12:10 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-28 23:56 [PATCH v2 00/12] arm64: Kconfig: Update ARCH_EXYNOS select configs Will McVicker
2021-09-28 23:56 ` [PATCH v2 01/12] arm64: don't have ARCH_EXYNOS select EXYNOS_CHIPID Will McVicker
2021-09-29 13:58   ` (subset) " Krzysztof Kozlowski
2021-09-29 14:00   ` Krzysztof Kozlowski
2021-09-28 23:56 ` [PATCH v2 02/12] timekeeping: add API for getting timekeeping_suspended Will McVicker
2021-09-29  3:42   ` John Stultz
2021-09-29 20:01     ` Will McVicker
2021-09-29 20:46       ` John Stultz
2021-09-30 18:31         ` Will McVicker
2021-09-28 23:56 ` [PATCH v2 03/12] clk: samsung: add support for CPU clocks Will McVicker
2021-09-28 23:56 ` [PATCH v2 04/12] clk: samsung: exynos5433: update apollo and atlas clock probing Will McVicker
2021-09-28 23:56 ` [PATCH v2 05/12] clk: export __clk_lookup Will McVicker
2021-10-08  4:31   ` Stephen Boyd
2021-09-28 23:56 ` [PATCH v2 06/12] clk: samsung: modularize exynos arm64 clk drivers Will McVicker
2021-09-28 23:56 ` [PATCH v2 07/12] clk: samsung: set exynos arm64 clk driver as tristate Will McVicker
2021-09-29 13:09   ` Krzysztof Kozlowski
2021-09-28 23:56 ` [PATCH v2 08/12] pinctrl: samsung: modularize the ARM and ARM64 pinctrls Will McVicker
2021-09-29  2:01   ` Chanho Park
2021-09-28 23:56 ` [PATCH v2 09/12] pinctrl: samsung: set PINCTRL_EXYNOS and PINCTRL_SAMSUNG as tristate Will McVicker
2021-09-28 23:56 ` [PATCH v2 10/12] soc: samsung: pmu: modularize the Exynos ARMv8 PMU driver Will McVicker
2021-09-29 13:11   ` Krzysztof Kozlowski
2021-09-28 23:56 ` [PATCH v2 11/12] soc: samsung: pm_domains: modularize EXYNOS_PM_DOMAINS Will McVicker
2021-09-29 13:36   ` Krzysztof Kozlowski
2021-09-28 23:56 ` [PATCH v2 12/12] ARM: rtc: remove HAVE_S3C_RTC in favor of direct dependencies Will McVicker
2021-09-29 11:52   ` Alexandre Belloni
2021-09-29 13:02 ` [PATCH v2 00/12] arm64: Kconfig: Update ARCH_EXYNOS select configs Krzysztof Kozlowski
2021-09-29 19:48   ` Will McVicker
2021-09-30  6:14     ` Krzysztof Kozlowski
2021-09-30  9:01       ` Arnd Bergmann
2021-09-30  9:30         ` Lee Jones
2021-09-30 10:33           ` Krzysztof Kozlowski
2021-09-30 12:34             ` Lee Jones
2021-09-30 12:38               ` Krzysztof Kozlowski
2021-09-30 10:05         ` Geert Uytterhoeven
2021-09-30  9:23       ` Lee Jones
2021-09-30 10:17         ` Geert Uytterhoeven
2021-09-30 10:56           ` Lee Jones
2021-09-30 11:25             ` Geert Uytterhoeven
2021-09-30 12:08               ` Lee Jones
2021-09-30 16:09                 ` Geert Uytterhoeven
2021-09-30 10:52         ` Krzysztof Kozlowski
2021-09-30 12:32           ` Lee Jones
2021-09-30 11:01         ` Tomasz Figa
2021-09-30 11:27           ` Geert Uytterhoeven
2021-09-30 11:51           ` Lee Jones
2021-09-30 12:10             ` Tomasz Figa [this message]
2021-09-30 12:15               ` Krzysztof Kozlowski
2021-09-30 12:45               ` Lee Jones
2021-10-01  4:01               ` Christoph Hellwig
2021-10-01  4:52                 ` Saravana Kannan
2021-10-01  4:55                   ` Christoph Hellwig
2021-09-30 12:21         ` Krzysztof Kozlowski
2021-09-30 12:39           ` Lee Jones
2021-09-30 13:08             ` Krzysztof Kozlowski
2021-09-30 13:29               ` Lee Jones
2021-09-30 16:12                 ` Geert Uytterhoeven
2021-09-30 16:21                   ` Lee Jones
2021-09-30 16:26                     ` Geert Uytterhoeven
2021-09-30 18:02                       ` Will McVicker
2021-10-01  4:04             ` Christoph Hellwig
2021-10-01  4:52     ` Olof Johansson
2021-10-01  5:23       ` Saravana Kannan
2021-10-01  5:35         ` Olof Johansson
2021-10-01  5:59           ` Will McVicker
2021-10-01  8:01             ` Krzysztof Kozlowski
2021-10-01  6:02           ` Saravana Kannan
2021-10-01  6:27             ` Olof Johansson
2021-10-01  6:30               ` Olof Johansson
2021-10-01 12:00             ` Arnd Bergmann
2021-10-01 12:31               ` Lee Jones
2021-10-01 15:43                 ` Olof Johansson
2021-10-01 11:38           ` Linus Walleij
2021-10-01 11:59           ` Geert Uytterhoeven
2021-10-01 15:59             ` Olof Johansson
2021-10-01 16:51               ` Will McVicker
2021-10-01 17:15                 ` Olof Johansson
2021-10-01 17:48                   ` Will McVicker
2021-10-01  8:19         ` Geert Uytterhoeven
2021-10-01  9:00           ` Arnd Bergmann
2021-10-01 15:27             ` Olof Johansson
2021-10-01 19:26               ` Saravana Kannan
2021-10-02  1:47                 ` Tomasz Figa
2021-10-02 21:03                 ` Olof Johansson

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='CA+Ln22FBy2ks9gX3df=rQw-6W3iftMVoqsoqBPchGCqDDoMaLg@mail.gmail.com' \
    --to=tomasz.figa@gmail.com \
    --cc=a.zummo@towertech.it \
    --cc=alexandre.belloni@bootlin.com \
    --cc=arnd@arndb.de \
    --cc=catalin.marinas@arm.com \
    --cc=cw00.choi@samsung.com \
    --cc=geert@linux-m68k.org \
    --cc=john.stultz@linaro.org \
    --cc=kernel-team@android.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=linux@armlinux.org.uk \
    --cc=mturquette@baylibre.com \
    --cc=olof@lixom.net \
    --cc=s.nawrocki@samsung.com \
    --cc=saravanak@google.com \
    --cc=sboyd@kernel.org \
    --cc=tglx@linutronix.de \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).