On Mon, Nov 19, 2012 at 02:58:41PM +0200, Tomi Valkeinen wrote:
I still don't understand why the codec and machine drivers need to be created in the board file. That just forces us to replicate the same code for all OMAP boards that have OMAP HDMI output. Why not create the devices in some common code, for example arch/arm/mach-omap2/display.c?
Yes, this would be more sensible if there's no board specifics involved.
With DT this should be similar: OMAP's hdmi devices should be presented in the omap4.dtsi file, not in each individual board dts. Although the DT data should represent the hardware, and if the code and machine devices are not really there in the HW, then... I don't know =).
Well, in a case like this where the sound card is essentially autoprobed based on the detection of the hardware at runtime the sound card probably shouldn't appear in the device tree at all - you'll probably want something to say there's a physical HDMI port it's worth looking at there but everything else should be figured out at runtime.
And something that confuses me: sound/soc/codecs/omap-hdmi.c contains a codec and dai drivers, but sound/soc/omap/omap-hdmi.c also contains a dai driver. The latter actually contains two dai drivers, the other a platform driver and the other a snd_soc_dai_driver. But I guess this is asoc details, and not relevant to this disuccsion =).
There's an interaface on each end of the link, they're wired together to communicate between the two devices.