Re: [PATCH] backlight: s6e63m0: make const arrays static, reduces object code size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/09/17 12:45, Colin King wrote:
From: Colin Ian King <colin.king@xxxxxxxxxxxxx>

Don't populate const arrays on the stack, instead make them
static.  Makes the object code smaller by nearly 400 bytes:

Before:
    text	   data	    bss	    dec	    hex	filename
   15164	   6336	      0	  21500	   53fc	drivers/video/backlight/s6e63m0.o

After:
    text	   data	    bss	    dec	    hex	filename
   14669	   6432	      0	  21101	   526d	drivers/video/backlight/s6e63m0.o

For future records, can you record the compiler version, architecture and optimization level (-O2 or -Os) to the patch header?


Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
---
  drivers/video/backlight/s6e63m0.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/video/backlight/s6e63m0.c b/drivers/video/backlight/s6e63m0.c
index 3c4a22a3063a..965c660b2f6b 100644
--- a/drivers/video/backlight/s6e63m0.c
+++ b/drivers/video/backlight/s6e63m0.c
@@ -446,7 +446,7 @@ static int s6e63m0_gamma_ctl(struct s6e63m0 *lcd, int gamma)
  static int s6e63m0_ldi_init(struct s6e63m0 *lcd)
  {
  	int ret, i;
-	const unsigned short *init_seq[] = {
+	static const unsigned short *init_seq[] = {

I'd be inclined to throw in an extra const to help the compile spot any negligent maintenance in the future:

static const unsigned short * const init_seq[];


  		seq_panel_condition_set,
  		seq_display_condition_set,
  		seq_gamma_setting,
@@ -467,7 +467,7 @@ static int s6e63m0_ldi_init(struct s6e63m0 *lcd)
  static int s6e63m0_ldi_enable(struct s6e63m0 *lcd)
  {
  	int ret = 0, i;
-	const unsigned short *enable_seq[] = {
+	static const unsigned short *enable_seq[] = {
  		seq_stand_by_off,
  		seq_display_on,
  	};


--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux