cpufreq: instantiate cpufreq-cpu0 as a platform_driver
authorShawn Guo <shawn.guo@linaro.org>
Wed, 30 Jan 2013 14:27:49 +0000 (14:27 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 1 Feb 2013 23:01:16 +0000 (00:01 +0100)
commit5553f9e26f6f49a93ba732fd222eac6973a4cf35
tree039a24ab646dc51c047f7b6695dcbb73f190a6e0
parent58ddcead4f163a01cef96aa5ba88f374011d8aea
cpufreq: instantiate cpufreq-cpu0 as a platform_driver

As multiplatform build is being adopted by more and more ARM platforms,
initcall function should be used very carefully.  For example, when
GENERIC_CPUFREQ_CPU0 is built in the kernel, cpu0_cpufreq_driver_init()
will be called on all the platforms to initialize cpufreq-cpu0 driver.

To eliminate this undesired the effect, the patch changes cpufreq-cpu0
driver to have it instantiated as a platform_driver.  Then it will only
run on platforms that create the platform_device "cpufreq-cpu0".

Along with the change, it also changes cpu_dev to be &pdev->dev,
so that managed functions can start working, and module build gets
supported too.

The highbank-cpufreq driver is also updated accordingly to adapt the
changes on cpufreq-cpu0.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Mark Langsdorf <mark.langsdorf@calxeda.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/Kconfig
drivers/cpufreq/cpufreq-cpu0.c
drivers/cpufreq/highbank-cpufreq.c