[PATCH RFC 1/2] gpio: Add a block GPIO API to gpiolib
From: Roland Stigge <hidden>
Date: 2012-09-28 09:23:40
Also in:
lkml
From: Roland Stigge <hidden>
Date: 2012-09-28 09:23:40
Also in:
lkml
On 09/28/2012 11:08 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
quoted
Good idea! Talking about the public API (your above gpio_set_block()): *gpios is a list of GPIOs, but set is still bitmapped (mapped onto the list specified in *gpios)? To prevent confusion about what the size argument means (number of gpios in *gpios _or_ number of bytes in the bitmap *set) - wouldn't it be clearer to have a "bool *set" and "bool *values" list?public API list of gpio as example gpios = {1, 33, 34, 55}; set = {1, 0, 0 ,1}; gpio_set_blocks(gpios, set, 4); private you do just provide the array related to the gpio_chip lets assume 4 bank with 32 gpio each gpio0 = {1}; set0 = {1}; gpio1 = {33, 34}; set1 = {0, 0}; gpio2 = {55}; set2 = {1}; set_blocks(gpio_chip0, gpio0, set0, 1); set_blocks(gpio_chip1, gpio1, set1, 2); set_blocks(gpio_chip2, gpio2, set2, 1);
Good. For the internal driver API (gpio_chip), we even don't really need the first argument (gpio_chip) since we can infer it from the gpios. Will provide an update. Roland