1*4882a593Smuzhiyun# 2*4882a593Smuzhiyun# This is the toplevel file included from the alsa-lib. 3*4882a593Smuzhiyun# 4*4882a593Smuzhiyun# It allows to add extra lookups for the old kernels or so. 5*4882a593Smuzhiyun# 6*4882a593Smuzhiyun# You may specify the directory (relative to the toplevel) and 7*4882a593Smuzhiyun# the master configuration file which defines the verbs. 8*4882a593Smuzhiyun# 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun# 11*4882a593Smuzhiyun# Syntax version is reset for the master configuration file. 12*4882a593Smuzhiyun# 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunSyntax 3 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunDefine.V1 "" # non-empty string to enable ucm v1 paths 17*4882a593SmuzhiyunDefine.V2Module yes # empty string to disable 18*4882a593SmuzhiyunDefine.V2Name yes # empty string to disable 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunIf.driver { 21*4882a593Smuzhiyun Condition { 22*4882a593Smuzhiyun Type String 23*4882a593Smuzhiyun Empty "${CardNumber}" 24*4882a593Smuzhiyun } 25*4882a593Smuzhiyun True { 26*4882a593Smuzhiyun # 27*4882a593Smuzhiyun # The probed path for no-hw-card: 28*4882a593Smuzhiyun # 29*4882a593Smuzhiyun # ucm2/${OpenName}/${OpenName}.conf 30*4882a593Smuzhiyun # 31*4882a593Smuzhiyun UseCasePath { 32*4882a593Smuzhiyun legacy { 33*4882a593Smuzhiyun Directory "${OpenName}" 34*4882a593Smuzhiyun File "${OpenName}.conf" 35*4882a593Smuzhiyun } 36*4882a593Smuzhiyun } 37*4882a593Smuzhiyun } 38*4882a593Smuzhiyun False { 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun # 41*4882a593Smuzhiyun # The probed path when hw-card is found: 42*4882a593Smuzhiyun # 43*4882a593Smuzhiyun # ucm2/${KernelModule}/${KernelModule}.conf 44*4882a593Smuzhiyun # ucm2/${CardDriver}/${CardLongName}.conf 45*4882a593Smuzhiyun # ucm2/${CardDriver}/${CardDriver}.conf 46*4882a593Smuzhiyun # 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun If.V2Module { 49*4882a593Smuzhiyun Condition { 50*4882a593Smuzhiyun Type String 51*4882a593Smuzhiyun Empty "${var:V2Module}" 52*4882a593Smuzhiyun } 53*4882a593Smuzhiyun False { 54*4882a593Smuzhiyun Define.KernelModulePath "class/sound/card${CardNumber}/device/driver" 55*4882a593Smuzhiyun Define.KernelModule "${sys:$KernelModulePath}" 56*4882a593Smuzhiyun UseCasePath.module { 57*4882a593Smuzhiyun Directory "module" 58*4882a593Smuzhiyun File "${var:KernelModule}.conf" 59*4882a593Smuzhiyun } 60*4882a593Smuzhiyun } 61*4882a593Smuzhiyun } 62*4882a593Smuzhiyun If.V2Name { 63*4882a593Smuzhiyun Condition { 64*4882a593Smuzhiyun Type String 65*4882a593Smuzhiyun Empty "${var:V2Name}" 66*4882a593Smuzhiyun } 67*4882a593Smuzhiyun False.UseCasePath { 68*4882a593Smuzhiyun longname { 69*4882a593Smuzhiyun Directory "${CardDriver}" 70*4882a593Smuzhiyun File "${CardLongName}.conf" 71*4882a593Smuzhiyun } 72*4882a593Smuzhiyun driver { 73*4882a593Smuzhiyun Directory "${CardDriver}" 74*4882a593Smuzhiyun File "${CardDriver}.conf" 75*4882a593Smuzhiyun } 76*4882a593Smuzhiyun } 77*4882a593Smuzhiyun } 78*4882a593Smuzhiyun } 79*4882a593Smuzhiyun} 80*4882a593Smuzhiyun 81*4882a593SmuzhiyunIf.V1 { 82*4882a593Smuzhiyun Condition { 83*4882a593Smuzhiyun Type String 84*4882a593Smuzhiyun Empty "${var:V1}" 85*4882a593Smuzhiyun } 86*4882a593Smuzhiyun False.If.v1_driver { 87*4882a593Smuzhiyun Condition { 88*4882a593Smuzhiyun Type String 89*4882a593Smuzhiyun Empty "${CardNumber}" 90*4882a593Smuzhiyun } 91*4882a593Smuzhiyun True { 92*4882a593Smuzhiyun # 93*4882a593Smuzhiyun # The probed path for no-hw-card: 94*4882a593Smuzhiyun # 95*4882a593Smuzhiyun # ucm/${OpenName}/${OpenName}.conf 96*4882a593Smuzhiyun # 97*4882a593Smuzhiyun UseCasePath.v1_legacy { 98*4882a593Smuzhiyun Version 1 99*4882a593Smuzhiyun Directory "${OpenName}" 100*4882a593Smuzhiyun File "${OpenName}.conf" 101*4882a593Smuzhiyun } 102*4882a593Smuzhiyun } 103*4882a593Smuzhiyun False { 104*4882a593Smuzhiyun # 105*4882a593Smuzhiyun # The ucm v1 probed path when hw-card is found: 106*4882a593Smuzhiyun # 107*4882a593Smuzhiyun # ucm/${CardLongName}/${CardLongName}.conf 108*4882a593Smuzhiyun # ucm/${CardName}/${CardName}.conf or \ 109*4882a593Smuzhiyun # ucm/${OpenName}/${OpenName}.conf 110*4882a593Smuzhiyun # 111*4882a593Smuzhiyun UseCasePath.v1_longname { 112*4882a593Smuzhiyun Version 1 113*4882a593Smuzhiyun Directory "${CardLongName}" 114*4882a593Smuzhiyun File "${CardLongName}.conf" 115*4882a593Smuzhiyun } 116*4882a593Smuzhiyun If.v1_hw { 117*4882a593Smuzhiyun Condition { 118*4882a593Smuzhiyun Type String 119*4882a593Smuzhiyun Haystack "${OpenName}" 120*4882a593Smuzhiyun Needle "hw:" 121*4882a593Smuzhiyun } 122*4882a593Smuzhiyun True.UseCasePath.v1_cardnamme { 123*4882a593Smuzhiyun Version 1 124*4882a593Smuzhiyun Directory "${CardName}" 125*4882a593Smuzhiyun File "${CardName}.conf" 126*4882a593Smuzhiyun } 127*4882a593Smuzhiyun False.UseCasePath.v1_openname { 128*4882a593Smuzhiyun Version 1 129*4882a593Smuzhiyun Directory "${OpenName}" 130*4882a593Smuzhiyun File "${OpenName}.conf" 131*4882a593Smuzhiyun } 132*4882a593Smuzhiyun } 133*4882a593Smuzhiyun } 134*4882a593Smuzhiyun } 135*4882a593Smuzhiyun} 136