ASoC: TSCS42xx: make const array norm_addrs static, reduces object code size
authorColin Ian King <colin.king@canonical.com>
Wed, 14 Feb 2018 17:21:53 +0000 (17:21 +0000)
committerMark Brown <broonie@kernel.org>
Thu, 15 Feb 2018 15:17:19 +0000 (15:17 +0000)
Don't populate the const array norm_addrs on the stack, instead make it
static.  Makes the object code smaller by over 230 bytes.  Also re-format
array data as the insertion of the static keywork made the first line
overly long.

Before:
   text    data     bss     dec     hex filename
  53780   34752     256   88788   15ad4 linux/sound/soc/codecs/tscs42xx.o

After:
   text    data     bss     dec     hex filename
  53461   34840     256   88557   159ed linux/sound/soc/codecs/tscs42xx.o

(gcc version 7.2.0 x86_64)

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

index f4f8c613386a289be253f1c427b5c1188ba80f02..e915261fa1cb86923c4476d135c0d2dbe5e6bd6f 100644 (file)
@@ -1319,11 +1319,13 @@ static struct snd_soc_component_driver soc_codec_dev_tscs42xx = {
 
 static inline void init_coeff_ram_cache(struct tscs42xx *tscs42xx)
 {
-       const u8 norm_addrs[] = { 0x00, 0x05, 0x0a, 0x0f, 0x14, 0x19, 0x1f,
-               0x20, 0x25, 0x2a, 0x2f, 0x34, 0x39, 0x3f, 0x40, 0x45, 0x4a,
-               0x4f, 0x54, 0x59, 0x5f, 0x60, 0x65, 0x6a, 0x6f, 0x74, 0x79,
-               0x7f, 0x80, 0x85, 0x8c, 0x91, 0x96, 0x97, 0x9c, 0xa3, 0xa8,
-               0xad, 0xaf, 0xb0, 0xb5, 0xba, 0xbf, 0xc4, 0xc9, };
+       static const u8 norm_addrs[] = {
+               0x00, 0x05, 0x0a, 0x0f, 0x14, 0x19, 0x1f, 0x20, 0x25, 0x2a,
+               0x2f, 0x34, 0x39, 0x3f, 0x40, 0x45, 0x4a, 0x4f, 0x54, 0x59,
+               0x5f, 0x60, 0x65, 0x6a, 0x6f, 0x74, 0x79, 0x7f, 0x80, 0x85,
+               0x8c, 0x91, 0x96, 0x97, 0x9c, 0xa3, 0xa8, 0xad, 0xaf, 0xb0,
+               0xb5, 0xba, 0xbf, 0xc4, 0xc9,
+       };
        u8 *coeff_ram = tscs42xx->coeff_ram;
        int i;