[alsa-devel] [PATCH v7 4/7] ALSA: hda - Update to use the new jack kctls method

Takashi Iwai tiwai at suse.de
Tue Apr 21 11:58:30 CEST 2015


At Tue, 21 Apr 2015 16:05:42 +0800,
Jie Yang wrote:
> 
> In the new jack kctls design, snd_kcontrol can be created
> during snd_jack_new(), or calling snd_jack_add_new_kctls()
> to create and attach to the created jack later.
> 
> Here we create jack kctls at the jack creating stage, for
> both phantom/non-phantom jack.
> 
> Signed-off-by: Jie Yang <yang.jie at intel.com>
> ---
>  sound/pci/hda/hda_jack.c | 53 +++++++++++++++++-------------------------------
>  sound/pci/hda/hda_jack.h |  4 +---
>  2 files changed, 20 insertions(+), 37 deletions(-)
> 
> diff --git a/sound/pci/hda/hda_jack.c b/sound/pci/hda/hda_jack.c
> index f45c488..3447853 100644
> --- a/sound/pci/hda/hda_jack.c
> +++ b/sound/pci/hda/hda_jack.c
> @@ -132,11 +132,11 @@ void snd_hda_jack_tbl_clear(struct hda_codec *codec)
>  
>  	for (i = 0; i < codec->jacktbl.used; i++, jack++) {
>  		struct hda_jack_callback *cb, *next;
> -#ifdef CONFIG_SND_HDA_INPUT_JACK
> +
>  		/* free jack instances manually when clearing/reconfiguring */
>  		if (!codec->bus->shutdown && jack->jack)
>  			snd_device_free(codec->bus->card, jack->jack);
> -#endif
> +
>  		for (cb = jack->callback; cb; cb = next) {
>  			next = cb->next;
>  			kfree(cb);
> @@ -337,20 +337,16 @@ void snd_hda_jack_report_sync(struct hda_codec *codec)
>  	jack = codec->jacktbl.list;
>  	for (i = 0; i < codec->jacktbl.used; i++, jack++)
>  		if (jack->nid) {
> -			if (!jack->kctl || jack->block_report)
> +			if (!jack->jack_kctl || jack->block_report)

The all checks of jack->kctl should be replaced with jack->jack.
That is, you don't have to care about kctl any longer in the hdaudio
side.


Takashi


More information about the Alsa-devel mailing list