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

From: David Brownell
Date: Mon Dec 29 2008 - 15:35:55 EST


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