From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> To: Greg KH <gregkh@linuxfoundation.org> Cc: William McVicker <willmcvicker@google.com>, Peter Griffin <peter.griffin@linaro.org>, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, mturquette@baylibre.com, conor+dt@kernel.org, sboyd@kernel.org, tomasz.figa@gmail.com, s.nawrocki@samsung.com, linus.walleij@linaro.org, wim@linux-watchdog.org, linux@roeck-us.net, catalin.marinas@arm.com, will@kernel.org, arnd@arndb.de, olof@lixom.net, cw00.choi@samsung.com, tudor.ambarus@linaro.org, andre.draszik@linaro.org, semen.protsenko@linaro.org, soc@kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, linux-watchdog@vger.kernel.org, kernel-team@google.com Subject: Re: [PATCH 18/21] arm64: dts: google: Add initial Google gs101 SoC support Date: Thu, 5 Oct 2023 21:29:26 +0200 [thread overview] Message-ID: <efc9f099-9c97-460b-b0c8-9891aa3b772a@linaro.org> (raw) In-Reply-To: <2023100513-mashing-scrubber-ea59@gregkh> On 05/10/2023 21:23, Greg KH wrote: > On Thu, Oct 05, 2023 at 09:18:48PM +0200, Krzysztof Kozlowski wrote: >>>> I'd like to bring up this thread and discuss the option of not introducing >>>> another ARCH_* config: >>>> >>>> https://lore.kernel.org/all/20200306103652.GA3634389@kroah.com/ >>> >>> I agree, PLEASE don't add platform config options as that makes it >>> impossible to make a unified kernel image that works for more than one >>> platform at the same time. >> >> There is no single problem in making unified image as we were doing >> since beginning of ARM64. The ARCH_* is not a obstacle for this. > > Then why are the ARCH_* options needed at all? What does this help out > with? It helps all the people and distros who do not want to build/package drivers or modules for unrelated hardware or architectures. Let's take Samsung Exynos UART driver. It will never, 100% never, work on x86, x86_64. There is no single need to package it for kernels build for these products. It will not work on nVidia Tegra ARM64, Qualcomm ARM64 SoC, so if you do not want to run on Exynos, then you do no select ARCH_EXYNOS and have significantly smaller image. Now, there is no problem to have one kernel for nVidia Tegra + Qualcomm + Samsung Exynos with everything you need. The ARCH_EXYNOS or SOC_EXYNOS or SOC_GOOGLE serves only the purpose to allow distros and people customize build for specific hardware. It does not limit anyone on anything. > >>>> I especially don't like the "depends on ARCH_EXYNOS" because that forces one to >>>> include all the other Exynos drivers that ARCH_EXYNOS selects that Google >>>> Tensor SoCs don't need. Can we consider using SOC_GOOGLE instead and for all >>>> drivers that actually depend on the SoC hardware, we can just add "depends on >>>> SOC_GOOGLE"? >>> >>> Why do any of this at all? It should not be needed. >>> >>>> The idea is that drivers should be tied to hardware -- not a specific vendor. >>> >>> And drivers should be auto-loaded. >>> >>> All of these drivers are not vendor-specific at all, they are based on >>> the same IP blocks as others, so that is how they should be unified. >> >> They are vendor specific. All of them are specifically for Exynos >> hardwre, because this is Exynos. We call it Google GS/Tensor SoC just >> for fancy convenience, but this just Exynos. > > Ok, then why is this ARCH_ option needed if these IP blocks really are > from something else and are part of other drivers? For the same reason above, because if I want to build kernel for Qualcomm, I want to drop easily anything not related. If I want to build kernel without I2C, I disable I2C bus which effectively disables all drivers which work on I2C. If I want to build kernel without Exynos, I disable ARCH_EXYNOS which effectively disables entire Exynos hardware. Think of SoC as a bus or interface. Best regards, Krzysztof
WARNING: multiple messages have this Message-ID (diff)
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> To: Greg KH <gregkh@linuxfoundation.org> Cc: William McVicker <willmcvicker@google.com>, Peter Griffin <peter.griffin@linaro.org>, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, mturquette@baylibre.com, conor+dt@kernel.org, sboyd@kernel.org, tomasz.figa@gmail.com, s.nawrocki@samsung.com, linus.walleij@linaro.org, wim@linux-watchdog.org, linux@roeck-us.net, catalin.marinas@arm.com, will@kernel.org, arnd@arndb.de, olof@lixom.net, cw00.choi@samsung.com, tudor.ambarus@linaro.org, andre.draszik@linaro.org, semen.protsenko@linaro.org, soc@kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, linux-watchdog@vger.kernel.org, kernel-team@google.com Subject: Re: [PATCH 18/21] arm64: dts: google: Add initial Google gs101 SoC support Date: Thu, 5 Oct 2023 21:29:26 +0200 [thread overview] Message-ID: <efc9f099-9c97-460b-b0c8-9891aa3b772a@linaro.org> (raw) In-Reply-To: <2023100513-mashing-scrubber-ea59@gregkh> On 05/10/2023 21:23, Greg KH wrote: > On Thu, Oct 05, 2023 at 09:18:48PM +0200, Krzysztof Kozlowski wrote: >>>> I'd like to bring up this thread and discuss the option of not introducing >>>> another ARCH_* config: >>>> >>>> https://lore.kernel.org/all/20200306103652.GA3634389@kroah.com/ >>> >>> I agree, PLEASE don't add platform config options as that makes it >>> impossible to make a unified kernel image that works for more than one >>> platform at the same time. >> >> There is no single problem in making unified image as we were doing >> since beginning of ARM64. The ARCH_* is not a obstacle for this. > > Then why are the ARCH_* options needed at all? What does this help out > with? It helps all the people and distros who do not want to build/package drivers or modules for unrelated hardware or architectures. Let's take Samsung Exynos UART driver. It will never, 100% never, work on x86, x86_64. There is no single need to package it for kernels build for these products. It will not work on nVidia Tegra ARM64, Qualcomm ARM64 SoC, so if you do not want to run on Exynos, then you do no select ARCH_EXYNOS and have significantly smaller image. Now, there is no problem to have one kernel for nVidia Tegra + Qualcomm + Samsung Exynos with everything you need. The ARCH_EXYNOS or SOC_EXYNOS or SOC_GOOGLE serves only the purpose to allow distros and people customize build for specific hardware. It does not limit anyone on anything. > >>>> I especially don't like the "depends on ARCH_EXYNOS" because that forces one to >>>> include all the other Exynos drivers that ARCH_EXYNOS selects that Google >>>> Tensor SoCs don't need. Can we consider using SOC_GOOGLE instead and for all >>>> drivers that actually depend on the SoC hardware, we can just add "depends on >>>> SOC_GOOGLE"? >>> >>> Why do any of this at all? It should not be needed. >>> >>>> The idea is that drivers should be tied to hardware -- not a specific vendor. >>> >>> And drivers should be auto-loaded. >>> >>> All of these drivers are not vendor-specific at all, they are based on >>> the same IP blocks as others, so that is how they should be unified. >> >> They are vendor specific. All of them are specifically for Exynos >> hardwre, because this is Exynos. We call it Google GS/Tensor SoC just >> for fancy convenience, but this just Exynos. > > Ok, then why is this ARCH_ option needed if these IP blocks really are > from something else and are part of other drivers? For the same reason above, because if I want to build kernel for Qualcomm, I want to drop easily anything not related. If I want to build kernel without I2C, I disable I2C bus which effectively disables all drivers which work on I2C. If I want to build kernel without Exynos, I disable ARCH_EXYNOS which effectively disables entire Exynos hardware. Think of SoC as a bus or interface. Best regards, Krzysztof _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-10-05 19:29 UTC|newest] Thread overview: 150+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-10-05 15:55 [PATCH 00/21] Add minimal Tensor/GS101 SoC support and Oriole/Pixel6 board Peter Griffin 2023-10-05 15:55 ` Peter Griffin 2023-10-05 15:55 ` [PATCH 01/21] dt-bindings: interrupt-controller: Add gs101 interrupt controller Peter Griffin 2023-10-05 15:55 ` Peter Griffin 2023-10-05 16:04 ` Krzysztof Kozlowski 2023-10-05 16:04 ` Krzysztof Kozlowski 2023-10-06 21:52 ` Linus Walleij 2023-10-06 21:52 ` Linus Walleij 2023-10-05 15:55 ` [PATCH 02/21] dt-bindings: soc: samsung: exynos-pmu: Add gs101 compatible Peter Griffin 2023-10-05 15:55 ` Peter Griffin 2023-10-05 16:05 ` Krzysztof Kozlowski 2023-10-05 16:05 ` Krzysztof Kozlowski 2023-10-05 15:56 ` [PATCH 03/21] dt-bindings: clock: Add Google gs101 clock management unit bindings Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-05 16:06 ` Krzysztof Kozlowski 2023-10-05 16:06 ` Krzysztof Kozlowski 2023-10-05 15:56 ` [PATCH 04/21] dt-bindings: soc: google: exynos-sysreg: add dedicated SYSREG compatibles to GS101 Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-05 16:07 ` Krzysztof Kozlowski 2023-10-05 16:07 ` Krzysztof Kozlowski 2023-10-06 12:41 ` Peter Griffin 2023-10-06 12:41 ` Peter Griffin 2023-10-06 12:43 ` Krzysztof Kozlowski 2023-10-06 12:43 ` Krzysztof Kozlowski 2023-10-05 15:56 ` [PATCH 05/21] dt-bindings: watchdog: Document Google gs101 & gs201 watchdog bindings Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-05 16:08 ` Krzysztof Kozlowski 2023-10-05 16:08 ` Krzysztof Kozlowski 2023-10-05 17:37 ` William McVicker 2023-10-05 17:37 ` William McVicker 2023-10-05 15:56 ` [PATCH 06/21] dt-bindings: arm: google: Add bindings for Google ARM platforms Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-06 20:44 ` Rob Herring 2023-10-06 20:44 ` Rob Herring 2023-10-05 15:56 ` [PATCH 07/21] dt-bindings: pinctrl: samsung: add google,gs101-pinctrl compatible Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-05 16:10 ` Krzysztof Kozlowski 2023-10-05 16:10 ` Krzysztof Kozlowski 2023-10-05 15:56 ` [PATCH 08/21] dt-bindings: pinctrl: samsung: add gs101-wakeup-eint compatible Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-05 16:10 ` Krzysztof Kozlowski 2023-10-05 16:10 ` Krzysztof Kozlowski 2023-10-05 15:56 ` [PATCH 09/21] dt-bindings: clock: gs101: Add cmu_top clock indices Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-05 16:11 ` Krzysztof Kozlowski 2023-10-05 16:11 ` Krzysztof Kozlowski 2023-10-08 22:48 ` Chanwoo Choi 2023-10-08 22:48 ` Chanwoo Choi 2023-10-05 15:56 ` [PATCH 10/21] dt-bindings: clock: gs101: Add cmu_apm " Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-05 16:11 ` Krzysztof Kozlowski 2023-10-05 16:11 ` Krzysztof Kozlowski 2023-10-05 15:56 ` [PATCH 11/21] dt-bindings: clock: gs101: Add cmu_misc " Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-05 15:56 ` [PATCH 12/21] clk: samsung: clk-pll: Add support for pll_{0516,0517,518} Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-05 17:39 ` William McVicker 2023-10-05 17:39 ` William McVicker 2023-10-08 22:51 ` Chanwoo Choi 2023-10-08 22:51 ` Chanwoo Choi 2023-10-05 15:56 ` [PATCH 13/21] clk: samsung: clk-gs101: Add cmu_top registers, plls, mux and gates Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-05 17:42 ` William McVicker 2023-10-05 17:42 ` William McVicker 2023-10-05 17:45 ` Krzysztof Kozlowski 2023-10-05 17:45 ` Krzysztof Kozlowski 2023-10-06 4:16 ` kernel test robot 2023-10-06 4:16 ` kernel test robot 2023-10-14 6:37 ` kernel test robot 2023-10-14 6:37 ` kernel test robot 2023-10-05 15:56 ` [PATCH 14/21] clk: samsung: clk-gs101: add CMU_APM support Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-05 17:43 ` William McVicker 2023-10-05 17:43 ` William McVicker 2023-10-05 17:45 ` William McVicker 2023-10-05 17:45 ` William McVicker 2023-10-05 15:56 ` [PATCH 15/21] clk: google: gs101: Add support for CMU_MISC clock unit Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-06 5:20 ` kernel test robot 2023-10-06 5:20 ` kernel test robot 2023-10-05 15:56 ` [PATCH 16/21] pinctrl: samsung: Add gs101 SoC pinctrl configuration Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-06 6:33 ` Krzysztof Kozlowski 2023-10-06 6:33 ` Krzysztof Kozlowski 2023-10-09 7:49 ` Peter Griffin 2023-10-09 7:49 ` Peter Griffin 2023-10-05 15:56 ` [PATCH 17/21] watchdog: s3c2410_wdt: Add support for Google tensor SoCs Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-05 18:58 ` Guenter Roeck 2023-10-05 18:58 ` Guenter Roeck 2023-10-09 11:56 ` Peter Griffin 2023-10-09 11:56 ` Peter Griffin 2023-10-05 15:56 ` [PATCH 18/21] arm64: dts: google: Add initial Google gs101 SoC support Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-05 16:21 ` Krzysztof Kozlowski 2023-10-05 16:21 ` Krzysztof Kozlowski 2023-10-05 17:59 ` William McVicker 2023-10-05 17:59 ` William McVicker 2023-10-05 18:05 ` Greg KH 2023-10-05 18:05 ` Greg KH 2023-10-05 19:18 ` Krzysztof Kozlowski 2023-10-05 19:18 ` Krzysztof Kozlowski 2023-10-05 19:23 ` Greg KH 2023-10-05 19:23 ` Greg KH 2023-10-05 19:29 ` Krzysztof Kozlowski [this message] 2023-10-05 19:29 ` Krzysztof Kozlowski 2023-10-05 23:19 ` William McVicker 2023-10-05 23:19 ` William McVicker 2023-10-06 6:06 ` Krzysztof Kozlowski 2023-10-06 6:06 ` Krzysztof Kozlowski 2023-10-06 8:48 ` Arnd Bergmann 2023-10-06 8:48 ` Arnd Bergmann 2023-10-06 16:33 ` William McVicker 2023-10-06 16:33 ` William McVicker 2023-10-07 14:34 ` Krzysztof Kozlowski 2023-10-07 14:34 ` Krzysztof Kozlowski 2023-10-09 16:10 ` William McVicker 2023-10-09 16:10 ` William McVicker 2023-10-05 19:21 ` Krzysztof Kozlowski 2023-10-05 19:21 ` Krzysztof Kozlowski 2023-10-05 19:22 ` Krzysztof Kozlowski 2023-10-05 19:22 ` Krzysztof Kozlowski 2023-10-05 19:26 ` William McVicker 2023-10-05 19:26 ` William McVicker 2023-10-09 12:01 ` Tudor Ambarus 2023-10-09 12:01 ` Tudor Ambarus 2023-10-05 15:56 ` [PATCH 19/21] google/gs101: Add dt overlay for oriole board Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-05 16:33 ` Krzysztof Kozlowski 2023-10-05 16:33 ` Krzysztof Kozlowski 2023-10-09 20:03 ` William McVicker 2023-10-09 20:03 ` William McVicker 2023-10-06 7:08 ` Geert Uytterhoeven 2023-10-06 7:08 ` Geert Uytterhoeven 2023-10-06 20:52 ` Rob Herring 2023-10-06 20:52 ` Rob Herring 2023-10-10 12:09 ` Peter Griffin 2023-10-10 12:09 ` Peter Griffin 2023-10-05 15:56 ` [PATCH 20/21] arm64: defconfig: Enable Google Tensor SoC Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-05 15:56 ` [PATCH 21/21] MAINTAINERS: add entry for " Peter Griffin 2023-10-05 15:56 ` Peter Griffin 2023-10-05 16:32 ` [PATCH 00/21] Add minimal Tensor/GS101 SoC support and Oriole/Pixel6 board Krzysztof Kozlowski 2023-10-05 16:32 ` Krzysztof Kozlowski 2023-10-09 11:39 ` Peter Griffin 2023-10-09 11:39 ` Peter Griffin 2023-10-09 11:10 ` Krzysztof Kozlowski 2023-10-09 11:10 ` Krzysztof Kozlowski 2023-10-09 11:40 ` Peter Griffin 2023-10-09 11:40 ` Peter Griffin
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=efc9f099-9c97-460b-b0c8-9891aa3b772a@linaro.org \ --to=krzysztof.kozlowski@linaro.org \ --cc=andre.draszik@linaro.org \ --cc=arnd@arndb.de \ --cc=catalin.marinas@arm.com \ --cc=conor+dt@kernel.org \ --cc=cw00.choi@samsung.com \ --cc=devicetree@vger.kernel.org \ --cc=gregkh@linuxfoundation.org \ --cc=kernel-team@google.com \ --cc=krzysztof.kozlowski+dt@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-samsung-soc@vger.kernel.org \ --cc=linux-watchdog@vger.kernel.org \ --cc=linux@roeck-us.net \ --cc=mturquette@baylibre.com \ --cc=olof@lixom.net \ --cc=peter.griffin@linaro.org \ --cc=robh+dt@kernel.org \ --cc=s.nawrocki@samsung.com \ --cc=sboyd@kernel.org \ --cc=semen.protsenko@linaro.org \ --cc=soc@kernel.org \ --cc=tomasz.figa@gmail.com \ --cc=tudor.ambarus@linaro.org \ --cc=will@kernel.org \ --cc=willmcvicker@google.com \ --cc=wim@linux-watchdog.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: linkBe 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.