On 5 February 2013 16:34, Borislav Petkov bp@alien8.de wrote:
Here's an even cleaner way:
platform_driver: init(struct cpufreq_policy *policy) { ...
add_additional_sysfs_entries(policy); ...
}
...
static void add_additional_sysfs_entries(struct cpufreq_policy *policy) { #ifdef CONFIG_CPUFREQ_MULTIPLE_POLICIES create-folder-in-cpu/cpu*/cpufreq; ... #endif }
and the platform driver will have in its Kconfig section:
config CPUFREQ_PLATFORM_DRIVER_X ... select CPUFREQ_MULTIPLE_POLICIES
You don't need the policy->have_multiple_policies member even.
Tricky part is the name of this routine: add_additional_sysfs_entries().
I am not proposing additional set of directories inside cpu/cpu*/cpufreq/ but either of cpu/cpufreq/ or cpu/cpu*/cpufreq/ for governor.
And so, keeping that additional variable looks a better solution. Let me get a patch with this change only and see how it looks.