Hi Jaroslav, > Nope. It's just a short path for the non-driver field to not further > process the destination string (the name argument). The snprintf() call > sets all field types (it's before the condition). Just set the > driver_name field in the soc card structure and you will be fine. > > The UCM config must be updated to handle the new driver name. The fine > selection key should probably use the card name, because long name is > set from DMI: > > old: > > 1 [sofglkda7219max]: sof-glkda7219ma - sof-glkda7219max > Google-Phaser360-rev4 > > new: > > 1 [sofglkda7219max]: SOF-Intel - sof-glkda7219max > Google-Phaser360-rev4 > > UCM substitutions: > > 1 [${CardId} ]: ${CardDriver} - ${CardName} > ${CardLongName} > > UCM conf: > > mkdir -p ucm2/conf.d/SOF-Intel > cat > ucm2/conf.d/SOF-Intel/SOF-Intel.conf <<EOF > Syntax 6 > Include.0.File "/Intel/\${CardName}/\${CardName}.conf" > EOF I am not following any of this, sorry. The existing UCM configuration uses the card name, e.g. sof-glkda7219max. That works and needs zero extra work. If all the cards registered in sound/soc/intel/boards use the same "SOF-Intel" driver name, then the driver name cannot be used for any UCM selection. What is the point of including all the cardName.conf files at a higher level that brings no obvious value beyond an indirection that we already have with the path ucm2/Intel ? What am I missing ??