Re: [PATCH 2/3] ARM: ux500: Turn on the 'heartbeat' LED trigger

From: Lee Jones
Date: Wed Jan 09 2013 - 07:59:59 EST


> > Excuse my ignorance, but I'm a little confused by this.
> >
> > What's the difference between 'select <OPTION>' in the Kconfig and
> > 'CONFIG_<OPTION>=y' in the defconfig; besides the fact that if we
> > do it in the Kconfig file, we can be more selective with regards to
> > which platform it gets enabled on?
>
> Take this in Kconfig:
>
> config FOO
> bool "FOO option"
> select BAR
>
> config BAR
> bool "BAR option"
>
> Now, irrespective of the default configuration file being used:
> - if you don't enable FOO, then you can enable _and_ _disable_ BAR according
> to your needs.
> - if you enable FOO, then BAR will be _forcefully_ enabled and you can't
> turn it off without first disabling FOO.
>
> The default configuration file will specify the _default_ values for these
> options, but if FOO ends up being enabled, BAR will be forcefully enabled
> irrespective of what's in the configuration file.
>
> With this instead:
>
> config FOO
> bool "FOO option"
>
> config BAR
> bool "BAR option"
>
> Then, the two options are independent. They can be enabled and disabled
> by the configuration completely independently. However, their default
> values come from the default configuration file. So, if the config file
> has:
>
> CONFIG_FOO=y
> CONFIG_BAR=y
>
> and you do a 'make oldconfig' then they will remain set. If you use one
> of the configuration editing tools, you'll be presented with them already
> enabled, and you can turn them off independently.
>
> So, putting this stuff in the default configuration file allows
> _non-mandatory_ options to be disabled should the user desire without the
> user having to edit the configuration files.
>
> If a user has to edit the configuration files in order to configure the
> kernel as they desire, then the configuration system has failed - or we
> have failed to properly think out how to represent the allowable
> configurations.

Understood. Thanks for the explanation.

Linus, is it okay to put these in the defconfig instead?

If so, I'll fixup.

--
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/