linux-imx/include
Paul Gortmaker 987bf4393b kconfig: fix IS_ENABLED to not require all options to be defined
commit 69349c2dc0 upstream.

Using IS_ENABLED() within C (vs.  within CPP #if statements) in its
current form requires us to actually define every possible bool/tristate
Kconfig option twice (__enabled_* and __enabled_*_MODULE variants).

This results in a huge autoconf.h file, on the order of 16k lines for a
x86_64 defconfig.

Fixing IS_ENABLED to be able to work on the smaller subset of just
things that we really have defined is step one to fixing this.  Which
means it has to not choke when fed non-enabled options, such as:

  include/linux/netdevice.h:964:1: warning: "__enabled_CONFIG_FCOE_MODULE" is not defined [-Wundef]

The original prototype of how to implement a C and preprocessor
compatible way of doing this came from the Google+ user "comex ." in
response to Linus' crowdsourcing challenge for a possible improvement on
his earlier C specific solution:

	#define config_enabled(x)       (__stringify(x)[0] == '1')

In this implementation, I've chosen variable names that hopefully make
how it works more understandable.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
2018-03-19 18:58:25 +00:00
..
acpi ACPICA: Tables: Fix an issue that FACS initialization is performed twice 2015-08-12 16:33:18 +02:00
asm-generic scsi: dma-mapping: always provide dma_get_cache_alignment 2018-03-03 15:50:38 +00:00
crypto crypto: hmac - require that the underlying hash algorithm is unkeyed 2018-01-01 20:51:05 +00:00
drm drm: Fix an unwanted master inheritance v2 2015-12-30 02:26:00 +00:00
keys
linux kconfig: fix IS_ENABLED to not require all options to be defined 2018-03-19 18:58:25 +00:00
math-emu
media tuner: Fix numberspace conflict between xc4000 and pti 5nf05 tuners 2012-01-25 16:13:51 -08:00
misc [media] altera-stapl: it is time to move out from staging 2011-09-23 15:00:57 -03:00
mtd
net Bluetooth: Remove unused hci_le_ltk_reply() 2018-03-19 18:58:21 +00:00
pcmcia
rdma IB/core: Add inline function to validate port 2017-10-12 15:27:14 +01:00
rxrpc
scsi scsi: libsas: align sata_device's rps_resp on a cacheline 2018-03-03 15:50:39 +00:00
sound ALSA: seq: Avoid invalid lockdep class warning 2018-01-01 20:51:02 +00:00
target target: Fix lookup of dynamic NodeACLs during cached demo-mode operation 2013-03-06 03:24:03 +00:00
trace KVM: Fix stack-out-of-bounds read in write_mmio 2018-01-01 20:51:04 +00:00
video OMAPDSS: HDMI: PHY burnout fix 2012-03-12 12:31:38 -07:00
xen xen: Add RING_COPY_REQUEST() 2016-01-22 21:40:06 +00:00
Kbuild