Re: [PATCH V1 Resend 2/3] cpufreq: dt: Add generic platform-device creation support
From: Viresh Kumar
Date: Thu Apr 07 2016 - 04:30:46 EST
On 01-04-16, 09:15, Rob Herring wrote:
> On Fri, Apr 1, 2016 at 5:23 AM, Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote:
> > So you mean for future DT files we can have something like this:
> >
> > cpus {
> > compatible = "operation-points-v2";
> > #address-cells = <1>;
> > #size-cells = <0>;
> >
> > cpu@0 {
> > compatible = "arm,cortex-a9";
> > reg = <0>;
> > next-level-cache = <&L2>;
> > operating-points-v2 = <&cpu0_opp_table>;
> > };
> > };
> >
> > cpu0_opp_table: opp_table0 {
> > opp@1000000000 {
> > opp-hz = /bits/ 64 <1000000000>;
> > opp-microvolt = <970000 975000 985000>;
> > opp-microamp = <70000>;
> > clock-latency-ns = <300000>;
> > opp-suspend;
> > };
> > opp@1100000000 {
> > opp-hz = /bits/ 64 <1100000000>;
> > opp-microvolt = <980000 1000000 1010000>;
> > opp-microamp = <80000>;
> > clock-latency-ns = <310000>;
> > };
> > };
> > };
> >
> >
> > And the cpufreq-dt driver can match /cpus node's compatible string against
> > "operating-points-v2" and create a device at runtime ?
> >
> > @Rob: Will that be acceptable to you? We are discussing (again) about how to
> > probe cpufreq-dt driver automatically for platforms :)
>
> No, I don't think that belongs in /cpus.
>
> Part of the problem is this requires a DT change if you switch between
> a platform-specific driver and generic driver.
Right.
> I don't understand the issue having a little bit of code to parse the
> DT and create the device.
I am fine with that, we were just re-evaluating our options :)
> If you are worried about having a long list
> of platforms,
At least I am not.
> you could instead check the tree for operating-points-v2
> property in the cpu node and create the device unless the platform is
> black-listed.
I don't really like the black-list idea much. It forces a Non
cpufreq-dt platform to edit cpufreq-dt related file, just to make its
own cpufreq driver work.
I find that ugly somehow :)
--
viresh