On 13 August 2013 04:17, Rafael J. Wysocki rjw@sisk.pl wrote:
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.
Thanks. I expected something similar.. :)
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.
I thought of implementing with this name but then thought maybe earlier name is good enough and can be kept and so went for the *Super-ugly* solution..
Will be fixed :)