On 22 February 2013 05:23, Rafael J. Wysocki rjw@sisk.pl wrote:
On Monday, February 11, 2013 01:20:02 PM Viresh Kumar wrote:
+config CPU_FREQ_HAVE_MULTIPLE_POLICIES
bool
So I suppose some architectures will select this, right?
Yes. And they have to enable have_multiple_policies too from their drivers init code.
What architecture they are?
Atleast all big.LITTLE SoCs. Or any other SoC that has multiple policy structs alive at any time.
I'm not really sure I like this. ->
static inline struct kobject * get_governor_parent_kobj(struct cpufreq_policy *policy) { +#ifdef CONFIG_CPU_FREQ_HAVE_MULTIPLE_POLICIES if (policy->have_multiple_policies) return &policy->kobj; else +#endif return cpufreq_global_kobject;
-> I wonder why don't you arrange things so that policy->kobj is always returned, but it points to cpufreq_global_kobject in case there's only one (i.e. make policy->kobj a pointer)?
policy->kobj is a struct instance rather than a pointer and it is widely used within cpufreq.c. If you don't like this one then we can add another entry into struct policy like: gov_sysfs_parent.