[alsa-devel] [PATCH v10 0/7] ALSA: jack: Refactoring for jack kctls
Takashi Iwai
tiwai at suse.de
Tue Apr 28 08:51:59 CEST 2015
At Mon, 27 Apr 2015 21:20:55 +0800,
Jie Yang wrote:
>
> This patch series aligns jack handling between the HDA and ASoC
> subsystems.
>
> The HDA subsystem currently creates a kcontrol for each HDA jack
> registered. ASoC subsystem creates input device jacks for each
> jack registered. This series aligns both jack APIs to create
> kcontrol jacks.
>
> This implementation keeps compatibility with existing HDA jacks
> so no userspace changes are required.
Since we got ack from Mark, now I applied the patches to for-next
branch.
Mark, if you need the changes regarding this, just pull from
topic/jack branch. It's on top of clean 4.1-rc1.
Thanks!
Takashi
>
> Changes in v10:
> 1. rebase it on top of tiwai/sound.git for-linus branch;
> 2. Liam helps fix some typos and syntax errors in comments and
> descriptions.
>
> Changes in v9:
> 1. move struct snd_jack_kctl definition to jack.c, to hides the
> internal implementation details;
> 2. some small code fixing;
> 3. update documentation file.
>
> Changes in v8:
> 1. remove snd_jack_kctl from HDA part, change snd_jack_new param
> to use bool for creating kcontrol at jack creating stage;
> 2. create jack for phantom jack, with no input device;
> 3. remove HDA jack get_unique_index() and index related code.
>
> Changes in v7:
> 1. move name generating and index getting part into ctljack.c;
> 2. remove exposing private_data and destructor to HDA, then jack
> core can handle kctls by itself totally.
> 3. some small code fixing.
>
> Changes in v6:
> 1. refine kctl name generating function;
> 2. integrate HDA jack kctl more deeply, support phantom jack in
> snd_jack_new();
> 3. add documentation for Jack kcontrols to explain how to use it.
>
> Changes in v5:
> 1. remove SND_KCTL_JACK config item, we need jack kctl once
> CONFIG_SND_JACK is selected.
>
> Changes in v4:
> 1. use snd_ctl_find_id() to get avaliable index;
> 2. add initial kctl for snd_jack_new(compatible for HDA);
> 3. add struct snd_jack_kctl * field to struct hda_jack_tbl;
> 4. new kctls for soc jack during jack pins creating.
> 5. add a patch to remove exporting snd_kctl_jack_new().
>
> Changes in v3:
> 1. replace bit index with bit mask in jack_kctl;
> 2. add exception for SND_JACK_HEADSET and SND_JACK_AVOUT, only create
> one jack kctl for these two combo jacks, respectively.
> 3. add NULL check, mem kfree, and fix some potential risk.
>
> Change in v2:
> 1. define jack_kctl struct, and put jack kctl related stuff there;
> 2. add a patch to remove the existing controls for HDA jack.
>
> Jie Yang (7):
> ALSA: jack: implement kctl creating for jack devices
> ALSA: Jack: handle jack embedded kcontrol creating within ctljack
> ALSA: jack: extend snd_jack_new to support phantom jack
> ALSA: hda - Update to use the new jack kctls method
> ASoC: jack: create kctls according to jack pins info
> ALSA: jack: remove exporting ctljack functions
> ALSA: Docs: Add documentation for Jack kcontrols
>
> Documentation/sound/alsa/Jack-Controls.txt | 43 ++++++++++
> include/sound/control.h | 2 +-
> include/sound/jack.h | 13 ++-
> sound/core/Kconfig | 3 -
> sound/core/Makefile | 3 +-
> sound/core/ctljack.c | 41 +++++++--
> sound/core/jack.c | 133 ++++++++++++++++++++++++++---
> sound/pci/hda/Kconfig | 2 +-
> sound/pci/hda/hda_jack.c | 90 ++++++-------------
> sound/pci/hda/hda_jack.h | 5 +-
> sound/pci/hda/patch_hdmi.c | 2 +-
> sound/pci/oxygen/xonar_wm87x6.c | 2 +-
> sound/soc/soc-jack.c | 3 +-
> 13 files changed, 242 insertions(+), 100 deletions(-)
> create mode 100644 Documentation/sound/alsa/Jack-Controls.txt
>
> --
> 1.9.1
>
More information about the Alsa-devel
mailing list