diff options
author | Laura Abbott <labbott@redhat.com> | 2018-03-09 16:10:19 -0800 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2018-03-27 15:18:06 +0200 |
commit | 48da181dac478bb517aae2483e69f3eeec24172c (patch) | |
tree | 935ac9200327d4405d4f9ab0723ab94a82c13dae /drivers/gpio/gpio-max3191x.c | |
parent | a8ff510dbc2a4f1e17b97e35f9607c47a1df89a9 (diff) |
gpio: Remove VLA from MAX3191X driver
The new challenge is to remove VLAs from the kernel
(see https://lkml.org/lkml/2018/3/7/621)
This patch replaces several a VLA with an appropriate call to
kmalloc_array.
Signed-off-by: Laura Abbott <labbott@redhat.com>
Reviewed-and-tested-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpio-max3191x.c')
-rw-r--r-- | drivers/gpio/gpio-max3191x.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpio/gpio-max3191x.c b/drivers/gpio/gpio-max3191x.c index f74b1072e84b..b5b9cb1fda50 100644 --- a/drivers/gpio/gpio-max3191x.c +++ b/drivers/gpio/gpio-max3191x.c @@ -315,12 +315,17 @@ static void gpiod_set_array_single_value_cansleep(unsigned int ndescs, struct gpio_desc **desc, int value) { - int i, values[ndescs]; + int i, *values; + + values = kmalloc_array(ndescs, sizeof(*values), GFP_KERNEL); + if (!values) + return; for (i = 0; i < ndescs; i++) values[i] = value; gpiod_set_array_value_cansleep(ndescs, desc, values); + kfree(values); } static struct gpio_descs *devm_gpiod_get_array_optional_count( |