Re: [PATCH] kconfig: Introduce IS_ENABLED(), IS_BUILTIN() and IS_MODULE()

Arnaud Lacombe
2011-07-29T18:58:05Z

Hi,

On Fri, Jul 29, 2011 at 2:25 PM, Randy Dunlap <rdunlap@xenotime.net> wrote:
> On Fri, 29 Jul 2011 15:51:37 +0200 Michal Marek wrote:
>
>> Replace the config_is_*() macros with a variant that allows for grepping
>> for usage of CONFIG_* options in the code. Usage:
>>
>>   if (IS_ENABLED(CONFIG_NUMA))
>>
>> or
>>
>>   #if IS_ENABLED(CONFIG_NUMA)
>>
>> The IS_ENABLED() macro evaluates to 1 if the argument is set (to either 'y'
>> or 'm'), IS_BUILTIN() tests if the option is 'y' and IS_MODULE() test if
>> the option is 'm'. Only boolean and tristate options are supported.
>>
>> Signed-off-by: Michal Marek <mmarek@suse.cz>
>> ---
>>
>> Everybody happy with the above naming?
>
> Yes here.
>
> Acked-by: Randy Dunlap <rdunlap@xenotime.net>
>
> These strings are being written to the .config file, right?
>
no, they are written to `include/generated/autoconf.h'

- Arnaud

>> +             /*
>> +              * Generate the __enabled_CONFIG_* and
>> +              * __enabled_CONFIG_*_MODULE macros for use by the
>> +              * IS_{ENABLED,BUILTIN,MODULE} macros. The _MODULE variant is
>> +              * generated even for booleans so that the IS_ENABLED() macro
>> +              * works.
>> +              */
>> +             fprintf(fp, "#define __enabled_" CONFIG_ "%s %d\n",
>> +                             sym->name, (*value == 'y'));
>> +             fprintf(fp, "#define __enabled_" CONFIG_ "%s_MODULE %d\n",
>> +                             sym->name, (*value == 'm'));
>>               break;
>
>
> ---
> ~Randy
> *** Remember to use Documentation/SubmitChecklist when testing your code ***
>