On 08/14/15 19:18, Mark Brown wrote:
On Fri, Aug 14, 2015 at 12:30:41PM +0300, Jyri Sarha wrote:
+struct hdmi_codec_ops {
+ /* For runtime clock configuration from ASoC machine driver.
+ * A direct forward from set_sysclk in struct snd_soc_dai_ops.
+ * Optional */
+ int (*set_clk)(struct device *dev, int clk_id, int freq);
I'd be much happier if we were using the clock API as the external
interface here, it's where we want to be internally too and it's going
to be easier to not introduce any external dependencies on the ASoC
internal stuff.
Sounds better. I'll change that.
+ /* Called when ASoC starts an audio stream setup. The call
+ * provides an audio abort callback for stoping an ongoing
+ * stream if the HDMI audio becomes unavailable.
+ * Optional */
+ int (*audio_startup)(struct device *dev,
+ void (*abort_cb)(struct device *dev));
I'm a bit confused about what is going to use abort_cb() and why they
wouldn't just call shutdown instead?
audio_shutdown() is for ASoC side to tell video side that audio playback
has stopped.
The abort_cb() is for video side to inform ASoC that current audio
stream can not continue anymore and it should be aborted. The similar
mechanism is currently in use in sound/soc/omap/omap-hdmi-audio.c.
+/* HDMI codec initalization data */
+struct hdmi_codec_pdata {
+ struct device *dev; /* The HDMI encoder registering the codec */
Shouldn't this just be dev->parent?
+enum {
+ DAI_ID_I2C = 0,
+ DAI_ID_SPDIF,
+};
I2C? :P
Right, should be I2S. Thanks!
Best regards,
Jyri
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html