diff options
author | Jaroslav Kysela <perex@perex.cz> | 2020-06-22 17:52:54 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2020-06-23 17:00:19 +0200 |
commit | d001c8de287f9fa3ce1814fb1c0804390576a19e (patch) | |
tree | b7ee1e8a93f648db48cb44e0c70c116ada1c215d /ucm2 | |
parent | 7fde5c213a91d407ece28de144612f9566487de1 (diff) |
ucm.conf: add support for the kernel module name tree
It seems that some ASoC drivers (mainly created from the DT tree)
does not offer any good identification for the common part.
This change adds the sysfs kernel module name lookup to
module/<KernelModuleName>.conf .
Also, modularize V1, V2Name, V2Module blocks. The V1 compatibility
is turned off by default now.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'ucm2')
-rw-r--r-- | ucm2/ucm.conf | 112 |
1 files changed, 77 insertions, 35 deletions
diff --git a/ucm2/ucm.conf b/ucm2/ucm.conf index 29bef5c..ec82878 100644 --- a/ucm2/ucm.conf +++ b/ucm2/ucm.conf @@ -13,76 +13,118 @@ Syntax 3 +Define.V1 "" # non-empty string to enable ucm v1 paths +Define.V2Module yes # empty string to disable +Define.V2Name yes # empty string to disable + If.driver { Condition { Type String Empty "${CardNumber}" } True { - # - # The last probed path for no-hw-card: + # The probed path for no-hw-card: # # ucm2/${OpenName}/${OpenName}.conf - # ucm/${OpenName}/${OpenName}.conf # - UseCasePath { legacy { Directory "${OpenName}" File "${OpenName}.conf" } - v1_legacy { - Version 1 - Directory "${OpenName}" - File "${OpenName}.conf" - } } - } False { # - # The last probed path when hw-card is found: + # The probed path when hw-card is found: # + # ucm2/${KernelModule}/${KernelModule}.conf # ucm2/${CardDriver}/${CardLongName}.conf # ucm2/${CardDriver}/${CardDriver}.conf - # ucm/${CardLongName}/${CardLongName}.conf - # ucm/${CardName}/${CardName}.conf or \ - # ucm/${OpenName}/${OpenName}.conf # - UseCasePath { - longname { - Directory "${CardDriver}" - File "${CardLongName}.conf" - } - driver { - Directory "${CardDriver}" - File "${CardDriver}.conf" + If.V2Module { + Condition { + Type String + Empty "${var:V2Module}" } - v1_longname { - Version 1 - Directory "${CardLongName}" - File "${CardLongName}.conf" + False { + Define.KernelModulePath "class/sound/card${CardNumber}/device/driver" + Define.KernelModule "${sys:$KernelModulePath}" + UseCasePath.module { + Directory "module" + File "${var:KernelModule}.conf" + } } } - - If.hw { + If.V2Name { Condition { Type String - Haystack "${OpenName}.conf" - Needle "hw:" + Empty "${var:V2Name}" + } + False.UseCasePath { + longname { + Directory "${CardDriver}" + File "${CardLongName}.conf" + } + driver { + Directory "${CardDriver}" + File "${CardDriver}.conf" + } } - True { - UseCasePath.v1_cardnamme { + } + } +} + +If.V1 { + Condition { + Type String + Empty "${var:V1}" + } + False.If.v1_driver { + Condition { + Type String + Empty "${CardNumber}" + } + True { + # + # The probed path for no-hw-card: + # + # ucm/${OpenName}/${OpenName}.conf + # + UseCasePath.v1_legacy { + Version 1 + Directory "${OpenName}" + File "${OpenName}.conf" + } + } + False { + # + # The ucm v1 probed path when hw-card is found: + # + # ucm/${CardLongName}/${CardLongName}.conf + # ucm/${CardName}/${CardName}.conf or \ + # ucm/${OpenName}/${OpenName}.conf + # + UseCasePath.v1_longname { + Version 1 + Directory "${CardLongName}" + File "${CardLongName}.conf" + } + If.v1_hw { + Condition { + Type String + Haystack "${OpenName}" + Needle "hw:" + } + True.UseCasePath.v1_cardnamme { Version 1 Directory "${CardName}" File "${CardName}.conf" } - } - False { - UseCasePath.v1_openname { + False.UseCasePath.v1_openname { Version 1 Directory "${OpenName}" File "${OpenName}.conf" |