On 09/28/2012 11:08 AM, Jean-Christophe PLAGNIOL-VILLARD wrote: >> 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/