On 4/22/20 8:58 PM, libin.yang@linux.intel.com wrote:
From: Libin Yang libin.yang@intel.com
UCMv2 supports "If" statement and will merge the same items with compound_merge(). If the items have the same id, it will fail to add the config items. And the id of the item in an array is automatically generated with the increased number. It is probably that some items to be merged have the same id. Let's add prefix in the id to avoid such situation.
For example:
If.seq1 { Condition { Type ControlExists Control "name='PGA1.0 1 Master Playback Volume'" } True { EnableSequence [ cset "name='PGA1.0 1 Master Playback Volume' 50" ] } }
If.seq2 { Condition { Type ControlExists Control "name='PGA2.0 2 Master Playback Volume'" } True { EnableSequence [ cset "name='PGA2.0 2 Master Playback Volume' 50" ] } }
If.seq3 { Condition { Type ControlExists Control "name='PGA3.0 3 Master Playback Volume'" } True { EnableSequence [ cset "name='PGA3.0 3 Master Playback Volume' 50" ] } }
If seq1, seq2 and seq3 conditions are true, UCM will fail to initialize.
This patch rename the config id to avoid the same id conflict.
The example confuses me completely, I checked three times and the seq1, seq2 and seq3 parts configure different controls.
Can you clarify what the conflict is and what id you were referring to?