Hi Jean-Francois,
If the original cinfo is not used anymore, the use of its structure to handle the card information is not a good idea:
almost all cinfo information are in the struct snd_soc_card,
this cinfo structure cannot be extended to handle many DAI links,
it contains simple-card information which are of no use for the platform caller.
So, I'd rather have seen:
the removal of 'snd_link' and 'snd_card' from the platform interface (struct asoc_simple_card_info),
the definition of a local struct simple_card_data containing the struct snd_soc_card and a pointer to an array of fmt/sysclk values (one per DAI link).
I have sent one patch to fix some of these and mainly fixed the bug from Mark's comments in another early email.
Thanks,
-- Best Regards, Xiubo