diff mbox

drm: mediatek: fix prototypes after API change

Message ID 20160629145129.315931-1-arnd@arndb.de
State New
Headers show

Commit Message

Arnd Bergmann June 29, 2016, 2:51 p.m. UTC
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@arndb.de>
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(-)

Comments

Stephen Rothwell June 29, 2016, 9:36 p.m. UTC | #1
Hi Arnd,

On Wed, 29 Jun 2016 16:51:29 +0200 Arnd Bergmann <arnd@arndb.de> wrote:
>
> 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@arndb.de>
> 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.

Thanks for sorting this out.

> 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

I'll do this today, unless someone does the other.
Mark Brown July 2, 2016, 8:25 a.m. UTC | #2
On Wed, Jun 29, 2016 at 04:51:29PM +0200, Arnd Bergmann wrote:

> 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.


This would be the ideal thing obviously:

The following changes since commit 1a695a905c18548062509178b98bc91e67510864:

  Linux 4.7-rc1 (2016-05-29 09:29:24 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git tags/asoc-hdmi-codec-pdata

for you to fetch changes up to efc9194bcff84666832c6493bafa92029ac6634c:

  ASoC: hdmi-codec: callback function will be called with private data (2016-06-27 18:53:15 +0100)

----------------------------------------------------------------
ASoC: Add private data for HDMI CODEC callbacks

Allow the HDMI CODECs to get private data passed in in callbacks.

----------------------------------------------------------------
Kuninori Morimoto (1):
      ASoC: hdmi-codec: callback function will be called with private data

 include/sound/hdmi-codec.h    | 13 ++++++++-----
 sound/soc/codecs/hdmi-codec.c | 15 ++++++++-------
 2 files changed, 16 insertions(+), 12 deletions(-)
diff mbox

Patch

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