Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753889Ab2HBJSw (ORCPT ); Thu, 2 Aug 2012 05:18:52 -0400 Received: from hqemgate04.nvidia.com ([216.228.121.35]:19012 "EHLO hqemgate04.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753775Ab2HBJSu (ORCPT ); Thu, 2 Aug 2012 05:18:50 -0400 X-PGP-Universal: processed; by hqnvupgp05.nvidia.com on Thu, 02 Aug 2012 02:18:50 -0700 Message-ID: <501A4669.9090707@nvidia.com> Date: Thu, 2 Aug 2012 18:20:41 +0900 From: Alex Courbot Organization: NVIDIA User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120717 Thunderbird/14.0 MIME-Version: 1.0 To: Thierry Reding CC: Stephen Warren , Stephen Warren , Simon Glass , Grant Likely , Rob Herring , Greg Kroah-Hartman , Mark Brown , Arnd Bergmann , "linux-tegra@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-fbdev@vger.kernel.org" , "devicetree-discuss@lists.ozlabs.org" Subject: Re: [RFC][PATCH v3 1/3] runtime interpreted power sequences References: <1343390750-3642-1-git-send-email-acourbot@nvidia.com> <1343390750-3642-2-git-send-email-acourbot@nvidia.com> <50170EA0.1010408@wwwdotorg.org> <501A338D.7080105@nvidia.com> <20120802082157.GA14866@avionic-0098.adnet.avionic-design.de> <501A3A00.7070207@nvidia.com> <20120802084541.GA15042@avionic-0098.adnet.avionic-design.de> In-Reply-To: <20120802084541.GA15042@avionic-0098.adnet.avionic-design.de> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2772 Lines: 74 On Thu 02 Aug 2012 05:45:41 PM JST, Thierry Reding wrote: > * PGP Signed by an unknown key > > On Thu, Aug 02, 2012 at 05:27:44PM +0900, Alex Courbot wrote: >> On Thu 02 Aug 2012 05:21:57 PM JST, Thierry Reding wrote: >>>> Old Signed by an unknown key >>> >>> On Thu, Aug 02, 2012 at 05:00:13PM +0900, Alex Courbot wrote: >>>> On 07/31/2012 07:45 AM, Stephen Warren wrote: >>>>> Oh I see. That's a little confusing. Why not just reference the relevant >>>>> resources directly in each step; something more like: >>>>> >>>>> gpio@1 { >>>>> action = "enable-gpio"; >>>>> gpio = <&gpio 1 0>; >>>>> }; >>>>> >>>>> I guess that might make parsing/building a little harder, since you'd >>>>> have to detect when you'd already done gpio_request() on a given GPIO >>>>> and not repeat it or something like that, but to me this makes the DT a >>>>> lot easier to comprehend. >>>> >>>> I tried to move towards having the phandles directly in the >>>> sequences themselves - that reminded me why I did not do that in the >>>> first place. Let's say we have a sequence like this (reg property >>>> omitted on purpose): >>>> >>>> power-on-sequence { >>>> step@0 { >>>> regulator = <&backlight_reg>; >>>> enable; >>>> }; >>>> step@1 { >>>> delay = <10000>; >>>> }; >>>> step@2 { >>>> pwm = <&pwm 2 5000000>; >>>> enable; >>>> }; >>>> step@3 { >>>> gpio = <&gpio 28 0>; >>>> enable; >>>> }; >>>> }; >>>> >>>> The problem is, how do we turn these phandles into the resource of >>>> interest. The type of the resource can be infered by the name of the >>>> property. The hard part is resolving the resource from the phandle - >>>> it seems like the API just does not allow to do this. GPIO has >>>> of_get_named_gpio, but AFAIK there are no equivalent for regulator >>>> consumer and PWM: the only way to use the DT with them is through >>>> get_regulator and get_pwm which work at the device level. >>>> >>>> Or is there a way that I overlooked? >>> >>> No, you are right. Perhaps we should add exported functions that do the >>> equivalent of of_pwm_request() or the regulator_dev_lookup() and >>> of_get_regulator() pair. >> >> How would that be looked with respect to "good DT practices"? I can >> somehow understand the wish to restrain DT access to these functions >> that integrate well with current workflows. Aren't we going to be >> frowned upon if we make more low-level functions public? > > Yes, I think that's exactly what will happen. Probably not worth to try this then? Alex. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/