lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <699D6248-729F-4E9B-A9D3-713B653E818F@niasdigital.com>
Date:	Sat, 23 Apr 2011 18:25:27 +1000
From:	Ben Nizette <bn@...sdigital.com>
To:	Linus Walleij <linus.walleij@...aro.org>
Cc:	Alan Cox <alan@...rguk.ukuu.org.uk>, linux-kernel@...r.kernel.org,
	Grant Likely <grant.likely@...retlab.ca>,
	Lee Jones <lee.jones@...aro.org>,
	linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH 1/2] gpio: add pin biasing and drive mode to gpiolib


On 21/04/2011, at 4:48 PM, Linus Walleij wrote:

> 2011/4/21 Ben Nizette <bn@...sdigital.com>:
> 
>>> 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.
> 
> Yeah, mea culpa, I twisted it around in my head. I mean the
> reverse. So this is why there are GPIO_CONFIG_BIAS_HIGH
> and GPIO_CONFIG_BIAS_GROUND in the predefined pin
> bias states.
> 
> (I do get it, don't worry, I was in electroscience before I
> turned computer science actually...)

np, did a bit of a double-take myself :)

> 
>>  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.
> 
> Yes, the API is not only for drivers, it's for boards alright.
> 
> Pushing it to drivers/gpio give us two advantages:
> 
> 1. Depopulate the overpopulated arch/arm/* etc trees
> 2. Give an overview so the GPIO maintainer and others can
>  think about consolidations
> 3. Clear cut drivers that can have runtime PM hooks etc...
> 

Yep I think I like this now, looking forward to seeing a few driver
implementations and seeing what kind of cool custom features i/o IP
blocks have that can now be easily and usefully exposed.

Thanks!
	--Ben.

> Linus Walleij
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ