[PATCH 206/228] cpufreq: sa11x0: remove calls to cpufreq_notify_transition()

Russell King - ARM Linux linux at arm.linux.org.uk
Fri Sep 13 12:15:28 EDT 2013


On Fri, Sep 13, 2013 at 09:42:23PM +0530, Viresh Kumar wrote:
> On 13 September 2013 21:24, Russell King - ARM Linux
> <linux at arm.linux.org.uk> wrote:
> > On Fri, Sep 13, 2013 at 06:32:32PM +0530, Viresh Kumar wrote:
> >> Most of the drivers do following in their ->target_index() routines:
> >>
> >>       struct cpufreq_freqs freqs;
> >>       freqs.old = old freq...
> >>       freqs.new = new freq...
> >>
> >>       cpufreq_notify_transition(policy, &freqs, CPUFREQ_PRECHANGE);
> >>
> >>       /* Change rate here */
> >>
> >>       cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE);
> >>
> >> This is replicated over all cpufreq drivers today and there doesn't exists a
> >> good enough reason why this shouldn't be moved to cpufreq core instead.
> >>
> >> Earlier patches have added support in cpufreq core to do cpufreq notification on
> >> frequency change, this one removes it from this driver.
> >>
> >> Some related minor cleanups are also done along with it.
> >>
> >> Cc: Russell King <linux at arm.linux.org.uk>
> >> Signed-off-by: Viresh Kumar <viresh.kumar at linaro.org>
> >
> > Shouldn't this patch set CPUFREQ_ASYNC_NOTIFICATION somewhere?
> 
> As far as I can see, sa11x0 completes frequency transition from within
> target() and so it does it synchronously.. And so it doesn't need to set
> CPUFREQ_ASYNC_NOTIFICATION...
> 
> Am I missing something?

The patch to which I'm replying removes the above calls.  These calls are
necessary to shutdown various bits of CPU-clock dependent hardware
before changing the CPU clock, and restore them - reconfiguring them
for the new clock rate after the transition has happened.

So, if you're removing these calls, what replaces them?  I don't see
anything which does without the above set.



More information about the linux-arm-kernel mailing list