[alsa-devel] [PATCH0/2] jack: Add support for SND_JACK_LINEOUT

Takashi Iwai tiwai at suse.de
Tue Oct 21 08:04:16 CEST 2008


At Mon, 20 Oct 2008 17:39:52 -0400,
Matthew Ranostay wrote:
> 
> Add support to the jack abstraction layer to report 'Line Out' presence insertions.
> 
> Signed-off-by: Matthew Ranostay <mranostay at embeddedalley.com>
> ---
> 
> diff --git a/include/linux/input.h b/include/linux/input.h
> index a5802c9..7323d2f 100644
> --- a/include/linux/input.h
> +++ b/include/linux/input.h
> @@ -644,6 +644,7 @@ struct input_absinfo {
>  #define SW_RADIO		SW_RFKILL_ALL	/* deprecated */
>  #define SW_MICROPHONE_INSERT	0x04  /* set = inserted */
>  #define SW_DOCK			0x05  /* set = plugged into dock */
> +#define SW_LINEOUT_INSERT	0x06  /* set = inserted */
>  #define SW_MAX			0x0f
>  #define SW_CNT			(SW_MAX+1)
> 
> diff --git a/include/sound/jack.h b/include/sound/jack.h
> index b1b2b8b..67270ee 100644
> --- a/include/sound/jack.h
> +++ b/include/sound/jack.h
> @@ -35,6 +35,8 @@ enum snd_jack_types {
>  	SND_JACK_HEADPHONE	= 0x0001,
>  	SND_JACK_MICROPHONE	= 0x0002,
>  	SND_JACK_HEADSET	= SND_JACK_HEADPHONE | SND_JACK_MICROPHONE,
> +	SND_JACK_LINEOUT	= 0x0004,
> +	SND_JACK_SWITCH		= SND_JACK_HEADPHONE | SND_JACK_LINEOUT,

Please describe what these two items are supposed to be used.
Especially, the use case of SND_JACK_SWITCH is unclear.


>  };
> 
>  struct snd_jack {
> diff --git a/sound/core/jack.c b/sound/core/jack.c
> index bd2d9e6..284432f 100644
> --- a/sound/core/jack.c
> +++ b/sound/core/jack.c
> @@ -34,6 +34,7 @@ static int snd_jack_dev_free(struct snd_device *device)
>  	else
>  		input_free_device(jack->input_dev);
> 
> +	kfree(jack->id);
>  	kfree(jack);
> 
>  	return 0;
> @@ -87,7 +88,7 @@ int snd_jack_new(struct snd_card *card, const char *id, int type,
>  	if (jack == NULL)
>  		return -ENOMEM;
> 
> -	jack->id = id;
> +	jack->id = kstrdup(id, GFP_KERNEL);
> 
>  	jack->input_dev = input_allocate_device();
>  	if (jack->input_dev == NULL) {

These two chunks are basically independent from the other change.
Please split to another patch with a proper changelog.


Takashi


More information about the Alsa-devel mailing list