diff options
author | Jaroslav Kysela <perex@perex.cz> | 2021-04-13 11:15:55 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2021-04-13 11:16:09 +0200 |
commit | a589d8886236983cb3bed16831b8ef44120991dd (patch) | |
tree | 316cfb36545b37364766195ae501ba39df62e8ea /alsactl/state.c | |
parent | 0a6b63a2c423821d8537b4e5d13f0ea163decb01 (diff) | |
download | alsa-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.c | 7 |
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; |