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

Sven Peter posted 11 patches 3 months, 4 weeks ago
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(-)
[PATCH 00/11] Drop default ARCH_APPLE from Kconfig and use defconfig instead
Posted by Sven Peter 3 months, 4 weeks ago
Hi,

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.
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@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(-)
---
base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494
change-id: 20250611-apple-kconfig-defconfig-b558863a8cb9

Best regards,
-- 
Sven Peter <sven@kernel.org>
Re: [PATCH 00/11] Drop default ARCH_APPLE from Kconfig and use defconfig instead
Posted by Janne Grunau 3 months, 4 weeks ago
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@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@jannau.net>
Re: (subset) [PATCH 00/11] Drop default ARCH_APPLE from Kconfig and use defconfig instead
Posted by Mark Brown 3 months, 4 weeks ago
On Thu, 12 Jun 2025 21:11:24 +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.
> 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.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[10/11] ASoC: apple: mca: Drop default ARCH_APPLE in Kconfig
        commit: f59427932885f9b47b22b532b079478905b9ad08

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark
Re: (subset) [PATCH 00/11] Drop default ARCH_APPLE from Kconfig and use defconfig instead
Posted by Vinod Koul 3 months, 3 weeks ago
On Thu, 12 Jun 2025 21:11:24 +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.
> 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.
> 
> [...]

Applied, thanks!

[09/11] dmaengine: apple-admac: Drop default ARCH_APPLE in Kconfig
        commit: de266931dd996fc2cb8ee8b5d12e39ea463e3f36

Best regards,
-- 
~Vinod
Re: (subset) [PATCH 00/11] Drop default ARCH_APPLE from Kconfig and use defconfig instead
Posted by Sven Peter 3 months, 2 weeks ago
On Thu, 12 Jun 2025 21:11:24 +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.
> 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.
> 
> [...]

Applied to git@github.com:AsahiLinux/linux.git (asahi-soc/drivers-6.17), thanks!

[02/11] soc: apple: Drop default ARCH_APPLE in Kconfig
        https://github.com/AsahiLinux/linux/commit/65293c3276de

Best regards,
-- 
Sven Peter <sven@kernel.org>
Re: (subset) [PATCH 00/11] Drop default ARCH_APPLE from Kconfig and use defconfig instead
Posted by Srinivas Kandagatla 3 months, 2 weeks ago
On Thu, 12 Jun 2025 21:11:24 +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.
> 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.
> 
> [...]

Applied, thanks!

[04/11] nvmem: apple: drop default ARCH_APPLE in Kconfig
        commit: e426953c193a2b51c8adcd3922fb8eef15790219

Best regards,
-- 
Srinivas Kandagatla <srini@kernel.org>