From 5d9b397eeeb8ddf1f8dbb0a680d10279288e8284 Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Wed, 9 May 2012 14:19:14 -0700 Subject: [PATCH] --- yaml --- r: 303453 b: refs/heads/master c: 5eeec215869cf7533d5180edcdf580a92cf50f66 h: refs/heads/master i: 303451: e7e94f62b1581624ef1b024f7edb68f1dce8b6b7 v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-omap2/devices.c | 31 +++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index dcdfd8710944..ee4395ee57db 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a42cf2c6c6ea0ec0237d555b95467c149e20e696 +refs/heads/master: 5eeec215869cf7533d5180edcdf580a92cf50f66 diff --git a/trunk/arch/arm/mach-omap2/devices.c b/trunk/arch/arm/mach-omap2/devices.c index e4336035c0ea..17dacefaa7ef 100644 --- a/trunk/arch/arm/mach-omap2/devices.c +++ b/trunk/arch/arm/mach-omap2/devices.c @@ -355,6 +355,36 @@ static void __init omap_init_dmic(void) static inline void omap_init_dmic(void) {} #endif +#if defined(CONFIG_SND_OMAP_SOC_OMAP_HDMI) || \ + defined(CONFIG_SND_OMAP_SOC_OMAP_HDMI_MODULE) + +static struct platform_device omap_hdmi_audio = { + .name = "omap-hdmi-audio", + .id = -1, +}; + +static void __init omap_init_hdmi_audio(void) +{ + struct omap_hwmod *oh; + struct platform_device *pdev; + + oh = omap_hwmod_lookup("dss_hdmi"); + if (!oh) { + printk(KERN_ERR "Could not look up dss_hdmi hw_mod\n"); + return; + } + + pdev = omap_device_build("omap-hdmi-audio-dai", + -1, oh, NULL, 0, NULL, 0, 0); + WARN(IS_ERR(pdev), + "Can't build omap_device for omap-hdmi-audio-dai.\n"); + + platform_device_register(&omap_hdmi_audio); +} +#else +static inline void omap_init_hdmi_audio(void) {} +#endif + #if defined(CONFIG_SPI_OMAP24XX) || defined(CONFIG_SPI_OMAP24XX_MODULE) #include @@ -704,6 +734,7 @@ static int __init omap2_init_devices(void) omap_init_mcpdm(); omap_init_dmic(); omap_init_camera(); + omap_init_hdmi_audio(); omap_init_mbox(); omap_init_mcspi(); omap_init_pmu();