On 02/11/2013 10:37 PM, Kuninori Morimoto wrote: > > Hi Stephen > >> 2) Call an "of_xlate" function on that driver, passing it the "portspec" >> I mentioned above; the driver will interpret the portspec, maps it to >> the ASoC port name, and return it. >> >> The DT binding for each audio component must define the list of valid >> port IDs, and the number of cells used to encode the value. >> >> See for example the GPIO and PWM subsystem's of_xlate functions. > > Hmm... > I guess this means struct snd_soc_dai_driver or similar has .of_xlate() > callback ?
Yes, something like that. > But, this simple-audio is "independent" from cpu/codec. Well, any driver that could be used with it will need to implement the .of_xlate() callback. The simple-audio code would still be 100% independent from any CPU or CODEC, since of_xlate would be a standard interface/API that any CPU or CODEC driver could implement, and any ASoC machine driver could call. > For example, basically, we can use this simple-audio for FSI-wm8903 matching. > But, this wm8903 is used on tegra too. > Then, FSI-wm8903 (which use simple-audio) needs .of_xlate on wm8903 driver to > get interpreted port name, > but tegra-wm8903 don't need it. Yes, .of_xlate() wouldn't have to be implemented by the WM8903 CODEC driver for the tegra-wm8903 machine driver to use the WM8903 CODEC. However, if it /was/ implemented, it wouldn't stop tegra-wm8903 from working. And later, it may help unify all the simple Tegra machine drivers into one, since they could also become CODEC-independent, and hence become unified (or at least mostly unified) code. _______________________________________________ devicetree-discuss mailing list devicetree-discuss@lists.ozlabs.org https://lists.ozlabs.org/listinfo/devicetree-discuss