diff --git a/packages/audio/alsa-lib/patches/alsa-lib-hda-intel-hd-001.patch b/packages/audio/alsa-lib/patches/alsa-lib-hda-intel-hd-001.patch deleted file mode 100644 index 48bf3318ec..0000000000 --- a/packages/audio/alsa-lib/patches/alsa-lib-hda-intel-hd-001.patch +++ /dev/null @@ -1,83 +0,0 @@ -snd_config_get_bool() was improved to parse also ASCII strings now, -so we don't have to open-code the boolean parser in -src/control/setup.c any longer. - -Signed-off-by: Takashi Iwai suse.de> ---- - src/control/setup.c | 37 ++++++------------------------------- - 1 file changed, 6 insertions(+), 31 deletions(-) - -diff --git a/src/control/setup.c b/src/control/setup.c -index eecda45..bd3599d 100644 ---- a/src/control/setup.c -+++ b/src/control/setup.c -@@ -400,7 +400,6 @@ static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_da - { - snd_config_t *conf; - snd_config_iterator_t i, next; -- char *tmp; - int iface = SND_CTL_ELEM_IFACE_MIXER; - const char *name = NULL; - long index = 0; -@@ -464,33 +463,17 @@ static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_da - continue; - } - if (strcmp(id, "lock") == 0) { -- if ((err = snd_config_get_ascii(n, &tmp)) < 0) { -- SNDERR("field %s has an invalid type", id); -- goto _err; -- } -- err = snd_config_get_bool_ascii(tmp); -- if (err < 0) { -- SNDERR("field %s is not a boolean", id); -- free(tmp); -+ err = snd_config_get_bool(n); -+ if (err < 0) - goto _err; -- } - lock = err; -- free(tmp); - continue; - } - if (strcmp(id, "preserve") == 0) { -- if ((err = snd_config_get_ascii(n, &tmp)) < 0) { -- SNDERR("field %s has an invalid type", id); -- goto _err; -- } -- err = snd_config_get_bool_ascii(tmp); -- if (err < 0) { -- SNDERR("field %s is not a boolean", id); -- free(tmp); -+ err = snd_config_get_bool(n); -+ if (err < 0) - goto _err; -- } - preserve = err; -- free(tmp); - continue; - } - if (strcmp(id, "value") == 0) { -@@ -502,18 +485,10 @@ static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_da - continue; - } - if (strcmp(id, "optional") == 0) { -- if ((err = snd_config_get_ascii(n, &tmp)) < 0) { -- SNDERR("field %s has an invalid type", id); -- goto _err; -- } -- err = snd_config_get_bool_ascii(tmp); -- if (err < 0) { -- SNDERR("field %s is not a boolean", id); -- free(tmp); -+ err = snd_config_get_bool(n); -+ if (err < 0) - goto _err; -- } - optional = err; -- free(tmp); - continue; - } - SNDERR("Unknown field %s", id); --- -1.7.12.2 - diff --git a/packages/audio/alsa-lib/patches/alsa-lib-hda-intel-hd-002.patch b/packages/audio/alsa-lib/patches/alsa-lib-hda-intel-hd-002.patch deleted file mode 100644 index 72b115faf4..0000000000 --- a/packages/audio/alsa-lib/patches/alsa-lib-hda-intel-hd-002.patch +++ /dev/null @@ -1,123 +0,0 @@ -From: Takashi Iwai suse.de> -Subject: [PATCH RFC 2/2] Add workaround for conflicting IEC958 controls for HD-audio -Newsgroups: gmane.linux.alsa.devel -Date: 2012-10-12 15:25:49 GMT (16 weeks, 1 day, 5 hours and 49 minutes ago) - -When both an SPDIF and an HDMI output are present on HD-audio, both -try to access IEC958 controls with index=0 although one of them must -be wrong. For avoiding this conflict, the recent kernel code moves -the IEC958 controls of an SPDIF with device=1 once when the conflict -happens. - -In this patch, the corresponding support is added in alsa-lib side. -The new "skip_rest" boolean flag is added to the hooked element -definition which indicates that the rest of element array will be -ignored once when this element is present and evaluated. With this -new flag, the HD-audio config takes device=1 primarily, then take -device=0 as fallback. - -Signed-off-by: Takashi Iwai suse.de> ---- - src/conf/cards/HDA-Intel.conf | 16 ++++++++++++++++ - src/control/setup.c | 19 ++++++++++++++++--- - 2 files changed, 32 insertions(+), 3 deletions(-) - -diff --git a/src/conf/cards/HDA-Intel.conf b/src/conf/cards/HDA-Intel.conf -index d4f2667..55fb624 100644 ---- a/src/conf/cards/HDA-Intel.conf -+++ b/src/conf/cards/HDA-Intel.conf -@@ -113,6 +113,22 @@ HDA-Intel.pcm.iec958.0 { - hook_args [ - { - name "IEC958 Playback Default" -+ device 1 -+ optional true -+ lock true -+ preserve true -+ value [ $AES0 $AES1 $AES2 $AES3 ] -+ } -+ { -+ name "IEC958 Playback Switch" -+ device 1 -+ optional true -+ value true -+ # if this element is present, skip the rest -+ skip_rest true -+ } -+ { -+ name "IEC958 Playback Default" - lock true - preserve true - value [ $AES0 $AES1 $AES2 $AES3 ] -diff --git a/src/control/setup.c b/src/control/setup.c -index bd3599d..f23bf2c 100644 ---- a/src/control/setup.c -+++ b/src/control/setup.c -@@ -396,7 +396,7 @@ static int snd_config_get_ctl_elem_value(snd_config_t *conf, - return 0; - } - --static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_data) -+static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_data, int *quit) - { - snd_config_t *conf; - snd_config_iterator_t i, next; -@@ -408,6 +408,7 @@ static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_da - int lock = 0; - int preserve = 0; - int optional = 0; -+ int skip_rest = 0; - snd_config_t *value = NULL, *mask = NULL; - snd_sctl_elem_t *elem = NULL; - int err; -@@ -491,6 +492,13 @@ static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_da - optional = err; - continue; - } -+ if (strcmp(id, "skip_rest") == 0) { -+ err = snd_config_get_bool(n); -+ if (err < 0) -+ goto _err; -+ skip_rest = err; -+ continue; -+ } - SNDERR("Unknown field %s", id); - return -EINVAL; - } -@@ -539,6 +547,9 @@ static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_da - if (! optional) - SNDERR("Cannot obtain info for CTL elem (%s,'%s',%li,%li,%li): %s",snd_ctl_elem_iface_name(iface), name, index, device, subdevice, snd_strerror(err)); - goto _err; -+ } else { -+ if (skip_rest) -+ *quit = 1; - } - snd_ctl_elem_value_set_id(elem->val, elem->id); - snd_ctl_elem_value_set_id(elem->old, elem->id); -@@ -594,7 +605,7 @@ int snd_sctl_build(snd_sctl_t **sctl, snd_ctl_t *handle, snd_config_t *conf, snd - { - snd_sctl_t *h; - snd_config_iterator_t i, next; -- int err; -+ int err, quit = 0; - - assert(sctl); - assert(handle); -@@ -614,11 +625,13 @@ int snd_sctl_build(snd_sctl_t **sctl, snd_ctl_t *handle, snd_config_t *conf, snd - INIT_LIST_HEAD(&h->elems); - snd_config_for_each(i, next, conf) { - snd_config_t *n = snd_config_iterator_entry(i); -- err = add_elem(h, n, private_data); -+ err = add_elem(h, n, private_data, &quit); - if (err < 0) { - free_elems(h); - return err; - } -+ if (quit) -+ break; - } - *sctl = h; - return 0; --- -1.7.12.2 -