cpuidle: improve governor Kconfig options
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Tue, 28 May 2013 15:51:54 +0000 (15:51 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 3 Jun 2013 19:40:48 +0000 (21:40 +0200)
commitd6f346f2d2bf511c2c59176121a6e42ce60173a0
treea24c107dfbb4ccc5434dd3598fea81273ff2e9b9
parentd683b96b072dc4680fc74964eca77e6a23d1fa6e
cpuidle: improve governor Kconfig options

Each governor is suitable for different kernel configurations: the menu
governor suits better for a tickless system, while the ladder governor fits
better for a periodic timer tick system.

The Kconfig does not allow to [un]select a governor, thus both are compiled in
the kernel but the init order makes the menu governor to be the last one to be
registered, so becoming the default. The only way to switch back to the ladder
governor is to enable the sysfs governor switch in the kernel command line.

Because it seems nobody complained about this, the menu governor is used by
default most of the time on the system, having both governors is not really
necessary on a tickless system but there isn't a config option to disable one
or another governor.

Create a submenu for cpuidle and add a label for each governor, so we can see
the option in the menu config and enable/disable it.

The governors will be enabled depending on the CONFIG_NO_HZ option:
 - If CONFIG_NO_HZ is set, then the menu governor is selected and the ladder
   governor is optional, defaulting to 'yes'
 - If CONFIG_NO_HZ is not set, then the ladder governor is selected and the
   menu governor is optional, defaulting to 'yes'

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpuidle/Kconfig