[PATCH 00/11] Drop default ARCH_APPLE from Kconfig and use defconfig instead

Janne Grunau j at jannau.net
Fri Jun 13 00:34:55 PDT 2025


Hej,

On Thu, Jun 12, 2025 at 09:11:24PM +0000, Sven Peter wrote:
> 
> When support for Apple Silicon was originally upstreamed we somehow
> started using `default ARCH_APPLE` for most drivers. arm64 defconfig
> also contains ARCH_APPLE=y such that this will turn into `default y`
> there by default which is neither what we want nor how this is usually
> done.

It's not such an uncommon pattern. `git grep 'default ARCH_' --
'*Kconfig'` has over 250 matches (not counting ARCH_APPLE) and from a
cursory look not all CONFIG_* look essential for booting.
I agree that the drivers covered here should not be built-in by default.
An alternative would be using `default m if ARCH_APPLE` instead but that
pattern is not common in the kernel. So just moving this to defconfig is
fine by me.

> Let's fix all that by dropping the default everywhere and adding the
> drivers to defconfig as modules instead of built-ins.
> None of these patches depend on each other so we can just take them all
> independently through the respective subsystem trees.
> 
> Best,
> 
> Sven
> 
> Signed-off-by: Sven Peter <sven at kernel.org>
> ---
> Sven Peter (11):
>       pmdomain: apple: Drop default ARCH_APPLE in Kconfig
>       soc: apple: Drop default ARCH_APPLE in Kconfig
>       clk: apple-nco: Drop default ARCH_APPLE in Kconfig
>       nvmem: apple: drop default ARCH_APPLE in Kconfig
>       i2c: apple: Drop default ARCH_APPLE in Kconfig
>       cpufreq: apple: drop default ARCH_APPLE in Kconfig
>       iommu/apple-dart: Drop default ARCH_APPLE in Kconfig
>       Input: apple_z2: Drop default ARCH_APPLE in Kconfig
>       dmaengine: apple-admac: Drop default ARCH_APPLE in Kconfig
>       ASoC: apple: mca: Drop default ARCH_APPLE in Kconfig
>       arm64: defconfig: Enable Apple Silicon drivers
> 
>  arch/arm64/configs/defconfig      | 19 +++++++++++++++++++
>  drivers/clk/Kconfig               |  1 -
>  drivers/cpufreq/Kconfig.arm       |  1 -
>  drivers/dma/Kconfig               |  1 -
>  drivers/i2c/busses/Kconfig        |  1 -
>  drivers/input/touchscreen/Kconfig |  1 -
>  drivers/iommu/Kconfig             |  1 -
>  drivers/nvmem/Kconfig             |  1 -
>  drivers/pmdomain/apple/Kconfig    |  1 -
>  drivers/soc/apple/Kconfig         |  3 ---
>  sound/soc/apple/Kconfig           |  1 -
>  11 files changed, 19 insertions(+), 12 deletions(-)

whole series

Reviewed-by: Janne Grunau <j at jannau.net>



More information about the linux-arm-kernel mailing list