Re: [PATCH 00/31] CPUFreq: Implement light weight ->target(): for 3.13

From: Rafael J. Wysocki
Date: Mon Aug 12 2013 - 18:37:42 EST


On Monday, August 12, 2013 11:18:36 PM Viresh Kumar wrote:
> Currently prototype of cpufreq_drivers target routines is:
>
> int target(struct cpufreq_policy *policy, unsigned int target_freq,
> unsigned int relation);
>
> And most of the drivers call cpufreq_frequency_table_target() to get a valid
> index of their frequency table which is closest to the target_freq. And they
> don't use target_freq and relation after it.
>
> So, it makes sense to just do this work in cpufreq core before calling
> cpufreq_frequency_table_target() and simply pass index instead. But this can be
> done only with drivers which expose their frequency table with cpufreq core. For
> others we need to stick with the old prototype of target() until those drivers
> are converted to expose frequency tables.
>
> So, in order not to break those special drivers first patch renames ->target() to
> ->target_old() and the following patches will define the new prototype and
> convert existing drivers one by one.

Super-ugly.

Please just keep the old .target() as is, add a new callback and switch the
suitable drivers to using it. You may call the new one .target_index() or
something along these lines.

Thanks,
Rafael


--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
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/