On 01-04-16, 09:15, Rob Herring wrote: > On Fri, Apr 1, 2016 at 5:23 AM, Viresh Kumar <[email protected]> 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

