[alsa-devel] [PATCH] ALSA: drivers: make array 'names' const, reduces object code size

Takashi Sakamoto o-takashi at sakamocchi.jp
Mon Nov 27 18:34:17 CET 2017


Hi,

On Nov 27 2017 21:58, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
> 
> Don't populate array 'names' on the stack but instead make them static.
> Makes the object code smaller by 50 bytes:
> 
> Before:
>     text	   data	    bss	    dec	    hex	filename
>    21237	   9192	   1120	  31549	   7b3d	linux/sound/drivers/dummy.o
> 
> After:
>     text	   data	    bss	    dec	    hex	filename
>    21095	   9280	   1120	  31495	   7b07	linux/sound/drivers/dummy.o
> 
> (gcc version 7.2.0 x86_64)
> 
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
>   sound/drivers/dummy.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sound/drivers/dummy.c b/sound/drivers/dummy.c
> index 7b2b1f766b00..69db45bc0197 100644
> --- a/sound/drivers/dummy.c
> +++ b/sound/drivers/dummy.c
> @@ -830,7 +830,7 @@ static int snd_dummy_capsrc_put(struct snd_kcontrol *kcontrol, struct snd_ctl_el
>   static int snd_dummy_iobox_info(struct snd_kcontrol *kcontrol,
>   				struct snd_ctl_elem_info *info)
>   {
> -	const char *const names[] = { "None", "CD Player" };
> +	static const char *const names[] = { "None", "CD Player" };
>   
>   	return snd_ctl_enum_info(info, 1, 2, names);
>   }

Total size of snd-dummy.ko increases but this patch has an advantage to 
have the symbol in read-only section. This looks good to me.

Reviewed-by: Takashi Sakamoto <o-takashi at sakamocchi.jp>

Another issue is addressed by the others, but here I focus on the 
original intention of this patch.


Thanks

Takashi Sakamoto


More information about the Alsa-devel mailing list