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
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