ASoC: rl6231: make arrays div and pd static const, reduces object code size
authorColin Ian King <colin.king@canonical.com>
Tue, 19 Sep 2017 21:50:00 +0000 (22:50 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 19 Sep 2017 22:00:45 +0000 (23:00 +0100)
Don't populate the read-only arrays div and pd on the stack,
instead make them static const. Makes the object code smaller by 210 bytes:

Before:
   text    data     bss     dec     hex filename
   2869     720       0    3589     e05 sound/soc/codecs/rl6231.o

After:
   text    data     bss     dec     hex filename
   2495     880       0    3375     d2f sound/soc/codecs/rl6231.o

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rl6231.c

index 7b447d0b173a8c1860c2ff2b08a51e790887fb41..974a9040651db37da519ccb1e2cf5e2ff8d55ac2 100644 (file)
@@ -71,7 +71,7 @@ EXPORT_SYMBOL_GPL(rl6231_get_pre_div);
  */
 int rl6231_calc_dmic_clk(int rate)
 {
-       int div[] = {2, 3, 4, 6, 8, 12};
+       static const int div[] = {2, 3, 4, 6, 8, 12};
        int i;
 
        if (rate < 1000000 * div[0]) {
@@ -189,7 +189,8 @@ EXPORT_SYMBOL_GPL(rl6231_pll_calc);
 
 int rl6231_get_clk_info(int sclk, int rate)
 {
-       int i, pd[] = {1, 2, 3, 4, 6, 8, 12, 16};
+       int i;
+       static const int pd[] = {1, 2, 3, 4, 6, 8, 12, 16};
 
        if (sclk <= 0 || rate <= 0)
                return -EINVAL;