Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

gpio: xra1403: Switch to a fixed upper bound for registers

Geert Uytterhoeven pointed out that the number of register was a
fixed upper bound so there's no need to use a dynamically allocated
array in place of a VLA. Use the defined upper bound.

Suggested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Laura Abbott <labbott@redhat.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Laura Abbott and committed by
Linus Walleij
12f92ccc 60cc43fc

+5 -10
+5 -10
drivers/gpio/gpio-xra1403.c
··· 39 39 #define XRA_REIR 0x10 /* Input Rising Edge Interrupt Enable */ 40 40 #define XRA_FEIR 0x12 /* Input Falling Edge Interrupt Enable */ 41 41 #define XRA_IFR 0x14 /* Input Filter Enable/Disable */ 42 + #define XRA_LAST 0x15 /* Bounds */ 42 43 43 44 struct xra1403 { 44 45 struct gpio_chip chip; ··· 51 50 .pad_bits = 1, 52 51 .val_bits = 8, 53 52 54 - .max_register = XRA_IFR | 0x01, 53 + .max_register = XRA_LAST, 55 54 }; 56 55 57 56 static unsigned int to_reg(unsigned int reg, unsigned int offset) ··· 127 126 { 128 127 int reg; 129 128 struct xra1403 *xra = gpiochip_get_data(chip); 130 - int *value; 129 + int value[XRA_LAST]; 131 130 int i; 132 131 unsigned int gcr; 133 132 unsigned int gsr; 134 133 135 - value = kmalloc_array(xra1403_regmap_cfg.max_register, sizeof(*value), 136 - GFP_KERNEL); 137 - if (!value) 138 - return; 139 - 140 134 seq_puts(s, "xra reg:"); 141 - for (reg = 0; reg <= xra1403_regmap_cfg.max_register; reg++) 135 + for (reg = 0; reg <= XRA_LAST; reg++) 142 136 seq_printf(s, " %2.2x", reg); 143 137 seq_puts(s, "\n value:"); 144 - for (reg = 0; reg < xra1403_regmap_cfg.max_register; reg++) { 138 + for (reg = 0; reg < XRA_LAST; reg++) { 145 139 regmap_read(xra->regmap, reg, &value[reg]); 146 140 seq_printf(s, " %2.2x", value[reg]); 147 141 } ··· 155 159 (gcr & BIT(i)) ? "in" : "out", 156 160 (gsr & BIT(i)) ? "hi" : "lo"); 157 161 } 158 - kfree(value); 159 162 } 160 163 #else 161 164 #define xra1403_dbg_show NULL