--- v7
+++ v3
@@ -1,27 +1,142 @@
-Adds display_enabled flag and audio_abort_cb callback to struct hdmi.
+Removes the OMAP5 HDMI audio callbacks for an external audio driver and
+the old external DAI driver does not work anymore after this patch.
Signed-off-by: Jyri Sarha <jsarha@ti.com>
---
- drivers/video/fbdev/omap2/dss/hdmi.h | 2 ++
- 1 file changed, 2 insertions(+)
+ drivers/video/fbdev/omap2/dss/hdmi5.c | 113 ---------------------------------
+ 1 file changed, 113 deletions(-)
-diff --git a/drivers/video/fbdev/omap2/dss/hdmi.h b/drivers/video/fbdev/omap2/dss/hdmi.h
-index 6d129f2..bfaaf2f 100644
---- a/drivers/video/fbdev/omap2/dss/hdmi.h
-+++ b/drivers/video/fbdev/omap2/dss/hdmi.h
-@@ -366,10 +366,12 @@ struct omap_hdmi {
- struct regulator *vdda_reg;
+diff --git a/drivers/video/fbdev/omap2/dss/hdmi5.c b/drivers/video/fbdev/omap2/dss/hdmi5.c
+index d796071..d91ea36 100644
+--- a/drivers/video/fbdev/omap2/dss/hdmi5.c
++++ b/drivers/video/fbdev/omap2/dss/hdmi5.c
+@@ -495,112 +495,6 @@ static int hdmi_read_edid(struct omap_dss_device *dssdev,
+ return r;
+ }
- bool core_enabled;
-+ bool display_enabled;
-
- struct omap_dss_device output;
-
- struct platform_device *audio_pdev;
-+ void (*audio_abort_cb)(struct device *dev);
+-#if defined(CONFIG_OMAP5_DSS_HDMI_AUDIO)
+-static int hdmi_audio_enable(struct omap_dss_device *dssdev)
+-{
+- int r;
+-
+- mutex_lock(&hdmi.lock);
+-
+- if (!hdmi_mode_has_audio(hdmi.cfg.hdmi_dvi_mode)) {
+- r = -EPERM;
+- goto err;
+- }
+-
+- r = hdmi_wp_audio_enable(&hdmi.wp, true);
+- if (r)
+- goto err;
+-
+- mutex_unlock(&hdmi.lock);
+- return 0;
+-
+-err:
+- mutex_unlock(&hdmi.lock);
+- return r;
+-}
+-
+-static void hdmi_audio_disable(struct omap_dss_device *dssdev)
+-{
+- hdmi_wp_audio_enable(&hdmi.wp, false);
+-}
+-
+-static int hdmi_audio_start(struct omap_dss_device *dssdev)
+-{
+- return hdmi_wp_audio_core_req_enable(&hdmi.wp, true);
+-}
+-
+-static void hdmi_audio_stop(struct omap_dss_device *dssdev)
+-{
+- hdmi_wp_audio_core_req_enable(&hdmi.wp, false);
+-}
+-
+-static bool hdmi_audio_supported(struct omap_dss_device *dssdev)
+-{
+- bool r;
+-
+- mutex_lock(&hdmi.lock);
+-
+- r = hdmi_mode_has_audio(hdmi.cfg.hdmi_dvi_mode);
+-
+- mutex_unlock(&hdmi.lock);
+- return r;
+-}
+-
+-static int hdmi_audio_config(struct omap_dss_device *dssdev,
+- struct omap_dss_audio *audio)
+-{
+- int r;
+- u32 pclk = hdmi.cfg.timings.pixelclock;
+-
+- mutex_lock(&hdmi.lock);
+-
+- if (!hdmi_mode_has_audio(hdmi.cfg.hdmi_dvi_mode)) {
+- r = -EPERM;
+- goto err;
+- }
+-
+- r = hdmi5_audio_config(&hdmi.core, &hdmi.wp, audio, pclk);
+- if (r)
+- goto err;
+-
+- mutex_unlock(&hdmi.lock);
+- return 0;
+-
+-err:
+- mutex_unlock(&hdmi.lock);
+- return r;
+-}
+-#else
+-static int hdmi_audio_enable(struct omap_dss_device *dssdev)
+-{
+- return -EPERM;
+-}
+-
+-static void hdmi_audio_disable(struct omap_dss_device *dssdev)
+-{
+-}
+-
+-static int hdmi_audio_start(struct omap_dss_device *dssdev)
+-{
+- return -EPERM;
+-}
+-
+-static void hdmi_audio_stop(struct omap_dss_device *dssdev)
+-{
+-}
+-
+-static bool hdmi_audio_supported(struct omap_dss_device *dssdev)
+-{
+- return false;
+-}
+-
+-static int hdmi_audio_config(struct omap_dss_device *dssdev,
+- struct omap_dss_audio *audio)
+-{
+- return -EPERM;
+-}
+-#endif
+-
+ static int hdmi_set_infoframe(struct omap_dss_device *dssdev,
+ const struct hdmi_avi_infoframe *avi)
+ {
+@@ -629,13 +523,6 @@ static const struct omapdss_hdmi_ops hdmi_ops = {
+ .read_edid = hdmi_read_edid,
+ .set_infoframe = hdmi_set_infoframe,
+ .set_hdmi_mode = hdmi_set_hdmi_mode,
+-
+- .audio_enable = hdmi_audio_enable,
+- .audio_disable = hdmi_audio_disable,
+- .audio_start = hdmi_audio_start,
+- .audio_stop = hdmi_audio_stop,
+- .audio_supported = hdmi_audio_supported,
+- .audio_config = hdmi_audio_config,
};
- #endif
+ static void hdmi_init_output(struct platform_device *pdev)
--
1.7.9.5