summaryrefslogtreecommitdiff
path: root/alsactl/state.c
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2021-04-13 11:15:55 +0200
committerJaroslav Kysela <perex@perex.cz>2021-04-13 11:16:09 +0200
commita589d8886236983cb3bed16831b8ef44120991dd (patch)
tree316cfb36545b37364766195ae501ba39df62e8ea /alsactl/state.c
parent0a6b63a2c423821d8537b4e5d13f0ea163decb01 (diff)
downloadalsa-utils-a589d8886236983cb3bed16831b8ef44120991dd.tar.gz
alsactl: clean the boot / hotplug card specific configuration directory
The /var/lib/alsa/card<NUMBER>.conf.d directories should be emptied when the card is initialized. Implement this functionality directly to alsactl. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'alsactl/state.c')
-rw-r--r--alsactl/state.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/alsactl/state.c b/alsactl/state.c
index 0612970..44fda3f 100644
--- a/alsactl/state.c
+++ b/alsactl/state.c
@@ -1618,7 +1618,8 @@ out:
return err;
}
-int load_state(const char *file, const char *initfile, int initflags,
+int load_state(const char *cfgdir, const char *file,
+ const char *initfile, int initflags,
const char *cardname, int do_init)
{
int err, finalerr = 0, open_failed;
@@ -1640,7 +1641,7 @@ int load_state(const char *file, const char *initfile, int initflags,
while ((cardname1 = snd_card_iterator_next(&iter)) != NULL) {
if (!do_init)
break;
- err = init(initfile, initflags | FLAG_UCM_FBOOT | FLAG_UCM_BOOT, cardname1);
+ err = init(cfgdir, initfile, initflags | FLAG_UCM_FBOOT | FLAG_UCM_BOOT, cardname1);
if (err < 0) {
finalerr = err;
initfailed(iter.card, "init", err);
@@ -1661,7 +1662,7 @@ int load_state(const char *file, const char *initfile, int initflags,
init_ucm(initflags | FLAG_UCM_FBOOT, iter.card);
/* do a check if controls matches state file */
if (do_init && set_controls(iter.card, config, 0)) {
- err = init(initfile, initflags | FLAG_UCM_BOOT, cardname1);
+ err = init(cfgdir, initfile, initflags | FLAG_UCM_BOOT, cardname1);
if (err < 0) {
initfailed(iter.card, "init", err);
finalerr = err;