Thread (29 messages) 29 messages, 5 authors, 2012-10-04

[PATCH RFC 1/2] gpio: Add a block GPIO API to gpiolib

From: Jean-Christophe PLAGNIOL-VILLARD <hidden>
Date: 2012-09-29 20:09:34
Also in: lkml

On 20:32 Fri 28 Sep     , Roland Stigge wrote:
Hi,

On 28/09/12 18:01, Jean-Christophe PLAGNIOL-VILLARD wrote:
quoted
quoted
Maybe like this, for some struct block *?

block = set_block_prepare(gc, pins, values, size);
if (block) {
set_block(gc, block);
...
set_block_unprepare(gc, block);
}

Would mean that all supported drivers would need to implement those 3
new functions... Need to be careful about not introducing bloat...
the prepare is gpiolib specific, it will be a helper to conver a gpio list to
a gpio block list

I was thinking more

block = gpio_block_prepare(pins, size);

gpio_block_set_value(pin0, val);
gpio_block_set_value(pin1, val);
gpio_block_set_value(pin2, val);
gpio_block_set(block);

andfor get

gpio_block_get(block)
val = gpio_block_get_value(block, pin0);
val = gpio_block_get_value(block, pin1);

for the gpio driver ti's transparent
Problem here is that it's only an intermediate format since hardware
often needs special preparation of the data.

But will evaluate what makes most sense.
the key point here is to avoid to manipualte data each time we call
gpio_block_set

hardware specific will have to be handle at driver level

Best Regards,
J.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help