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

From: [email-masked] (Roland Stigge)
Date: Fri, 28 Sep 2012 20:32:47 +0200

Hi,

On 28/09/12 18:01, Jean-Christophe PLAGNIOL-VILLARD wrote:
>> 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.

Thanks for your notes!

Roland