diff mbox series

fbdev: matrox: make array wtst_xlat static const, makes object smaller

Message ID 20190906181114.31414-1-colin.king@canonical.com (mailing list archive)
State New, archived
Headers show
Series fbdev: matrox: make array wtst_xlat static const, makes object smaller | expand

Commit Message

Colin King Sept. 6, 2019, 6:11 p.m. UTC
From: Colin Ian King <colin.king@canonical.com>

Don't populate the array wtst_xlat on the stack but instead make it
static const. Makes the object code smaller by 89 bytes.

Before:
   text	   data	    bss	    dec	    hex	filename
  14347	    840	      0	  15187	   3b53	fbdev/matrox/matroxfb_misc.o

After:
   text	   data	    bss	    dec	    hex	filename
  14162	    936	      0	  15098	   3afa	fbdev/matrox/matroxfb_misc.o

(gcc version 9.2.1, amd64)

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/video/fbdev/matrox/matroxfb_misc.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Ville Syrjälä Sept. 6, 2019, 6:17 p.m. UTC | #1
On Fri, Sep 06, 2019 at 07:11:14PM +0100, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> Don't populate the array wtst_xlat on the stack but instead make it
> static const. Makes the object code smaller by 89 bytes.
> 
> Before:
>    text	   data	    bss	    dec	    hex	filename
>   14347	    840	      0	  15187	   3b53	fbdev/matrox/matroxfb_misc.o
> 
> After:
>    text	   data	    bss	    dec	    hex	filename
>   14162	    936	      0	  15098	   3afa	fbdev/matrox/matroxfb_misc.o
> 
> (gcc version 9.2.1, amd64)
> 
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>  drivers/video/fbdev/matrox/matroxfb_misc.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/video/fbdev/matrox/matroxfb_misc.c b/drivers/video/fbdev/matrox/matroxfb_misc.c
> index c7aaca12805e..feb0977c82eb 100644
> --- a/drivers/video/fbdev/matrox/matroxfb_misc.c
> +++ b/drivers/video/fbdev/matrox/matroxfb_misc.c
> @@ -673,7 +673,10 @@ static int parse_pins5(struct matrox_fb_info *minfo,
>  	if (bd->pins[115] & 4) {
>  		minfo->values.reg.mctlwtst_core = minfo->values.reg.mctlwtst;
>  	} else {
> -		u_int32_t wtst_xlat[] = { 0, 1, 5, 6, 7, 5, 2, 3 };
> +		static const u_int32_t wtst_xlat[] = {
> +			0, 1, 5, 6, 7, 5, 2, 3

All of those would easily fit in u8 as well.

> +		};
> +
>  		minfo->values.reg.mctlwtst_core = (minfo->values.reg.mctlwtst & ~7) |
>  						  wtst_xlat[minfo->values.reg.mctlwtst & 7];
>  	}
> -- 
> 2.20.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Bartlomiej Zolnierkiewicz Jan. 3, 2020, 12:22 p.m. UTC | #2
On 9/6/19 8:17 PM, Ville Syrjälä wrote:
> On Fri, Sep 06, 2019 at 07:11:14PM +0100, Colin King wrote:
>> From: Colin Ian King <colin.king@canonical.com>
>>
>> Don't populate the array wtst_xlat on the stack but instead make it
>> static const. Makes the object code smaller by 89 bytes.
>>
>> Before:
>>    text	   data	    bss	    dec	    hex	filename
>>   14347	    840	      0	  15187	   3b53	fbdev/matrox/matroxfb_misc.o
>>
>> After:
>>    text	   data	    bss	    dec	    hex	filename
>>   14162	    936	      0	  15098	   3afa	fbdev/matrox/matroxfb_misc.o
>>
>> (gcc version 9.2.1, amd64)
>>
>> Signed-off-by: Colin Ian King <colin.king@canonical.com>

Thanks, patch queued for v5.6 (also sorry for the delay).

>> ---
>>  drivers/video/fbdev/matrox/matroxfb_misc.c | 5 ++++-
>>  1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/video/fbdev/matrox/matroxfb_misc.c b/drivers/video/fbdev/matrox/matroxfb_misc.c
>> index c7aaca12805e..feb0977c82eb 100644
>> --- a/drivers/video/fbdev/matrox/matroxfb_misc.c
>> +++ b/drivers/video/fbdev/matrox/matroxfb_misc.c
>> @@ -673,7 +673,10 @@ static int parse_pins5(struct matrox_fb_info *minfo,
>>  	if (bd->pins[115] & 4) {
>>  		minfo->values.reg.mctlwtst_core = minfo->values.reg.mctlwtst;
>>  	} else {
>> -		u_int32_t wtst_xlat[] = { 0, 1, 5, 6, 7, 5, 2, 3 };
>> +		static const u_int32_t wtst_xlat[] = {
>> +			0, 1, 5, 6, 7, 5, 2, 3
> 
> All of those would easily fit in u8 as well.

Good idea, I've converted the table to u8 while applying the patch.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

>> +		};
>> +
>>  		minfo->values.reg.mctlwtst_core = (minfo->values.reg.mctlwtst & ~7) |
>>  						  wtst_xlat[minfo->values.reg.mctlwtst & 7];
>>  	}
>> -- 
>> 2.20.1
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox series

Patch

diff --git a/drivers/video/fbdev/matrox/matroxfb_misc.c b/drivers/video/fbdev/matrox/matroxfb_misc.c
index c7aaca12805e..feb0977c82eb 100644
--- a/drivers/video/fbdev/matrox/matroxfb_misc.c
+++ b/drivers/video/fbdev/matrox/matroxfb_misc.c
@@ -673,7 +673,10 @@  static int parse_pins5(struct matrox_fb_info *minfo,
 	if (bd->pins[115] & 4) {
 		minfo->values.reg.mctlwtst_core = minfo->values.reg.mctlwtst;
 	} else {
-		u_int32_t wtst_xlat[] = { 0, 1, 5, 6, 7, 5, 2, 3 };
+		static const u_int32_t wtst_xlat[] = {
+			0, 1, 5, 6, 7, 5, 2, 3
+		};
+
 		minfo->values.reg.mctlwtst_core = (minfo->values.reg.mctlwtst & ~7) |
 						  wtst_xlat[minfo->values.reg.mctlwtst & 7];
 	}