[PATCH] Make COMPILE_TEST depend on !UML

From: Richard Weinberger
Date: Fri Jun 17 2016 - 04:43:31 EST


UML is a bit special since it does not have iomem nor dma.
That means a lot of drivers will not build if they miss a
dependency on HAS_IOMEM. s390 used to have the same issues
but since it gained PCI support UML is the only stranger.

We are tired of patching dozens of new drivers after every
merge window just to un-break allmod/yesconfig UML builds.
One could argue that a decent driver has to know on what
it depends and therefore a missing HAS_IOMEM dependency is
a clear driver bug. But the dependency not obvious and not
everyone does UML builds with COMPILE_TEST enabled when
developing a device driver.

A possible solution to make these builds succeed on UML
would be providing stub functions for ioremap() and friends
which fail upon runtime. Another one is simply disabling
COMPILE_TEST for UML. Since it is the least hassle and does
not force use to fake iomem support let's do the latter.

Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Richard Weinberger <richard@xxxxxx>
---
init/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/init/Kconfig b/init/Kconfig
index f755a60..eae1808 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -55,6 +55,7 @@ config CROSS_COMPILE

config COMPILE_TEST
bool "Compile also drivers which will not load"
+ depends on !UML
default n
help
Some drivers can be compiled on a different platform than they are
--
2.7.3