Jon Smirl wrote: > For this model to work you need to split your driver. fsl-ssi and > mpc8610_hpcd need to be in two separate drivers. They are two separate drivers. sound/soc/fsl/fsl_ssi.c and sound/soc/fsl/mpc8610_hpcd.c > fsl-ssi is easy > enough to load since it has a device tree entry. > > mpc8610_hpcd is the harder one to load since it doesn't have a device > tree entry. What you want to do it match on the compatible field of > the root node. > > static struct of_device_id fabric_of_match[] = { > { > .compatible = "fsl,MPC8610HPCD", > }, > {}, > }; > > But this doesn't work since the root is the device tree isn't passed > down into the device probe code. (Could this be fixed?) I don't understand that sentence. Is there a typo? > Instead we could make the separated mpc8610_hpcd fabric driver attach > to fsl,ssi. > > static struct of_device_id fabric_of_match[] = { > { > .compatible = "fsl,ssi", > }, > {}, > }; > > Then in it's probe code check for the right platform. That's what I do. I attach to fsl,ssi, gather the information from the device tree, and then call a private API to initialize the SSI driver. -- Timur Tabi Linux Kernel Developer @ Freescale _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel