[alsa-devel] [PATCH 1/3] ALSA: jack: Remove hard coding of jack_switch_types array size

Takashi Iwai tiwai at suse.de
Mon May 27 09:41:54 CEST 2019


On Fri, 24 May 2019 22:40:23 +0200,
<bgoswami at codeaurora.org> wrote:
> 
> From: Banajit Goswami <bgoswami at codeaurora.org>
> 
> The size for jack_switch_types array is currently controlled by
> a MACRO 'SND_JACK_SWITCH_TYPES', whose value needs to be updated
> everytime a new jack switch type is added. Remove this MACRO
> and use ARRAY_SIZE instead to get size of the array.
> 
> Signed-off-by: Gopikrishnaiah Anandan <agopik at codeaurora.org>
> Signed-off-by: Banajit Goswami <bgoswami at codeaurora.org>

The changes in ALSA side (this one and patch 3) look good.

Rather a bigger question is about the addition of the new input bit.
This needs the review and ack from input subsystem people.

Adding to Cc.


thanks,

Takashi


> ---
>  include/sound/jack.h | 3 ---
>  sound/core/jack.c    | 4 ++--
>  2 files changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/include/sound/jack.h b/include/sound/jack.h
> index 1e84bfb..b0791c5 100644
> --- a/include/sound/jack.h
> +++ b/include/sound/jack.h
> @@ -68,9 +68,6 @@ enum snd_jack_types {
>  	SND_JACK_BTN_5		= 0x0200,
>  };
>  
> -/* Keep in sync with definitions above */
> -#define SND_JACK_SWITCH_TYPES 6
> -
>  struct snd_jack {
>  	struct list_head kctl_list;
>  	struct snd_card *card;
> diff --git a/sound/core/jack.c b/sound/core/jack.c
> index 84c2a17..36b047b 100644
> --- a/sound/core/jack.c
> +++ b/sound/core/jack.c
> @@ -33,7 +33,7 @@ struct snd_jack_kctl {
>  };
>  
>  #ifdef CONFIG_SND_JACK_INPUT_DEV
> -static int jack_switch_types[SND_JACK_SWITCH_TYPES] = {
> +static int jack_switch_types[] = {
>  	SW_HEADPHONE_INSERT,
>  	SW_MICROPHONE_INSERT,
>  	SW_LINEOUT_INSERT,
> @@ -250,7 +250,7 @@ int snd_jack_new(struct snd_card *card, const char *id, int type,
>  
>  		jack->type = type;
>  
> -		for (i = 0; i < SND_JACK_SWITCH_TYPES; i++)
> +		for (i = 0; i < ARRAY_SIZE(jack_switch_types); i++)
>  			if (type & (1 << i))
>  				input_set_capability(jack->input_dev, EV_SW,
>  						     jack_switch_types[i]);
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project
> 
> 


More information about the Alsa-devel mailing list