Messages in this thread | | | From | Krzysztof Kozlowski <> | Subject | Re: [PATCH v1 1/4] clk: samsung: change COMMON_CLK_SAMSUNG default config logic | Date | Tue, 21 Sep 2021 10:35:51 +0200 |
| |
On 21/09/2021 09:50, Geert Uytterhoeven wrote: > On Tue, Sep 21, 2021 at 9:31 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: >> On 20/09/2021 21:03, Will McVicker wrote: >>> COMMON_CLK_SAMSUNG is selected by ARCH_EXYNOS which forces this config >>> to be built-in when ARCH_EXYNOS is enabled. Switch the logic to use a >>> "default y if ARCH_EXYNOS" to provide flexibilty for vendors to disable >>> or modularize this driver. >> >> The clock drivers are essential, you cannot disable them for a generic >> kernel supporting ARCH_EXYNOS. Such kernel won't work properly on platforms. > > Obviously it's not gonna work if the clock driver is not enabled > at all. But does it work if you make the clock driver modular, and > put it with all other essential driver modules in initramfs? Debugging > would be hard, as the serial console driver also relies on clocks > and PM Domains etc.
The kernel could boot without clock drivers (default settings from bootloader), probe clocks from initramfs and proceed with rootfs from eMMC/SD/net.
In theory.
However I have no reports that it ever worked. If there is such working upstream configuration, I don't mind here. Just please explain this in the commit msg.
> > If not, this patch should be NAKed, until it works with a modular > clock driver. > > If yes, perhaps another line should be added (_before_ the other line)? > > + default m if ARCH_EXYNOS && MODULES > default y if ARCH_EXYNOS > > However, many developers may want MODULES=y, but not want to bother > with an initramfs. So perhaps we need a new symbol > MINIMUM_GENERIC_KERNEL or so, protected by EXPERT, and make the > driver default to m if that is enabled?
Yeah, that's indeed a problem to solve. For most users (and distros) building kernel for Exynos this should be built-in by default.
Anyway, the option is non-selectable so it cannot be converted to "m" or disabled. And this is claimed in the commit msg: "provide flexibilty for vendors to disable or modularize this driver."
The commit does not achieve it.
Best regards, Krzysztof
| |