All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] firmware: include drivers/firmware/Kconfig unconditionally
@ 2021-09-28  7:50 ` Arnd Bergmann
  0 siblings, 0 replies; 74+ messages in thread
From: Arnd Bergmann @ 2021-09-28  7:50 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Arnd Bergmann, Mark Brown, Liam Girdwood, Charles Keepax,
	Simon Trimmer, Michael Ellerman, Russell King, Catalin Marinas,
	Will Deacon, Thomas Bogendoerfer, James E.J. Bottomley,
	Helge Deller, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Thomas Gleixner, Ingo Molnar, Borislav Petkov, x86,
	H. Peter Anvin, Geert Uytterhoeven, Linus Walleij, Andrew Morton,
	Greg Kroah-Hartman, linux-arm-kernel, linux-kernel, linux-ia64,
	linux-mips, linux-parisc, linux-riscv

From: Arnd Bergmann <arnd@arndb.de>

Compile-testing drivers that require access to a firmware layer
fails when that firmware symbol is unavailable. This happened
twice this week:

 - My proposed to change to rework the QCOM_SCM firmware symbol
   broke on ppc64 and others.

 - The cs_dsp firmware patch added device specific firmware loader
   into drivers/firmware, which broke on the same set of
   architectures.

We should probably do the same thing for other subsystems as well,
but fix this one first as this is a dependency for other patches
getting merged.

Cc: Mark Brown <broonie@kernel.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Charles Keepax <ckeepax@opensource.cirrus.com>
Cc: Simon Trimmer <simont@opensource.cirrus.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
Not sure how we'd want to merge this patch, if two other things
need it. I'd prefer to merge it along with the QCOM_SCM change
through the soc tree, but that leaves the cirrus firmware broken
unless we also merge it the same way (rather than through ASoC
as it is now).

Alternatively, we can try to find a different home for the Cirrus
firmware to decouple the two problems. I'd argue that it's actually
misplaced here, as drivers/firmware is meant for kernel code that
interfaces with system firmware, not for device drivers to load
their own firmware blobs from user space.
---
 arch/arm/Kconfig    | 2 --
 arch/arm64/Kconfig  | 2 --
 arch/ia64/Kconfig   | 2 --
 arch/mips/Kconfig   | 2 --
 arch/parisc/Kconfig | 2 --
 arch/riscv/Kconfig  | 2 --
 arch/x86/Kconfig    | 2 --
 drivers/Kconfig     | 2 ++
 8 files changed, 2 insertions(+), 14 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index ad96f3dd7e83..194d10bbff9e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1993,8 +1993,6 @@ config ARCH_HIBERNATION_POSSIBLE
 
 endmenu
 
-source "drivers/firmware/Kconfig"
-
 if CRYPTO
 source "arch/arm/crypto/Kconfig"
 endif
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index ebb49585a63f..8749517482ae 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -1931,8 +1931,6 @@ source "drivers/cpufreq/Kconfig"
 
 endmenu
 
-source "drivers/firmware/Kconfig"
-
 source "drivers/acpi/Kconfig"
 
 source "arch/arm64/kvm/Kconfig"
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 045792cde481..1e33666fa679 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -388,8 +388,6 @@ config CRASH_DUMP
 	  help
 	    Generate crash dump after being started by kexec.
 
-source "drivers/firmware/Kconfig"
-
 endmenu
 
 menu "Power management and ACPI options"
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 771ca53af06d..6b8f591c5054 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -3316,8 +3316,6 @@ source "drivers/cpuidle/Kconfig"
 
 endmenu
 
-source "drivers/firmware/Kconfig"
-
 source "arch/mips/kvm/Kconfig"
 
 source "arch/mips/vdso/Kconfig"
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
index 4742b6f169b7..27a8b49af11f 100644
--- a/arch/parisc/Kconfig
+++ b/arch/parisc/Kconfig
@@ -384,6 +384,4 @@ config KEXEC_FILE
 
 endmenu
 
-source "drivers/firmware/Kconfig"
-
 source "drivers/parisc/Kconfig"
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 301a54233c7e..6a6fa9e976d5 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -561,5 +561,3 @@ menu "Power management options"
 source "kernel/power/Kconfig"
 
 endmenu
-
-source "drivers/firmware/Kconfig"
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index e5ba8afd29a0..5dcec5f13a82 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2834,8 +2834,6 @@ config HAVE_ATOMIC_IOMAP
 	def_bool y
 	depends on X86_32
 
-source "drivers/firmware/Kconfig"
-
 source "arch/x86/kvm/Kconfig"
 
 source "arch/x86/Kconfig.assembler"
diff --git a/drivers/Kconfig b/drivers/Kconfig
index 30d2db37cc87..0d399ddaa185 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -17,6 +17,8 @@ source "drivers/bus/Kconfig"
 
 source "drivers/connector/Kconfig"
 
+source "drivers/firmware/Kconfig"
+
 source "drivers/gnss/Kconfig"
 
 source "drivers/mtd/Kconfig"
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 74+ messages in thread

end of thread, other threads:[~2021-10-11  9:52 UTC | newest]

Thread overview: 74+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-28  7:50 [PATCH 1/2] firmware: include drivers/firmware/Kconfig unconditionally Arnd Bergmann
2021-09-28  7:50 ` Arnd Bergmann
2021-09-28  7:50 ` Arnd Bergmann
2021-09-28  7:50 ` Arnd Bergmann
2021-09-28  7:50 ` [PATCH 2/2] [v2] qcom_scm: hide Kconfig symbol Arnd Bergmann
2021-09-28  7:50   ` Arnd Bergmann
2021-09-28  7:50   ` Arnd Bergmann
2021-09-28  7:50   ` Arnd Bergmann
2021-09-28  7:50   ` Arnd Bergmann
2021-09-28 13:29   ` Alex Elder
2021-09-28 13:29     ` Alex Elder
2021-09-28 13:29     ` Alex Elder via iommu
2021-09-28 13:29     ` Alex Elder
2021-09-28 13:29     ` Alex Elder
2021-09-29 14:50   ` Bjorn Andersson
2021-09-29 14:50     ` Bjorn Andersson
2021-09-29 14:50     ` Bjorn Andersson
2021-09-29 14:50     ` Bjorn Andersson
2021-09-29 14:50     ` Bjorn Andersson
2021-09-28  8:37 ` [PATCH 1/2] firmware: include drivers/firmware/Kconfig unconditionally Charles Keepax
2021-09-28  8:37   ` Charles Keepax
2021-09-28  8:37   ` Charles Keepax
2021-09-28  8:37   ` Charles Keepax
2021-09-28  8:51   ` Arnd Bergmann
2021-09-28  8:51     ` Arnd Bergmann
2021-09-28  8:51     ` Arnd Bergmann
2021-09-28  8:51     ` Arnd Bergmann
2021-09-28  9:24     ` Charles Keepax
2021-09-28  9:24       ` Charles Keepax
2021-09-28  9:24       ` Charles Keepax
2021-09-28  9:24       ` Charles Keepax
2021-09-28 11:25       ` Mark Brown
2021-09-28 11:25         ` Mark Brown
2021-09-28 11:25         ` Mark Brown
2021-09-28 11:25         ` Mark Brown
2021-09-29 14:15       ` Bjorn Andersson
2021-09-29 14:15         ` Bjorn Andersson
2021-09-29 14:15         ` Bjorn Andersson
2021-09-29 14:15         ` Bjorn Andersson
2021-09-28 11:58 ` Mark Brown
2021-09-28 11:58   ` Mark Brown
2021-09-28 11:58   ` Mark Brown
2021-09-28 11:58   ` Mark Brown
2021-09-28 12:22   ` Arnd Bergmann
2021-09-28 12:22     ` Arnd Bergmann
2021-09-28 12:22     ` Arnd Bergmann
2021-09-28 12:22     ` Arnd Bergmann
2021-09-29 14:59     ` Bjorn Andersson
2021-09-29 15:00       ` Bjorn Andersson
2021-09-29 15:00       ` Bjorn Andersson
2021-09-29 15:00       ` Bjorn Andersson
2021-09-29 10:17 ` Will Deacon
2021-09-29 10:17   ` Will Deacon
2021-09-29 10:17   ` Will Deacon
2021-09-29 10:17   ` Will Deacon
2021-10-06  8:29 ` Charles Keepax
2021-10-06  8:29   ` Charles Keepax
2021-10-06  8:29   ` Charles Keepax
2021-10-06  8:29   ` Charles Keepax
2021-10-09  9:24 ` Paul Menzel
2021-10-09  9:24   ` Paul Menzel
2021-10-09  9:24   ` Paul Menzel
2021-10-09  9:24   ` Paul Menzel
2021-10-09  9:24   ` Paul Menzel
2021-10-11  8:42   ` Geert Uytterhoeven
2021-10-11  8:42     ` Geert Uytterhoeven
2021-10-11  8:42     ` Geert Uytterhoeven
2021-10-11  8:42     ` Geert Uytterhoeven
2021-10-11  8:42     ` Geert Uytterhoeven
2021-10-11  9:45     ` Arnd Bergmann
2021-10-11  9:45       ` Arnd Bergmann
2021-10-11  9:45       ` Arnd Bergmann
2021-10-11  9:45       ` Arnd Bergmann
2021-10-11  9:45       ` Arnd Bergmann

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.