omap cpufreq driver in multi-platform kernels
Paul Walmsley
paul at pwsan.com
Mon Apr 1 15:27:03 EDT 2013
Hi Eduardo,
On Mon, 1 Apr 2013, Eduardo Valentin wrote:
> On 30-03-2013 18:21, Paul Walmsley wrote:
> > On Wed, 27 Mar 2013, Nishanth Menon wrote:
> >
> > > On 10:53-20130327, Kevin Hilman wrote:
> > > > Nishanth Menon <nm at ti.com> writes:
> > > > > On 11:38-20130327, Rob Herring wrote:
> > > > > > On 03/27/2013 08:32 AM, Nishanth Menon wrote:
> > > > > > > On 02:23-20130327, Paul Walmsley wrote:
> > > > > > > > On Tue, 26 Mar 2013, Rob Herring wrote:
> > > > > > > > >
> > > > > > > > > Converting the driver to a platform driver would be another
> > > > > > > > > option.
> > > >
> > > > I think the platform_device conversion is the way to go. I think you
> > > > should do that instead of PATCH 8/8 of your OMAP conversion to the
> > > > generic driver[1].
> > >
> > > Yep, thinking about this over lunch, I came to the same conclusion that
> > > instead of checking on DT node existance, platform_device conversion
> > > will solve both parts of the puzzle.
> >
> > Looked at this a little today. I see that the platform_driver CPUFreq
> > driver approach was taken with several SoCs in mainline. Could someone
> > explain the theory behind making the CPUFreq drivers platform_drivers,
> > rather than just modules?
> >
> > The part that doesn't make sense to me is that the existing CPUFreq
> > drivers don't represent an actual hardware block. Conceptually, they
> > aren't drivers for the CPU, nor are they drivers for a CPU frequency
> > scaling IP block. One might as well bind a CPUIdle driver or a CPU
> > throttling thermal driver to the CPU device.
>
> I do agree with your point. On the other hand, I'd like to make a
> clarification here.
>
> CPU throttling feature not really done as a driver. The feature is exported to
> be used by policies built by other code. Check drivers/thermal/cpu_cooling.c.
>
> Thermal drivers are in fact drivers, as they are bound to an actual hardware
> block, a bandgap, a thermal sensor or a thermistor.
That might be the case for some or all of what's in mainline for the
thermal framework. But I've seen at least one Linux BSP for an ARM SoC
implement a thermal "cooling device" that isn't directly backed by any
hardware IP block.
Anyway, this is kind of a tangent.
- Paul
More information about the linux-arm-kernel
mailing list