OSDN Git Service

pinctrl: single: make two arrays static const, reduces object code size
authorColin Ian King <colin.king@canonical.com>
Tue, 19 Sep 2017 14:42:18 +0000 (15:42 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 21 Sep 2017 12:09:49 +0000 (14:09 +0200)
Don't populate the read-only arrays prop2 and prop4 on the stack, instead
make them static const.  Makes the object code smaller by over 230 bytes:

Before:
   text    data     bss     dec     hex filename
  28235    5820     192   34247    85c7 drivers/pinctrl/pinctrl-single.o

After:
   text    data     bss     dec     hex filename
  27839    5980     192   34011    84db drivers/pinctrl/pinctrl-single.o

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-single.c

index b8b3d93..e6cd8de 100644 (file)
@@ -873,13 +873,13 @@ static int pcs_parse_pinconf(struct pcs_device *pcs, struct device_node *np,
        int i = 0, nconfs = 0;
        unsigned long *settings = NULL, *s = NULL;
        struct pcs_conf_vals *conf = NULL;
-       struct pcs_conf_type prop2[] = {
+       static const struct pcs_conf_type prop2[] = {
                { "pinctrl-single,drive-strength", PIN_CONFIG_DRIVE_STRENGTH, },
                { "pinctrl-single,slew-rate", PIN_CONFIG_SLEW_RATE, },
                { "pinctrl-single,input-schmitt", PIN_CONFIG_INPUT_SCHMITT, },
                { "pinctrl-single,low-power-mode", PIN_CONFIG_LOW_POWER_MODE, },
        };
-       struct pcs_conf_type prop4[] = {
+       static const struct pcs_conf_type prop4[] = {
                { "pinctrl-single,bias-pullup", PIN_CONFIG_BIAS_PULL_UP, },
                { "pinctrl-single,bias-pulldown", PIN_CONFIG_BIAS_PULL_DOWN, },
                { "pinctrl-single,input-schmitt-enable",