Thread (43 messages) 43 messages, 9 authors, 2009-01-10

Re: [RFC 2.6.27 1/1] gpiolib: add support for batch set of pins

From: David Brownell <hidden>
Date: 2008-12-29 20:35:54
Also in: lkml

On Sunday 28 December 2008, Jaya Kumar wrote:
I'd like to get the start/length approach out there and in-play to
find out if other people want to use it and how they end up using it.
As an *implementation* constraint, I might agree ... so
long as it's easily changed later.

As an *interface* constraint, I don't ... interfaces are
rarely easy to change.

However, in terms of implementation, most gpio chips have
primitives that work in terms of bitmasks rather than any
kind of start/length primitive.  Example:

 - To set bits in "u32 mask":
	iowrite32(mask, bank_base + SET_REG)
 - To clear bits in "u32 mask"
	iowrite32(mask, bank_base + CLR_REG)
 - To read bits in "u32 mask",
	return mask & ioread32(bank_base + VALUE_REG)

In short, start/length looks most like a policy, of the
"keep them out of interfaces!" flavor, than something
appropriate for an interface.  As noted above, gpio_chip
interfaces would more naturally use masks.

- Dave
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help