Lines Matching refs:descs
244 struct gpio_desc *descs; in gpiochip_add() local
246 descs = kcalloc(chip->ngpio, sizeof(descs[0]), GFP_KERNEL); in gpiochip_add()
247 if (!descs) in gpiochip_add()
269 struct gpio_desc *desc = &descs[id]; in gpiochip_add()
282 chip->desc = descs; in gpiochip_add()
312 kfree(descs); in gpiochip_add()
2177 struct gpio_descs *descs; in gpiod_get_array() local
2184 descs = kzalloc(sizeof(*descs) + sizeof(descs->desc[0]) * count, in gpiod_get_array()
2186 if (!descs) in gpiod_get_array()
2189 for (descs->ndescs = 0; descs->ndescs < count; ) { in gpiod_get_array()
2190 desc = gpiod_get_index(dev, con_id, descs->ndescs, flags); in gpiod_get_array()
2192 gpiod_put_array(descs); in gpiod_get_array()
2195 descs->desc[descs->ndescs] = desc; in gpiod_get_array()
2196 descs->ndescs++; in gpiod_get_array()
2198 return descs; in gpiod_get_array()
2216 struct gpio_descs *descs; in gpiod_get_array_optional() local
2218 descs = gpiod_get_array(dev, con_id, flags); in gpiod_get_array_optional()
2219 if (IS_ERR(descs) && (PTR_ERR(descs) == -ENOENT)) in gpiod_get_array_optional()
2222 return descs; in gpiod_get_array_optional()
2242 void gpiod_put_array(struct gpio_descs *descs) in gpiod_put_array() argument
2246 for (i = 0; i < descs->ndescs; i++) in gpiod_put_array()
2247 gpiod_put(descs->desc[i]); in gpiod_put_array()
2249 kfree(descs); in gpiod_put_array()