--- v6
+++ v1
@@ -1,42 +1,142 @@
-hdmi4_audio_get_dma_port() is unused and and broken.
+Removes the OMAP4 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/hdmi4_core.c | 9 ---------
- drivers/video/fbdev/omap2/dss/hdmi4_core.h | 2 --
- 2 files changed, 11 deletions(-)
+ drivers/video/fbdev/omap2/dss/hdmi4.c | 113 ---------------------------------
+ 1 file changed, 113 deletions(-)
-diff --git a/drivers/video/fbdev/omap2/dss/hdmi4_core.c b/drivers/video/fbdev/omap2/dss/hdmi4_core.c
-index 3b448d9..7eafea5 100644
---- a/drivers/video/fbdev/omap2/dss/hdmi4_core.c
-+++ b/drivers/video/fbdev/omap2/dss/hdmi4_core.c
-@@ -874,15 +874,6 @@ void hdmi4_audio_stop(struct hdmi_core_data *core, struct hdmi_wp_data *wp)
- hdmi_wp_audio_core_req_enable(wp, false);
+diff --git a/drivers/video/fbdev/omap2/dss/hdmi4.c b/drivers/video/fbdev/omap2/dss/hdmi4.c
+index 626aad2..71f9175 100644
+--- a/drivers/video/fbdev/omap2/dss/hdmi4.c
++++ b/drivers/video/fbdev/omap2/dss/hdmi4.c
+@@ -509,112 +509,6 @@ static int hdmi_read_edid(struct omap_dss_device *dssdev,
+ return r;
}
--int hdmi4_audio_get_dma_port(u32 *offset, u32 *size)
+-#if defined(CONFIG_OMAP4_DSS_HDMI_AUDIO)
+-static int hdmi_audio_enable(struct omap_dss_device *dssdev)
-{
-- if (!offset || !size)
-- return -EINVAL;
-- *offset = HDMI_WP_AUDIO_DATA;
-- *size = 4;
+- int r;
+-
+- mutex_lock(&hdmi.lock);
+-
+- if (!hdmi_mode_has_audio(hdmi.cfg.cm.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;
-}
-
- int hdmi4_core_init(struct platform_device *pdev, struct hdmi_core_data *core)
- {
- struct resource *res;
-diff --git a/drivers/video/fbdev/omap2/dss/hdmi4_core.h b/drivers/video/fbdev/omap2/dss/hdmi4_core.h
-index c1959f7..a069f96 100644
---- a/drivers/video/fbdev/omap2/dss/hdmi4_core.h
-+++ b/drivers/video/fbdev/omap2/dss/hdmi4_core.h
-@@ -270,6 +270,4 @@ int hdmi4_audio_start(struct hdmi_core_data *core, struct hdmi_wp_data *wp);
- void hdmi4_audio_stop(struct hdmi_core_data *core, struct hdmi_wp_data *wp);
- int hdmi4_audio_config(struct hdmi_core_data *core, struct hdmi_wp_data *wp,
- struct omap_dss_audio *audio, u32 pclk);
--int hdmi4_audio_get_dma_port(u32 *offset, u32 *size);
+-static void hdmi_audio_disable(struct omap_dss_device *dssdev)
+-{
+- hdmi_wp_audio_enable(&hdmi.wp, false);
+-}
-
- #endif
+-static int hdmi_audio_start(struct omap_dss_device *dssdev)
+-{
+- return hdmi4_audio_start(&hdmi.core, &hdmi.wp);
+-}
+-
+-static void hdmi_audio_stop(struct omap_dss_device *dssdev)
+-{
+- hdmi4_audio_stop(&hdmi.core, &hdmi.wp);
+-}
+-
+-static bool hdmi_audio_supported(struct omap_dss_device *dssdev)
+-{
+- bool r;
+-
+- mutex_lock(&hdmi.lock);
+-
+- r = hdmi_mode_has_audio(hdmi.cfg.cm.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.cm.mode)) {
+- r = -EPERM;
+- goto err;
+- }
+-
+- r = hdmi4_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 const struct omapdss_hdmi_ops hdmi_ops = {
+ .connect = hdmi_connect,
+ .disconnect = hdmi_disconnect,
+@@ -627,13 +521,6 @@ static const struct omapdss_hdmi_ops hdmi_ops = {
+ .get_timings = hdmi_display_get_timings,
+
+ .read_edid = hdmi_read_edid,
+-
+- .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,
+ };
+
+ static void hdmi_init_output(struct platform_device *pdev)
--
1.7.9.5