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

Commit c0a0aba8 authored by Masahiro Yamada's avatar Masahiro Yamada Committed by Linus Torvalds
Browse files

kconfig.h: remove config_enabled() macro

The use of config_enabled() is ambiguous.  For config options,
IS_ENABLED(), IS_REACHABLE(), etc.  will make intention clearer.
Sometimes config_enabled() has been used for non-config options because
it is useful to check whether the given symbol is defined or not.

I have been tackling on deprecating config_enabled(), and now is the
time to finish this work.

Some new users have appeared for v4.9-rc1, but it is trivial to replace
them:

 - arch/x86/mm/kaslr.c
  replace config_enabled() with IS_ENABLED() because
  CONFIG_X86_ESPFIX64 and CONFIG_EFI are boolean.

 - include/asm-generic/export.h
  replace config_enabled() with __is_defined().

Then, config_enabled() can be removed now.

Going forward, please use IS_ENABLED(), IS_REACHABLE(), etc. for config
options, and __is_defined() for non-config symbols.

Link: http://lkml.kernel.org/r/1476616078-32252-1-git-send-email-yamada.masahiro@socionext.com


Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: default avatarIngo Molnar <mingo@kernel.org>
Acked-by: default avatarNicolas Pitre <nicolas.pitre@linaro.org>
Cc: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Kees Cook <keescook@chromium.org>
Cc: Michal Marek <mmarek@suse.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Thomas Garnier <thgarnie@google.com>
Cc: Paul Bolle <pebolle@tiscali.nl>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 8c8d4d45
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -104,10 +104,10 @@ void __init kernel_randomize_memory(void)
	 * consistent with the vaddr_start/vaddr_end variables.
	 * consistent with the vaddr_start/vaddr_end variables.
	 */
	 */
	BUILD_BUG_ON(vaddr_start >= vaddr_end);
	BUILD_BUG_ON(vaddr_start >= vaddr_end);
	BUILD_BUG_ON(config_enabled(CONFIG_X86_ESPFIX64) &&
	BUILD_BUG_ON(IS_ENABLED(CONFIG_X86_ESPFIX64) &&
		     vaddr_end >= EFI_VA_START);
		     vaddr_end >= EFI_VA_START);
	BUILD_BUG_ON((config_enabled(CONFIG_X86_ESPFIX64) ||
	BUILD_BUG_ON((IS_ENABLED(CONFIG_X86_ESPFIX64) ||
		      config_enabled(CONFIG_EFI)) &&
		      IS_ENABLED(CONFIG_EFI)) &&
		     vaddr_end >= __START_KERNEL_map);
		     vaddr_end >= __START_KERNEL_map);
	BUILD_BUG_ON(vaddr_end > __START_KERNEL_map);
	BUILD_BUG_ON(vaddr_end > __START_KERNEL_map);


+1 −1
Original line number Original line Diff line number Diff line
@@ -70,7 +70,7 @@ KSYM(__kcrctab_\name):
#include <generated/autoksyms.h>
#include <generated/autoksyms.h>


#define __EXPORT_SYMBOL(sym, val, sec)				\
#define __EXPORT_SYMBOL(sym, val, sec)				\
	__cond_export_sym(sym, val, sec, config_enabled(__KSYM_##sym))
	__cond_export_sym(sym, val, sec, __is_defined(__KSYM_##sym))
#define __cond_export_sym(sym, val, sec, conf)			\
#define __cond_export_sym(sym, val, sec, conf)			\
	___cond_export_sym(sym, val, sec, conf)
	___cond_export_sym(sym, val, sec, conf)
#define ___cond_export_sym(sym, val, sec, enabled)		\
#define ___cond_export_sym(sym, val, sec, enabled)		\
+2 −3
Original line number Original line Diff line number Diff line
@@ -31,7 +31,6 @@
 * When CONFIG_BOOGER is not defined, we generate a (... 1, 0) pair, and when
 * When CONFIG_BOOGER is not defined, we generate a (... 1, 0) pair, and when
 * the last step cherry picks the 2nd arg, we get a zero.
 * the last step cherry picks the 2nd arg, we get a zero.
 */
 */
#define config_enabled(cfg)		___is_defined(cfg)
#define __is_defined(x)			___is_defined(x)
#define __is_defined(x)			___is_defined(x)
#define ___is_defined(val)		____is_defined(__ARG_PLACEHOLDER_##val)
#define ___is_defined(val)		____is_defined(__ARG_PLACEHOLDER_##val)
#define ____is_defined(arg1_or_junk)	__take_second_arg(arg1_or_junk 1, 0)
#define ____is_defined(arg1_or_junk)	__take_second_arg(arg1_or_junk 1, 0)
@@ -41,13 +40,13 @@
 * otherwise. For boolean options, this is equivalent to
 * otherwise. For boolean options, this is equivalent to
 * IS_ENABLED(CONFIG_FOO).
 * IS_ENABLED(CONFIG_FOO).
 */
 */
#define IS_BUILTIN(option) config_enabled(option)
#define IS_BUILTIN(option) __is_defined(option)


/*
/*
 * IS_MODULE(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'm', 0
 * IS_MODULE(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'm', 0
 * otherwise.
 * otherwise.
 */
 */
#define IS_MODULE(option) config_enabled(option##_MODULE)
#define IS_MODULE(option) __is_defined(option##_MODULE)


/*
/*
 * IS_REACHABLE(CONFIG_FOO) evaluates to 1 if the currently compiled
 * IS_REACHABLE(CONFIG_FOO) evaluates to 1 if the currently compiled