OSDN Git Service

gpio: gpio-stmpe: make various char arrays static const, shrinks object size
authorColin Ian King <colin.king@canonical.com>
Tue, 28 Nov 2017 18:23:39 +0000 (18:23 +0000)
committerLinus Walleij <linus.walleij@linaro.org>
Sat, 2 Dec 2017 21:42:33 +0000 (22:42 +0100)
Don't populate the read-only arrays edge_det_values, rise_values and
fall_values on the stack but instead make them static and constify them.
Makes the object code smaller by over 240 bytes:

Before:
   text    data     bss     dec     hex filename
   9525    2520     192   12237    2fcd drivers/gpio/gpio-stmpe.o

After:
   text    data     bss     dec     hex filename
   9025    2776     192   11993    2ed9 drivers/gpio/gpio-stmpe.o

(gcc version 7.2.0 x86_64)

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-stmpe.c

index e6e5cca..e3d048e 100644 (file)
@@ -273,15 +273,21 @@ static void stmpe_dbg_show_one(struct seq_file *s,
                u8 fall_reg;
                u8 irqen_reg;
 
-               char *edge_det_values[] = {"edge-inactive",
-                                          "edge-asserted",
-                                          "not-supported"};
-               char *rise_values[] = {"no-rising-edge-detection",
-                                      "rising-edge-detection",
-                                      "not-supported"};
-               char *fall_values[] = {"no-falling-edge-detection",
-                                      "falling-edge-detection",
-                                      "not-supported"};
+               static const char * const edge_det_values[] = {
+                       "edge-inactive",
+                       "edge-asserted",
+                       "not-supported"
+               };
+               static const char * const rise_values[] = {
+                       "no-rising-edge-detection",
+                       "rising-edge-detection",
+                       "not-supported"
+               };
+               static const char * const fall_values[] = {
+                       "no-falling-edge-detection",
+                       "falling-edge-detection",
+                       "not-supported"
+               };
                #define NOT_SUPPORTED_IDX 2
                u8 edge_det = NOT_SUPPORTED_IDX;
                u8 rise = NOT_SUPPORTED_IDX;