Messages in this thread Patch in this message | | | Date | Thu, 26 Feb 2015 13:23:57 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH] kconfig: Use macros which are already defined |
| |
On Mon, 23 Feb 2015 11:23:14 +0100 Michal Simek <monstr@monstr.eu> wrote:
> Hi Andrew, > > On 12/11/2014 10:00 AM, Michal Simek wrote: > > It is better to use macros which are already available > > because then there is just one location which needs to be change. > > > > Signed-off-by: Michal Simek <michal.simek@xilinx.com> > > --- > > > > FYI: Fengguang's testing system doesn't show any build error. > > --- > > include/linux/kconfig.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/include/linux/kconfig.h b/include/linux/kconfig.h > > index be342b94c640..71acdf650e2e 100644 > > --- a/include/linux/kconfig.h > > +++ b/include/linux/kconfig.h > > @@ -28,7 +28,7 @@ > > * > > */ > > #define IS_ENABLED(option) \ > > - (config_enabled(option) || config_enabled(option##_MODULE)) > > + (IS_BUILTIN(option) || IS_MODULE(option)) > > > > /* > > * IS_BUILTIN(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y', 0 > > -- > > 1.8.2.3 > > >
I can't find the original email anywhere, hrm.
As I received it, this patch is From:monstr@monstr.eu and Signed-off-by:michal.simek@xilinx.com, which is unusual. Probably you should be adding explicit From: lines to the patch changelogs to override this.
After the patch, IS_ENABLED is defined before the macros which it uses. That's not an error (unless someone puts an inlined function in there before the IS_BUILTIN or IS_MODULE definitions), but it's unusual, unexpected and illogical. So,
--- a/include/linux/kconfig.h~kconfig-use-macros-which-are-already-defined-fix +++ a/include/linux/kconfig.h @@ -23,14 +23,6 @@ #define ___config_enabled(__ignored, val, ...) val /* - * IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm', - * 0 otherwise. - * - */ -#define IS_ENABLED(option) \ - (IS_BUILTIN(option) || IS_MODULE(option)) - -/* * IS_BUILTIN(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y', 0 * otherwise. For boolean options, this is equivalent to * IS_ENABLED(CONFIG_FOO). @@ -43,4 +35,11 @@ */ #define IS_MODULE(option) config_enabled(option##_MODULE) +/* + * IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm', + * 0 otherwise. + */ +#define IS_ENABLED(option) \ + (IS_BUILTIN(option) || IS_MODULE(option)) + #endif /* __LINUX_KCONFIG_H */ _
| |