From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935158AbcIOMqb (ORCPT ); Thu, 15 Sep 2016 08:46:31 -0400 Received: from foss.arm.com ([217.140.101.70]:35854 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933268AbcIOMq3 (ORCPT ); Thu, 15 Sep 2016 08:46:29 -0400 Date: Thu, 15 Sep 2016 13:46:02 +0100 From: Mark Rutland To: "Bryan O'Donoghue" Cc: Greg KH , Arnd Bergmann , linux-kernel@vger.kernel.org, Johan Hovold , Rui Miguel Silva , Laurent Pinchart , Sandeep Patil , Matt Porter , John Stultz , Rob Herring , Viresh Kumar , Alex Elder , David Lin , Vaibhav Agarwal , Mark Greer , marc.zyngier@arm.com, linux-arm-kernel@lists.infradead.org Subject: Re: [GIT PULL] Greybus driver subsystem for 4.9-rc1 Message-ID: <20160915124601.GA9316@leverpostej> References: <20160914100949.GA6179@kroah.com> <20160914173625.GB15356@leverpostej> <20160914180754.GA16053@kroah.com> <20160914182952.GA21615@kroah.com> <1473932133.10230.25.camel@nexus-software.ie> <20160915101330.GB6718@leverpostej> <1473935756.10230.42.camel@nexus-software.ie> <20160915112029.GC6718@leverpostej> <1473940088.10230.65.camel@nexus-software.ie> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1473940088.10230.65.camel@nexus-software.ie> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. However, the DT cannot possibly know anything about get_cycles(), as get_cycles() is a kernel implementation details that's subject to arbitrary change at any point in time, independent of the DT. The "google,greybus-frame-time-counter" node, as it stands, does not capture any relevant hardware detail, and does not belong in the DT. > > Without a higher-level view of what you're trying to achieve, it's > > not clear to me whether get_cycles() is the right interface. > > I appreciate that. Until that's clarified, we won't make any progress here. Thanks, Mark.