Lines Matching defs:array_info

3179 				  struct gpio_array *array_info,
3186 * Validate array_info against desc_array and its size.
3190 if (array_info && array_info->desc == desc_array &&
3191 array_size <= array_info->size &&
3192 (void *)array_info == desc_array + array_info->size) {
3194 WARN_ON(array_info->gdev->can_sleep);
3196 guard(srcu)(&array_info->gdev->srcu);
3197 gc = srcu_dereference(array_info->gdev->chip,
3198 &array_info->gdev->srcu);
3202 ret = gpio_chip_get_multiple(gc, array_info->get_mask,
3207 if (!raw && !bitmap_empty(array_info->invert_mask, array_size))
3209 array_info->invert_mask, array_size);
3211 i = find_first_zero_bit(array_info->get_mask, array_size);
3215 array_info = NULL;
3259 if (array_info)
3260 i = find_next_zero_bit(array_info->get_mask,
3285 if (array_info)
3286 j = find_next_zero_bit(array_info->get_mask, i,
3352 * @array_info: information on applicability of fast bitmap processing path
3366 struct gpio_array *array_info,
3372 desc_array, array_info,
3381 * @array_info: information on applicability of fast bitmap processing path
3395 struct gpio_array *array_info,
3401 desc_array, array_info,
3499 struct gpio_array *array_info,
3506 * Validate array_info against desc_array and its size.
3510 if (array_info && array_info->desc == desc_array &&
3511 array_size <= array_info->size &&
3512 (void *)array_info == desc_array + array_info->size) {
3514 WARN_ON(array_info->gdev->can_sleep);
3516 guard(srcu)(&array_info->gdev->srcu);
3517 gc = srcu_dereference(array_info->gdev->chip,
3518 &array_info->gdev->srcu);
3522 if (!raw && !bitmap_empty(array_info->invert_mask, array_size))
3524 array_info->invert_mask, array_size);
3526 gpio_chip_set_multiple(gc, array_info->set_mask, value_bitmap);
3528 i = find_first_zero_bit(array_info->set_mask, array_size);
3532 array_info = NULL;
3577 if (!raw && !(array_info &&
3578 test_bit(i, array_info->invert_mask)) &&
3597 if (array_info)
3598 i = find_next_zero_bit(array_info->set_mask,
3679 * @array_info: information on applicability of fast bitmap processing path
3693 struct gpio_array *array_info,
3699 desc_array, array_info, value_bitmap);
3707 * @array_info: information on applicability of fast bitmap processing path
3721 struct gpio_array *array_info,
3727 desc_array, array_info,
4026 * @array_info: information on applicability of fast bitmap processing path
4039 struct gpio_array *array_info,
4046 desc_array, array_info,
4055 * @array_info: information on applicability of fast bitmap processing path
4068 struct gpio_array *array_info,
4075 desc_array, array_info,
4120 * @array_info: information on applicability of fast bitmap processing path
4133 struct gpio_array *array_info,
4140 array_info, value_bitmap);
4165 * @array_info: information on applicability of fast bitmap processing path
4178 struct gpio_array *array_info,
4185 desc_array, array_info,
4790 struct gpio_array *array_info = NULL;
4825 struct_size(array_info, invert_mask, 3 * bitmap_size),
4834 array_info = (void *)descs + descs_size;
4835 array_info->get_mask = array_info->invert_mask +
4837 array_info->set_mask = array_info->get_mask +
4840 array_info->desc = descs->desc;
4841 array_info->size = count;
4842 array_info->gdev = gdev;
4843 bitmap_set(array_info->get_mask, descs->ndescs,
4845 bitmap_set(array_info->set_mask, descs->ndescs,
4847 descs->info = array_info;
4851 if (!array_info)
4855 if (array_info->gdev != gdev) {
4856 __clear_bit(descs->ndescs, array_info->get_mask);
4857 __clear_bit(descs->ndescs, array_info->set_mask);
4869 if (bitmap_full(array_info->get_mask, descs->ndescs)) {
4870 array_info = NULL;
4873 array_info->get_mask);
4875 array_info->set_mask);
4883 array_info->set_mask);
4887 array_info->invert_mask);
4890 if (array_info)
4893 array_info->gdev->label, array_info->size,
4894 *array_info->get_mask, *array_info->set_mask,
4895 *array_info->invert_mask);