Lines Matching refs:array_info
3340 struct gpio_array *array_info, in gpiod_get_array_value_complex() argument
3351 if (array_info && array_info->desc == desc_array && in gpiod_get_array_value_complex()
3352 array_size <= array_info->size && in gpiod_get_array_value_complex()
3353 (void *)array_info == desc_array + array_info->size) { in gpiod_get_array_value_complex()
3355 WARN_ON(array_info->gdev->can_sleep); in gpiod_get_array_value_complex()
3357 guard(srcu)(&array_info->gdev->srcu); in gpiod_get_array_value_complex()
3358 gc = srcu_dereference(array_info->gdev->chip, in gpiod_get_array_value_complex()
3359 &array_info->gdev->srcu); in gpiod_get_array_value_complex()
3363 ret = gpio_chip_get_multiple(gc, array_info->get_mask, in gpiod_get_array_value_complex()
3368 if (!raw && !bitmap_empty(array_info->invert_mask, array_size)) in gpiod_get_array_value_complex()
3370 array_info->invert_mask, array_size); in gpiod_get_array_value_complex()
3372 i = find_first_zero_bit(array_info->get_mask, array_size); in gpiod_get_array_value_complex()
3376 array_info = NULL; in gpiod_get_array_value_complex()
3420 if (array_info) in gpiod_get_array_value_complex()
3421 i = find_next_zero_bit(array_info->get_mask, in gpiod_get_array_value_complex()
3446 if (array_info) in gpiod_get_array_value_complex()
3447 j = find_next_zero_bit(array_info->get_mask, i, in gpiod_get_array_value_complex()
3527 struct gpio_array *array_info, in gpiod_get_raw_array_value() argument
3533 desc_array, array_info, in gpiod_get_raw_array_value()
3556 struct gpio_array *array_info, in gpiod_get_array_value() argument
3562 desc_array, array_info, in gpiod_get_array_value()
3679 struct gpio_array *array_info, in gpiod_set_array_value_complex() argument
3690 if (array_info && array_info->desc == desc_array && in gpiod_set_array_value_complex()
3691 array_size <= array_info->size && in gpiod_set_array_value_complex()
3692 (void *)array_info == desc_array + array_info->size) { in gpiod_set_array_value_complex()
3694 WARN_ON(array_info->gdev->can_sleep); in gpiod_set_array_value_complex()
3702 guard(srcu)(&array_info->gdev->srcu); in gpiod_set_array_value_complex()
3703 gc = srcu_dereference(array_info->gdev->chip, in gpiod_set_array_value_complex()
3704 &array_info->gdev->srcu); in gpiod_set_array_value_complex()
3708 if (!raw && !bitmap_empty(array_info->invert_mask, array_size)) in gpiod_set_array_value_complex()
3710 array_info->invert_mask, array_size); in gpiod_set_array_value_complex()
3712 ret = gpiochip_set_multiple(gc, array_info->set_mask, in gpiod_set_array_value_complex()
3717 i = find_first_zero_bit(array_info->set_mask, array_size); in gpiod_set_array_value_complex()
3721 array_info = NULL; in gpiod_set_array_value_complex()
3769 if (!raw && !(array_info && in gpiod_set_array_value_complex()
3770 test_bit(i, array_info->invert_mask)) && in gpiod_set_array_value_complex()
3789 if (array_info) in gpiod_set_array_value_complex()
3790 i = find_next_zero_bit(array_info->set_mask, in gpiod_set_array_value_complex()
3898 struct gpio_array *array_info, in gpiod_set_raw_array_value() argument
3904 desc_array, array_info, value_bitmap); in gpiod_set_raw_array_value()
3926 struct gpio_array *array_info, in gpiod_set_array_value() argument
3932 desc_array, array_info, in gpiod_set_array_value()
4240 struct gpio_array *array_info, in gpiod_get_raw_array_value_cansleep() argument
4247 desc_array, array_info, in gpiod_get_raw_array_value_cansleep()
4269 struct gpio_array *array_info, in gpiod_get_array_value_cansleep() argument
4276 desc_array, array_info, in gpiod_get_array_value_cansleep()
4340 struct gpio_array *array_info, in gpiod_set_raw_array_value_cansleep() argument
4347 array_info, value_bitmap); in gpiod_set_raw_array_value_cansleep()
4383 struct gpio_array *array_info, in gpiod_set_array_value_cansleep() argument
4390 desc_array, array_info, in gpiod_set_array_value_cansleep()
4991 struct gpio_array *array_info = NULL; in gpiod_get_array() local
5026 struct_size(array_info, invert_mask, 3 * bitmap_size), in gpiod_get_array()
5035 array_info = (void *)descs + descs_size; in gpiod_get_array()
5036 array_info->get_mask = array_info->invert_mask + in gpiod_get_array()
5038 array_info->set_mask = array_info->get_mask + in gpiod_get_array()
5041 array_info->desc = descs->desc; in gpiod_get_array()
5042 array_info->size = count; in gpiod_get_array()
5043 array_info->gdev = gdev; in gpiod_get_array()
5044 bitmap_set(array_info->get_mask, descs->ndescs, in gpiod_get_array()
5046 bitmap_set(array_info->set_mask, descs->ndescs, in gpiod_get_array()
5048 descs->info = array_info; in gpiod_get_array()
5052 if (!array_info) in gpiod_get_array()
5056 if (array_info->gdev != gdev) { in gpiod_get_array()
5057 __clear_bit(descs->ndescs, array_info->get_mask); in gpiod_get_array()
5058 __clear_bit(descs->ndescs, array_info->set_mask); in gpiod_get_array()
5070 if (bitmap_full(array_info->get_mask, descs->ndescs)) { in gpiod_get_array()
5071 array_info = NULL; in gpiod_get_array()
5074 array_info->get_mask); in gpiod_get_array()
5076 array_info->set_mask); in gpiod_get_array()
5084 array_info->set_mask); in gpiod_get_array()
5088 array_info->invert_mask); in gpiod_get_array()
5091 if (array_info) in gpiod_get_array()
5094 array_info->gdev->label, array_info->size, in gpiod_get_array()
5095 *array_info->get_mask, *array_info->set_mask, in gpiod_get_array()
5096 *array_info->invert_mask); in gpiod_get_array()