On Thu, Sep 15, 2016 at 04:40:00PM +0100, Bryan O'Donoghue wrote: > On Thu, 2016-09-15 at 13:46 +0100, Mark Rutland wrote: > > On Thu, Sep 15, 2016 at 12:48:08PM +0100, Bryan O'Donoghue wrote: > > > On Thu, 2016-09-15 at 12:20 +0100, Mark Rutland wrote: > > > > For example, you have absolutely no guarantee as to what backs > > > > get_cycles(). Despite this, the code assumes that get_cycles() is > > > > backed by something running at the frequency described in a > > > > "google,greybus-frame-time-counter" node. > > > > > > > > Even if this *happens* to match what some piece of arch code > > > > provides > > > > today on some platform, it is in no way *guaranteed*. > > > That's the point though, if you declare "google,greybus-frame-time- > > > counter" in your platform code - then you can use 'get_cycles()' in > > > this manner > > To be clear, *some* properties (and perhaps additional nodes) may > > need > > to be in the DT, in order to capture the hardware property or > > relationship that you are reliant upon. > > Sure but on the relevant platform we know > > 1. get_cycles() is derived from an architectured MMIO timer > 2. What is clocking that timer > > So any platform that declares that property must be aware of what its > doing.
I can't say this any more explicitly: **************************************************** * The DT *cannot* know anything about get_cycles() * **************************************************** It's no more complex than that. Thanks, Mark.