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@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;