I have written Linux ASoC driver code (codec driver & machine driver) for a certain audio codec IC.
The problem is sometimes the machine driver seems loaded before the codec driver, resulting in unsuccessful detection of the deice (e.g. "failed to find codec platform device" error).
Now my questions are:
1. My understanding is: ASoC codec driver (snd-soc-***.ko) must be loaded before machine driver (snd-soc-imx-***.ko).
Is this correct?
2. How can I ensure the load order of the modules?
Is there any sort of Kernel configuration or code for that?