ALSA: hda - Allow multiple callbacks for jack
authorTakashi Iwai <tiwai@suse.de>
Thu, 11 Sep 2014 13:22:46 +0000 (15:22 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 16 Sep 2014 15:23:44 +0000 (17:23 +0200)
commit1a4f69d5aaecb39a980fc20b14ec800fd5b53061
treef0fad4d91cbee4fa3436b53c16a5e436cc381550
parentbda17b82bfa9601f167ec338755b0b96909db5a0
ALSA: hda - Allow multiple callbacks for jack

So far, hda_jack infrastructure allows only one callback per jack, and
this makes things slightly complicated when a driver wants to assign
multiple tasks to a jack, e.g. the standard auto-mute with a power
up/down sequence.  This can be simplified if the hda_jack accepts
multiple callbacks.

This patch is such an extension: the callback-specific part (the
function and private_data) is split to another struct from
hda_jack_tbl, and multiple such objects can be assigned to a single
hda_jack_tbl entry.

The new struct hda_jack_callback is passed to each callback function
now, thus the patch became bigger than expected.  But these changes
are mostly trivial.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_generic.c
sound/pci/hda/hda_generic.h
sound/pci/hda/hda_jack.c
sound/pci/hda/hda_jack.h
sound/pci/hda/patch_cirrus.c
sound/pci/hda/patch_conexant.c
sound/pci/hda/patch_hdmi.c
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_sigmatel.c
sound/pci/hda/patch_via.c