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 ??