mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
gpio: Propagate errors from gpiod_set_array_value_complex()
Internal helper function gpiod_set_array_value_complex() was changed to
return an error value, but not all gpiolib callers were updated to
propagate the new error up.
Fixes: 3027743f83 ("gpio: Remove VLA from gpiolib")
Signed-off-by: Geert Uytterhoeven <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
This commit is contained in:
parent
c2937668d1
commit
cf9af0d578
3 changed files with 39 additions and 35 deletions
|
|
@ -3346,15 +3346,16 @@ EXPORT_SYMBOL_GPL(gpiod_set_raw_array_value);
|
|||
* This function should be called from contexts where we cannot sleep, and will
|
||||
* complain if the GPIO chip functions potentially sleep.
|
||||
*/
|
||||
void gpiod_set_array_value(unsigned int array_size,
|
||||
struct gpio_desc **desc_array,
|
||||
struct gpio_array *array_info,
|
||||
unsigned long *value_bitmap)
|
||||
int gpiod_set_array_value(unsigned int array_size,
|
||||
struct gpio_desc **desc_array,
|
||||
struct gpio_array *array_info,
|
||||
unsigned long *value_bitmap)
|
||||
{
|
||||
if (!desc_array)
|
||||
return;
|
||||
gpiod_set_array_value_complex(false, false, array_size, desc_array,
|
||||
array_info, value_bitmap);
|
||||
return -EINVAL;
|
||||
return gpiod_set_array_value_complex(false, false, array_size,
|
||||
desc_array, array_info,
|
||||
value_bitmap);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(gpiod_set_array_value);
|
||||
|
||||
|
|
@ -3763,16 +3764,17 @@ void gpiod_add_lookup_tables(struct gpiod_lookup_table **tables, size_t n)
|
|||
*
|
||||
* This function is to be called from contexts that can sleep.
|
||||
*/
|
||||
void gpiod_set_array_value_cansleep(unsigned int array_size,
|
||||
struct gpio_desc **desc_array,
|
||||
struct gpio_array *array_info,
|
||||
unsigned long *value_bitmap)
|
||||
int gpiod_set_array_value_cansleep(unsigned int array_size,
|
||||
struct gpio_desc **desc_array,
|
||||
struct gpio_array *array_info,
|
||||
unsigned long *value_bitmap)
|
||||
{
|
||||
might_sleep_if(extra_checks);
|
||||
if (!desc_array)
|
||||
return;
|
||||
gpiod_set_array_value_complex(false, true, array_size, desc_array,
|
||||
array_info, value_bitmap);
|
||||
return -EINVAL;
|
||||
return gpiod_set_array_value_complex(false, true, array_size,
|
||||
desc_array, array_info,
|
||||
value_bitmap);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(gpiod_set_array_value_cansleep);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue