leds: lp5562: make several arrays static const
authorColin Ian King <colin.king@canonical.com>
Thu, 24 Aug 2017 13:00:54 +0000 (14:00 +0100)
committerJacek Anaszewski <jacek.anaszewski@gmail.com>
Tue, 29 Aug 2017 19:10:39 +0000 (21:10 +0200)
Don't populate the arrays on the stack, instead make them static const.
Makes the object code smaller by over 150 bytes:

Before:
   text    data     bss     dec     hex filename
   7725    2448      64   10237    27fd drivers/leds/leds-lp5562.o

After:
   text    data     bss     dec     hex filename
   7184    2832      64   10080    2760 drivers/leds/leds-lp5562.o

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
drivers/leds/leds-lp5562.c

index 9089258..05ffa34 100644 (file)
@@ -116,7 +116,7 @@ static inline void lp5562_wait_enable_done(void)
 
 static void lp5562_set_led_current(struct lp55xx_led *led, u8 led_current)
 {
-       u8 addr[] = {
+       static const u8 addr[] = {
                LP5562_REG_R_CURRENT,
                LP5562_REG_G_CURRENT,
                LP5562_REG_B_CURRENT,
@@ -130,13 +130,13 @@ static void lp5562_set_led_current(struct lp55xx_led *led, u8 led_current)
 static void lp5562_load_engine(struct lp55xx_chip *chip)
 {
        enum lp55xx_engine_index idx = chip->engine_idx;
-       u8 mask[] = {
+       static const u8 mask[] = {
                [LP55XX_ENGINE_1] = LP5562_MODE_ENG1_M,
                [LP55XX_ENGINE_2] = LP5562_MODE_ENG2_M,
                [LP55XX_ENGINE_3] = LP5562_MODE_ENG3_M,
        };
 
-       u8 val[] = {
+       static const u8 val[] = {
                [LP55XX_ENGINE_1] = LP5562_LOAD_ENG1,
                [LP55XX_ENGINE_2] = LP5562_LOAD_ENG2,
                [LP55XX_ENGINE_3] = LP5562_LOAD_ENG3,
@@ -211,7 +211,7 @@ static int lp5562_update_firmware(struct lp55xx_chip *chip,
 {
        enum lp55xx_engine_index idx = chip->engine_idx;
        u8 pattern[LP5562_PROGRAM_LENGTH] = {0};
-       u8 addr[] = {
+       static const u8 addr[] = {
                [LP55XX_ENGINE_1] = LP5562_REG_PROG_MEM_ENG1,
                [LP55XX_ENGINE_2] = LP5562_REG_PROG_MEM_ENG2,
                [LP55XX_ENGINE_3] = LP5562_REG_PROG_MEM_ENG3,
@@ -314,7 +314,7 @@ static int lp5562_post_init_device(struct lp55xx_chip *chip)
 static int lp5562_led_brightness(struct lp55xx_led *led)
 {
        struct lp55xx_chip *chip = led->chip;
-       u8 addr[] = {
+       static const u8 addr[] = {
                LP5562_REG_R_PWM,
                LP5562_REG_G_PWM,
                LP5562_REG_B_PWM,