Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1724226 > unrolled thread

[PATCH] fsl/fman: make arrays port_ids static, reduces object code size

Started byColin King <colin.king@canonical.com>
First post2017-08-31 15:30 +0200
Last post2017-09-07 09:20 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] fsl/fman: make arrays port_ids static, reduces object code size Colin King <colin.king@canonical.com> - 2017-08-31 15:30 +0200
    RE: [PATCH] fsl/fman: make arrays port_ids static, reduces object  code size Madalin-cristian Bucur <madalin.bucur@nxp.com> - 2017-09-07 09:20 +0200

#1724226 — [PATCH] fsl/fman: make arrays port_ids static, reduces object code size

FromColin King <colin.king@canonical.com>
Date2017-08-31 15:30 +0200
Subject[PATCH] fsl/fman: make arrays port_ids static, reduces object code size
Message-ID<ukxHI-69n-5@gated-at.bofh.it>
From: Colin Ian King <colin.king@canonical.com>

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>
---
 drivers/net/ethernet/freescale/fman/fman.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fman/fman.c b/drivers/net/ethernet/freescale/fman/fman.c
index f420dac2f484..9530405030a7 100644
--- a/drivers/net/ethernet/freescale/fman/fman.c
+++ b/drivers/net/ethernet/freescale/fman/fman.c
@@ -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;
-- 
2.14.1

[toc] | [next] | [standalone]


#1727968 — RE: [PATCH] fsl/fman: make arrays port_ids static, reduces object code size

FromMadalin-cristian Bucur <madalin.bucur@nxp.com>
Date2017-09-07 09:20 +0200
SubjectRE: [PATCH] fsl/fman: make arrays port_ids static, reduces object code size
Message-ID<umZgv-5bg-15@gated-at.bofh.it>
In reply to#1724226
> -----Original Message-----
> From: Colin King [mailto:colin.king@canonical.com]
> Sent: Thursday, August 31, 2017 4:25 PM
> Subject: [PATCH] fsl/fman: make arrays port_ids static, reduces object
> code size
> 
> From: Colin Ian King <colin.king@canonical.com>
> 
> 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>

Thanks,
Madalin

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web