fsl/fman: make arrays port_ids static, reduces object code size
authorColin Ian King <colin.king@canonical.com>
Thu, 31 Aug 2017 13:24:49 +0000 (14:24 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 2 Sep 2017 01:21:09 +0000 (18:21 -0700)
Don't populate the arrays port_ids on the stack, instead make them static.
Makes the object code smaller by over 700 bytes:

Before:
   text    data     bss     dec     hex filename
  28785    5832     192   34809    87f9 fman.o

After:
   text    data     bss     dec     hex filename
  27921    5992     192   34105    8539 fman.o

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/fman/fman.c

index f420dac2f484f334edaeccfade96ff43e267c5ec..9530405030a70974c92c1ddc2263b00610aab32c 100644 (file)
@@ -2368,15 +2368,21 @@ u32 fman_get_qman_channel_id(struct fman *fman, u32 port_id)
        int i;
 
        if (fman->state->rev_info.major >= 6) {
-               u32 port_ids[] = {0x30, 0x31, 0x28, 0x29, 0x2a, 0x2b,
-                                 0x2c, 0x2d, 0x2, 0x3, 0x4, 0x5, 0x7, 0x7};
+               static const u32 port_ids[] = {
+                       0x30, 0x31, 0x28, 0x29, 0x2a, 0x2b,
+                       0x2c, 0x2d, 0x2, 0x3, 0x4, 0x5, 0x7, 0x7
+               };
+
                for (i = 0; i < fman->state->num_of_qman_channels; i++) {
                        if (port_ids[i] == port_id)
                                break;
                }
        } else {
-               u32 port_ids[] = {0x30, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x1,
-                                 0x2, 0x3, 0x4, 0x5, 0x7, 0x7};
+               static const u32 port_ids[] = {
+                       0x30, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x1,
+                       0x2, 0x3, 0x4, 0x5, 0x7, 0x7
+               };
+
                for (i = 0; i < fman->state->num_of_qman_channels; i++) {
                        if (port_ids[i] == port_id)
                                break;