[alsa-devel] [PATCH] drm: mediatek: fix prototypes after API change
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(-)
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);
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.
Hi
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.
Acked-by: Kuninori Morimoto kuninori.morimoto.gx@renesas.com
Best regards --- Kuninori Morimoto
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(-)
participants (4)
-
Arnd Bergmann
-
Kuninori Morimoto
-
Mark Brown
-
Stephen Rothwell