Like the mediatek hdmi driver, the sti driver now suffers from
an API change in linux-next:

drivers/gpu/drm/sti/sti_hdmi.c:1250:15: error: initialization from incompatible 
pointer type [-Werror=incompatible-pointer-types]
  .hw_params = hdmi_audio_hw_params,
               ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/sti/sti_hdmi.c:1250:15: note: (near initialization for 
'audio_codec_ops.hw_params')

This follows the API change, adding the extra function arguments.
I suppose we want this to be part of the ASoC merge in linux-next
for now too.

Signed-off-by: Arnd Bergmann <arnd at arndb.de>
Fixes: 2c348e505328 ("drm: sti: Add ASoC generic hdmi codec support.")
Fixes: efc9194bcff8 ("ASoC: hdmi-codec: callback function will be called with 
private data")
Link: https://lkml.org/lkml/2016/6/29/441
---
 drivers/gpu/drm/sti/sti_hdmi.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c
index 927e2b2e5af2..fedc17f98d9b 100644
--- a/drivers/gpu/drm/sti/sti_hdmi.c
+++ b/drivers/gpu/drm/sti/sti_hdmi.c
@@ -1169,7 +1169,7 @@ static int hdmi_audio_configure(struct sti_hdmi *hdmi,
        return hdmi_audio_infoframe_config(hdmi);
 }

-static void hdmi_audio_shutdown(struct device *dev)
+static void hdmi_audio_shutdown(struct device *dev, void *data)
 {
        struct sti_hdmi *hdmi = dev_get_drvdata(dev);
        int audio_cfg;
@@ -1186,6 +1186,7 @@ static void hdmi_audio_shutdown(struct device *dev)
 }

 static int hdmi_audio_hw_params(struct device *dev,
+                               void *data,
                                struct hdmi_codec_daifmt *daifmt,
                                struct hdmi_codec_params *params)
 {
@@ -1221,7 +1222,7 @@ static int hdmi_audio_hw_params(struct device *dev,
        return 0;
 }

-static int hdmi_audio_digital_mute(struct device *dev, bool enable)
+static int hdmi_audio_digital_mute(struct device *dev, void *data, bool enable)
 {
        struct sti_hdmi *hdmi = dev_get_drvdata(dev);

@@ -1235,7 +1236,7 @@ static int hdmi_audio_digital_mute(struct device *dev, 
bool enable)
        return 0;
 }

-static int hdmi_audio_get_eld(struct device *dev, uint8_t *buf, size_t len)
+static int hdmi_audio_get_eld(struct device *dev, void *data, uint8_t *buf, 
size_t len)
 {
        struct sti_hdmi *hdmi = dev_get_drvdata(dev);
        struct drm_connector *connector = hdmi->drm_connector;
-- 
2.9.0

Reply via email to