Lines Matching refs:descs
305 struct gpio_desc *descs; in gpiochip_add() local
307 descs = kcalloc(chip->ngpio, sizeof(descs[0]), GFP_KERNEL); in gpiochip_add()
308 if (!descs) in gpiochip_add()
330 struct gpio_desc *desc = &descs[id]; in gpiochip_add()
343 chip->desc = descs; in gpiochip_add()
384 kfree(descs); in gpiochip_add()
2354 struct gpio_descs *descs; in gpiod_get_array() local
2361 descs = kzalloc(sizeof(*descs) + sizeof(descs->desc[0]) * count, in gpiod_get_array()
2363 if (!descs) in gpiod_get_array()
2366 for (descs->ndescs = 0; descs->ndescs < count; ) { in gpiod_get_array()
2367 desc = gpiod_get_index(dev, con_id, descs->ndescs, flags); in gpiod_get_array()
2369 gpiod_put_array(descs); in gpiod_get_array()
2372 descs->desc[descs->ndescs] = desc; in gpiod_get_array()
2373 descs->ndescs++; in gpiod_get_array()
2375 return descs; in gpiod_get_array()
2393 struct gpio_descs *descs; in gpiod_get_array_optional() local
2395 descs = gpiod_get_array(dev, con_id, flags); in gpiod_get_array_optional()
2396 if (IS_ERR(descs) && (PTR_ERR(descs) == -ENOENT)) in gpiod_get_array_optional()
2399 return descs; in gpiod_get_array_optional()
2419 void gpiod_put_array(struct gpio_descs *descs) in gpiod_put_array() argument
2423 for (i = 0; i < descs->ndescs; i++) in gpiod_put_array()
2424 gpiod_put(descs->desc[i]); in gpiod_put_array()
2426 kfree(descs); in gpiod_put_array()