Don't populate the const read-only arrays 'port' on the stack but
instead make them static. Makes the object code smaller:
Before:
text data bss dec hex filename
8542 4088 672 13302 33f6 drivers/gpio/gpio-gpio-mm.o
10959 4952 832 16743 4167 drivers/gpio/gpio-104-dio-48e.o
9022 5064 1408 15494 3c86 drivers/gpio/gpio-104-idi-48.o
After:
text data bss dec hex filename
8372 4144 672 13188 3384 drivers/gpio/gpio-gpio-mm.o
10790 5008 832 16630 40f6 drivers/gpio/gpio-104-dio-48e.o
8853 5152 1408 15413 3c35 linux/drivers/gpio/gpio-104-idi-48.o
(gcc version 7.2.0 x86_64)
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Acked-by: William Breathitt Gray <vilhelm.gray@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
{
struct idi_48_gpio *const idi48gpio = gpiochip_get_data(chip);
size_t i;
{
struct idi_48_gpio *const idi48gpio = gpiochip_get_data(chip);
size_t i;
- const size_t ports[] = { 0, 1, 2, 4, 5, 6 };
+ static const size_t ports[] = { 0, 1, 2, 4, 5, 6 };
const unsigned int gpio_reg_size = 8;
unsigned int bits_offset;
size_t word_index;
const unsigned int gpio_reg_size = 8;
unsigned int bits_offset;
size_t word_index;
{
struct gpiomm_gpio *const gpiommgpio = gpiochip_get_data(chip);
size_t i;
{
struct gpiomm_gpio *const gpiommgpio = gpiochip_get_data(chip);
size_t i;
- const size_t ports[] = { 0, 1, 2, 4, 5, 6 };
+ static const size_t ports[] = { 0, 1, 2, 4, 5, 6 };
const unsigned int gpio_reg_size = 8;
unsigned int bits_offset;
size_t word_index;
const unsigned int gpio_reg_size = 8;
unsigned int bits_offset;
size_t word_index;