2021-08-01 06:29:23

by Colin King

[permalink] [raw]
Subject: [PATCH] ALSA: usb-audio: make array static const, makes object smaller

From: Colin Ian King <[email protected]>

Don't populate array names_to_check on the stack but instead it
static. Makes the object code smaller by 56 bytes.

Before:
text data bss dec hex filename
103512 34380 0 137892 21aa4 ./sound/usb/mixer.o

After:
text data bss dec hex filename
103264 34572 0 137836 21a6c ./sound/usb/mixer.o

gcc version 10.2.0)

Signed-off-by: Colin Ian King <[email protected]>
---
sound/usb/mixer.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
index f4cdaf1ba44a..aec2499284a5 100644
--- a/sound/usb/mixer.c
+++ b/sound/usb/mixer.c
@@ -1572,8 +1572,9 @@ static size_t append_ctl_name(struct snd_kcontrol *kctl, const char *str)
static void check_no_speaker_on_headset(struct snd_kcontrol *kctl,
struct snd_card *card)
{
- const char *names_to_check[] = {
- "Headset", "headset", "Headphone", "headphone", NULL};
+ static const char *names_to_check[] = {
+ "Headset", "headset", "Headphone", "headphone", NULL
+ };
const char **s;
bool found = false;

--
2.31.1



2021-08-01 08:06:48

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH] ALSA: usb-audio: make array static const, makes object smaller

On Sun, 01 Aug 2021 08:25:48 +0200,
Colin King wrote:
>
> From: Colin Ian King <[email protected]>
>
> Don't populate array names_to_check on the stack but instead it
> static. Makes the object code smaller by 56 bytes.
>
> Before:
> text data bss dec hex filename
> 103512 34380 0 137892 21aa4 ./sound/usb/mixer.o
>
> After:
> text data bss dec hex filename
> 103264 34572 0 137836 21a6c ./sound/usb/mixer.o
>
> gcc version 10.2.0)
>
> Signed-off-by: Colin Ian King <[email protected]>
> ---
> sound/usb/mixer.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
> index f4cdaf1ba44a..aec2499284a5 100644
> --- a/sound/usb/mixer.c
> +++ b/sound/usb/mixer.c
> @@ -1572,8 +1572,9 @@ static size_t append_ctl_name(struct snd_kcontrol *kctl, const char *str)
> static void check_no_speaker_on_headset(struct snd_kcontrol *kctl,
> struct snd_card *card)
> {
> - const char *names_to_check[] = {
> - "Headset", "headset", "Headphone", "headphone", NULL};
> + static const char *names_to_check[] = {
> + "Headset", "headset", "Headphone", "headphone", NULL
> + };

checkpatch complains like:
WARNING: static const char * array should probably be static const
char * const

Could you check and resubmit if it's right?


thanks,

Takashi