Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4bb16672 authored by Jiri Slaby's avatar Jiri Slaby Committed by Greg Kroah-Hartman
Browse files

build some drivers only when compile-testing



Some drivers can be built on more platforms than they run on. This is
a burden for users and distributors who package a kernel. They have to
manually deselect some (for them useless) drivers when updating their
configs via oldconfig. And yet, sometimes it is even impossible to
disable the drivers without patching the kernel.

Introduce a new config option COMPILE_TEST and make all those drivers
to depend on the platform they run on, or on the COMPILE_TEST option.
Now, when users/distributors choose COMPILE_TEST=n they will not have
the drivers in their allmodconfig setups, but developers still can
compile-test them with COMPILE_TEST=y.

Now the drivers where we use this new option:
* PTP_1588_CLOCK_PCH: The PCH EG20T is only compatible with Intel Atom
  processors so it should depend on x86.
* FB_GEODE: Geode is 32-bit only so only enable it for X86_32.
* USB_CHIPIDEA_IMX: The OF_DEVICE dependency will be met on powerpc
  systems -- which do not actually support the hardware via that
  method.
* INTEL_MID_PTI: It is specific to the Penwell type of Intel Atom
  device.

[v2]
* remove EXPERT dependency

[gregkh - remove chipidea portion, as it's incorrect, and also doesn't
 apply to my driver-core tree]

Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jeff Mahoney <jeffm@suse.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: linux-usb@vger.kernel.org
Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: linux-geode@lists.infradead.org
Cc: linux-fbdev@vger.kernel.org
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: netdev@vger.kernel.org
Cc: Ben Hutchings <ben@decadent.org.uk>
Cc: "Keller, Jacob E" <jacob.e.keller@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b5aef682
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -135,7 +135,7 @@ config PHANTOM

config INTEL_MID_PTI
	tristate "Parallel Trace Interface for MIPI P1149.7 cJTAG standard"
	depends on PCI && TTY
	depends on PCI && TTY && (X86_INTEL_MID || COMPILE_TEST)
	default n
	help
	  The PTI (Parallel Trace Interface) driver directs
+1 −0
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ config DP83640_PHY

config PTP_1588_CLOCK_PCH
	tristate "Intel PCH EG20T as PTP clock"
	depends on X86 || COMPILE_TEST
	select PTP_1588_CLOCK
	help
	  This driver adds support for using the PCH EG20T as a PTP
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
#
config FB_GEODE
	bool "AMD Geode family framebuffer support"
	depends on FB && PCI && X86
	depends on FB && PCI && (X86_32 || (X86 && COMPILE_TEST))
	---help---
	  Say 'Y' here to allow you to select framebuffer drivers for
	  the AMD Geode family of processors.
+14 −0
Original line number Diff line number Diff line
@@ -53,6 +53,20 @@ config CROSS_COMPILE
	  need to set this unless you want the configured kernel build
	  directory to select the cross-compiler automatically.

config COMPILE_TEST
	bool "Compile also drivers which will not load"
	default n
	help
	  Some drivers can be compiled on a different platform than they are
	  intended to be run on. Despite they cannot be loaded there (or even
	  when they load they cannot be used due to missing HW support),
	  developers still, opposing to distributors, might want to build such
	  drivers to compile-test them.

	  If you are a developer and want to build everything available, say Y
	  here. If you are a user/distributor, say N here to exclude useless
	  drivers to be distributed.

config LOCALVERSION
	string "Local version - append to kernel release"
	help