- Backport upstream fixes: ucm-parser fixes and enhancements, configure script cleanup, fixes of 5.6 kernel ABI, O_CLOEXEC flag fix: 0064-ucm-parser-cosmetic-fixes-in-the-comments.patch 0065-configure.ac-remove-an-unnecessary-libtool-fix.patch 0066-ucm-parser-use-correct-filename-in-parser_master_fil.patch 0067-ucm-the-ucm2-subdirectory-is-driver-name-based.patch 0068-ucm-implement-RenameDevice-and-RemoveDevice-verb-man.patch 0069-ucm-fill-missing-device-entries-conflicting-supporte.patch 0070-control-Remove-access-to-the-deprecated-dimen-fields.patch 0071-topology-Drop-SNDRV_CTL_ELEM_ACCESS_TIMESTAMP-access.patch 0072-uapi-Sync-with-5.6-kernel-ABI.patch 0073-ucm-parser-add-error-message-to-verb_dev_list_add.patch 0074-do-not-set-close-on-exec-flag-on-descriptor-if-it-wa.patch OBS-URL: https://build.opensuse.org/request/show/774837 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa?expand=0&rev=267
60 lines
2.0 KiB
Diff
60 lines
2.0 KiB
Diff
From 71a1367bcabc50f99302d8c76395f1cb84975775 Mon Sep 17 00:00:00 2001
|
|
From: Jaroslav Kysela <perex@perex.cz>
|
|
Date: Mon, 3 Feb 2020 15:24:19 +0100
|
|
Subject: [PATCH 67/74] ucm: the ucm2/ subdirectory is driver name based
|
|
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
src/ucm/parser.c | 12 +++++++-----
|
|
1 file changed, 7 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/src/ucm/parser.c b/src/ucm/parser.c
|
|
index dbbd381755b1..f576fde429cf 100644
|
|
--- a/src/ucm/parser.c
|
|
+++ b/src/ucm/parser.c
|
|
@@ -1515,7 +1515,7 @@ static int get_card_long_name(snd_use_case_mgr_t *mgr, char *longname)
|
|
int card, err;
|
|
snd_ctl_t *ctl;
|
|
snd_ctl_card_info_t *info;
|
|
- const char *_name, *_long_name;
|
|
+ const char *_driver, *_name, *_long_name;
|
|
|
|
snd_ctl_card_info_alloca(&info);
|
|
|
|
@@ -1535,9 +1535,11 @@ static int get_card_long_name(snd_use_case_mgr_t *mgr, char *longname)
|
|
err = get_card_info(mgr, name, &ctl, info);
|
|
|
|
if (err == 0) {
|
|
+ _driver = snd_ctl_card_info_get_driver(info);
|
|
_name = snd_ctl_card_info_get_name(info);
|
|
_long_name = snd_ctl_card_info_get_longname(info);
|
|
- if (!strcmp(card_name, _name) ||
|
|
+ if (!strcmp(card_name, _driver) ||
|
|
+ !strcmp(card_name, _name) ||
|
|
!strcmp(card_name, _long_name)) {
|
|
snd_strlcpy(longname, _long_name, MAX_CARD_LONG_NAME);
|
|
return 0;
|
|
@@ -1560,7 +1562,7 @@ static int get_by_card(snd_use_case_mgr_t *mgr, const char *ctl_name, char *long
|
|
{
|
|
snd_ctl_t *ctl;
|
|
snd_ctl_card_info_t *info;
|
|
- const char *_name, *_long_name;
|
|
+ const char *_driver, *_long_name;
|
|
int err;
|
|
|
|
snd_ctl_card_info_alloca(&info);
|
|
@@ -1569,8 +1571,8 @@ static int get_by_card(snd_use_case_mgr_t *mgr, const char *ctl_name, char *long
|
|
if (err)
|
|
return err;
|
|
|
|
- _name = snd_ctl_card_info_get_name(info);
|
|
- if (replace_string(&mgr->conf_dir_name, _name) == NULL)
|
|
+ _driver = snd_ctl_card_info_get_driver(info);
|
|
+ if (replace_string(&mgr->conf_dir_name, _driver) == NULL)
|
|
return -ENOMEM;
|
|
_long_name = snd_ctl_card_info_get_longname(info);
|
|
snd_strlcpy(longname, _long_name, MAX_CARD_LONG_NAME);
|
|
--
|
|
2.16.4
|
|
|