Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754304Ab1DUA3h (ORCPT ); Wed, 20 Apr 2011 20:29:37 -0400 Received: from outbound.icp-qv1-irony-out1.iinet.net.au ([203.59.1.106]:56998 "EHLO outbound.icp-qv1-irony-out1.iinet.net.au" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752797Ab1DUA3g (ORCPT ); Wed, 20 Apr 2011 20:29:36 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApEBAH95r03L2T1e/2dsb2JhbAANryIcvjSFdgSSPg X-IronPort-AV: E=Sophos;i="4.64,248,1301846400"; d="scan'208";a="780581708" Subject: Re: [PATCH 1/2] gpio: add pin biasing and drive mode to gpiolib Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Ben Nizette In-Reply-To: Date: Thu, 21 Apr 2011 10:29:11 +1000 Cc: Alan Cox , linux-kernel@vger.kernel.org, Grant Likely , Lee Jones , linux-arm-kernel@lists.infradead.org Content-Transfer-Encoding: 7bit Message-Id: <62B5223C-AFC9-4DF6-B0BD-2678E082047D@niasdigital.com> References: <1303076273-8093-1-git-send-email-linus.walleij@stericsson.com> <3F5641E3-C443-4541-9FDA-24D215597C1F@niasdigital.com> <20110418091902.13345132@lxorguk.ukuu.org.uk> <92FFDB9F-37F1-4618-A53D-FEF4151A4953@niasdigital.com> <20110418132629.12d9a106@lxorguk.ukuu.org.uk> <6C3F739A-A157-4796-9572-C6B0FAC2565E@niasdigital.com> To: Linus Walleij X-Mailer: Apple Mail (2.1084) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1554 Lines: 42 RESEND, sorry if you get this twice. Crappy MUA.. On 20/04/2011, at 10:21 PM, Linus Walleij wrote: > 2011/4/19 Ben Nizette : >> On 18/04/2011, at 10:26 PM, Alan Cox wrote: >> >>> The logical extension to that is to delete the gpio layer because the >>> board code can do it ? >> >> Well anything that is done once at startup, yes, > > This patch is about biasing and drive modes. We need to alter > these at runtime (from board code, indeed) due to the fact that > when you go to sleep e.g. floating a pin yeilds better power > characteristics. This is actually an interesting case because floating pins yeild /worse/ power characteristics (each transistor of the push-pull is on a little bit and you get a path straight through) [1]. To get good power performance you want to pull an input pin high or low but which of those two directions depends on external constraints, i.e. the board. This is a case where the driver should /not/ go playing with things it can't fully understand. Perhaps one of the properties that a board can set in a gpio chip driver is the suspend state and have suspend/resume hooks in the gpio chip take care of setting things up on each side. --Ben. [1] http://processors.wiki.ti.com/index.php/Optimizing_IO_Power_Consumption > > Linus Walleij -- 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/