Lines Matching defs:array_info
2849 struct gpio_array *array_info,
2855 * Validate array_info against desc_array and its size.
2859 if (array_info && array_info->desc == desc_array &&
2860 array_size <= array_info->size &&
2861 (void *)array_info == desc_array + array_info->size) {
2863 WARN_ON(array_info->chip->can_sleep);
2865 ret = gpio_chip_get_multiple(array_info->chip,
2866 array_info->get_mask,
2871 if (!raw && !bitmap_empty(array_info->invert_mask, array_size))
2873 array_info->invert_mask, array_size);
2875 i = find_first_zero_bit(array_info->get_mask, array_size);
2879 array_info = NULL;
2920 if (array_info)
2921 i = find_next_zero_bit(array_info->get_mask,
2946 if (array_info)
2947 j = find_next_zero_bit(array_info->get_mask, i,
3011 * @array_info: information on applicability of fast bitmap processing path
3023 struct gpio_array *array_info,
3029 desc_array, array_info,
3038 * @array_info: information on applicability of fast bitmap processing path
3049 struct gpio_array *array_info,
3055 desc_array, array_info,
3146 struct gpio_array *array_info,
3152 * Validate array_info against desc_array and its size.
3156 if (array_info && array_info->desc == desc_array &&
3157 array_size <= array_info->size &&
3158 (void *)array_info == desc_array + array_info->size) {
3160 WARN_ON(array_info->chip->can_sleep);
3162 if (!raw && !bitmap_empty(array_info->invert_mask, array_size))
3164 array_info->invert_mask, array_size);
3166 gpio_chip_set_multiple(array_info->chip, array_info->set_mask,
3169 i = find_first_zero_bit(array_info->set_mask, array_size);
3173 array_info = NULL;
3215 if (!raw && !(array_info &&
3216 test_bit(i, array_info->invert_mask)) &&
3235 if (array_info)
3236 i = find_next_zero_bit(array_info->set_mask,
3317 * @array_info: information on applicability of fast bitmap processing path
3328 struct gpio_array *array_info,
3334 desc_array, array_info, value_bitmap);
3342 * @array_info: information on applicability of fast bitmap processing path
3353 struct gpio_array *array_info,
3359 desc_array, array_info,
3655 * @array_info: information on applicability of fast bitmap processing path
3666 struct gpio_array *array_info,
3673 desc_array, array_info,
3682 * @array_info: information on applicability of fast bitmap processing path
3692 struct gpio_array *array_info,
3699 desc_array, array_info,
3744 * @array_info: information on applicability of fast bitmap processing path
3754 struct gpio_array *array_info,
3761 array_info, value_bitmap);
3786 * @array_info: information on applicability of fast bitmap processing path
3796 struct gpio_array *array_info,
3803 desc_array, array_info,
4373 struct gpio_array *array_info = NULL;
4408 struct_size(array_info, invert_mask, 3 * bitmap_size),
4417 array_info = (void *)descs + descs_size;
4418 array_info->get_mask = array_info->invert_mask +
4420 array_info->set_mask = array_info->get_mask +
4423 array_info->desc = descs->desc;
4424 array_info->size = count;
4425 array_info->chip = gc;
4426 bitmap_set(array_info->get_mask, descs->ndescs,
4428 bitmap_set(array_info->set_mask, descs->ndescs,
4430 descs->info = array_info;
4434 if (!array_info)
4438 if (array_info->chip != gc) {
4439 __clear_bit(descs->ndescs, array_info->get_mask);
4440 __clear_bit(descs->ndescs, array_info->set_mask);
4452 if (bitmap_full(array_info->get_mask, descs->ndescs)) {
4453 array_info = NULL;
4456 array_info->get_mask);
4458 array_info->set_mask);
4465 array_info->set_mask);
4469 array_info->invert_mask);
4472 if (array_info)
4475 array_info->chip->label, array_info->size,
4476 *array_info->get_mask, *array_info->set_mask,
4477 *array_info->invert_mask);