linux/kconfig.h: replace IF_ENABLED() with PTR_IF() in <linux/kernel.h>
authorMasahiro Yamada <masahiroy@kernel.org>
Wed, 5 May 2021 17:45:15 +0000 (02:45 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Sat, 8 May 2021 15:29:45 +0000 (00:29 +0900)
commit0ab1438bad43d95877f848b7df551bd431680270
treec25724063ce7233107753ebc443447d143aadb1c
parent51eb95e2da41802454f48b9afeb4d96a77295035
linux/kconfig.h: replace IF_ENABLED() with PTR_IF() in <linux/kernel.h>

<linux/kconfig.h> is included from all the kernel-space source files,
including C, assembly, linker scripts. It is intended to contain a
minimal set of macros to evaluate CONFIG options.

IF_ENABLED() is an intruder here because (x ? y : z) is C code, which
should not be included from assembly files or linker scripts.

Also, <linux/kconfig.h> is no longer self-contained because NULL is
defined in <linux/stddef.h>.

Move IF_ENABLED() out to <linux/kernel.h> as PTR_IF(). PTF_IF()
takes the general boolean expression instead of a CONFIG option
so that it fits better in <linux/kernel.h>.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
drivers/pinctrl/pinctrl-ingenic.c
include/linux/kconfig.h
include/linux/kernel.h