[PATCH] drm: mediatek: fix prototypes after API change

From: Arnd Bergmann
Date: Wed Jun 29 2016 - 10:49:35 EST


The newly added mediatek HDMI driver clashes with an API change
for struct hdmi_codec_ops, causing an 'allmodconfig' build to fail:

drivers/gpu/drm/mediatek/mtk_hdmi.c:1653:15: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
drivers/gpu/drm/mediatek/mtk_hdmi.c:1654:19: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
drivers/gpu/drm/mediatek/mtk_hdmi.c:1655:20: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
drivers/gpu/drm/mediatek/mtk_hdmi.c:1656:18: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
drivers/gpu/drm/mediatek/mtk_hdmi.c:1657:13: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]

This changes the API accordingly for the mediatek driver.

Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Fixes: 8f83f26891e1 ("drm/mediatek: Add HDMI support")
Fixes: efc9194bcff8 ("ASoC: hdmi-codec: callback function will be called with private data")
---
The new driver is currently part of Dave Airlie's drm-next tree,
while the API change is in Mark Brown's asoc-next tree, so my
fix has to be done on top of both.

I can see two ways out of this:

a) Stephen Rothwell could add my fixup on top of linux-next
as a merge fix, and the fix gets sent to Linus Torvalds along
with the second of the two branches

b) efc9194bcff8 gets merged into drm-next along with my change
in the merge commit. It is currently a standalone patch
in its own branch in the ASoC tree.
---
drivers/gpu/drm/mediatek/mtk_hdmi.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c
index ba812ef2c9d1..334562d06731 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c
@@ -1535,7 +1535,7 @@ static int mtk_hdmi_dt_parse_pdata(struct mtk_hdmi *hdmi,
* HDMI audio codec callbacks
*/

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

-static int mtk_hdmi_audio_startup(struct device *dev)
+static int mtk_hdmi_audio_startup(struct device *dev, void *data)
{
struct mtk_hdmi *hdmi = dev_get_drvdata(dev);

@@ -1615,7 +1615,7 @@ static int mtk_hdmi_audio_startup(struct device *dev)
return 0;
}

-static void mtk_hdmi_audio_shutdown(struct device *dev)
+static void mtk_hdmi_audio_shutdown(struct device *dev, void *data)
{
struct mtk_hdmi *hdmi = dev_get_drvdata(dev);

@@ -1624,7 +1624,7 @@ static void mtk_hdmi_audio_shutdown(struct device *dev)
mtk_hdmi_audio_disable(hdmi);
}

-int mtk_hdmi_audio_digital_mute(struct device *dev, bool enable)
+int mtk_hdmi_audio_digital_mute(struct device *dev, void *data, bool enable)
{
struct mtk_hdmi *hdmi = dev_get_drvdata(dev);

@@ -1638,7 +1638,7 @@ int mtk_hdmi_audio_digital_mute(struct device *dev, bool enable)
return 0;
}

-static int mtk_hdmi_audio_get_eld(struct device *dev, uint8_t *buf, size_t len)
+static int mtk_hdmi_audio_get_eld(struct device *dev, void *data, uint8_t *buf, size_t len)
{
struct mtk_hdmi *hdmi = dev_get_drvdata(dev);

--
2.9.0