From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755929Ab2A0HHz (ORCPT ); Fri, 27 Jan 2012 02:07:55 -0500 Received: from mail-pw0-f46.google.com ([209.85.160.46]:39896 "EHLO mail-pw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755903Ab2A0HHx (ORCPT ); Fri, 27 Jan 2012 02:07:53 -0500 Date: Fri, 27 Jan 2012 15:19:46 +0800 From: Shawn Guo To: Tony Lindgren Cc: Stephen Warren , Dong Aisheng-B29396 , "Linus Walleij (linus.walleij@linaro.org)" , "Sascha Hauer (s.hauer@pengutronix.de)" , "rob.herring@calxeda.com" , "kernel@pengutronix.de" , "cjb@laptop.org" , "Simon Glass (sjg@chromium.org)" , Dong Aisheng , Thomas Abraham , "Grant Likely (grant.likely@secretlab.ca)" , "devicetree-discuss@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" Subject: Re: Pinmux bindings proposal V2 Message-ID: <20120127071944.GC32740@S2101-09.ap.freescale.net> References: <74CDBE0F657A3D45AFBB94109FB122FF1780DAB4CE@HQMAIL01.nvidia.com> <20120123210052.GS22818@atomide.com> <20120126093610.GD2287@S2101-09.ap.freescale.net> <20120126175122.GX22818@atomide.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120126175122.GX22818@atomide.com> 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, Jan 26, 2012 at 09:51:23AM -0800, Tony Lindgren wrote: > Hi, > > * Shawn Guo [120126 00:53]: > > > > On Mon, Jan 23, 2012 at 01:00:52PM -0800, Tony Lindgren wrote: > > ... > > > So to summarize: I suggest we'll just stick to basics to get the system > > > booting and devices working using device tree. In most cases the device > > > drivers should be able to configure the suspend and off states in a generic > > > way using pinctrl API. Everything else, like debugging, we can probably > > > do with userspace tools. > > > > > > This would mean just using a minimal subset of your binding, probably > > > very close to what you originally suggested. > > > > > IMHO, as a generic device tree binding, it should be able to cope with > > different use cases. It's really free for you to use the minimal > > subset of the binding as your need, but we should not make the binding > > design just be that minimal subset to force that everyone else can > > only use the minimal subset. > > The main issue I have is that the example posted in this thread repeats > the same registers five times for one driver entry alone in the device > tree data. The repeated registers are TEGRA_PMX_PG_DTA and TEGRA_PMX_PG_DTD > in the example. > > The alternative values are something that the pinmux/pinconf driver can > set based on state changes communicated from the driver using these pins. I'm against the idea that requires client device drivers call pinctrl APIs on pin basis. They do not even know or care about the pins that they are using. That's all pinctrl driver's business. All client driver needs to do when it wants to change pinctrl setup should just be calling pinmux/pinconf_get/put[enable/disable](dev, "state"). Regards, Shawn > > That's why I think these alternative states should not be listed in the > device tree.