Re: [PATCH 9/9] drm: bridge/dw_hdmi-i2s-audio: add audio driver

From: Yakir Yang
Date: Mon Aug 10 2015 - 12:26:35 EST


Hi Russell,

å 2015/8/10 23:48, Russell King - ARM Linux åé:
On Sat, Aug 08, 2015 at 05:10:47PM +0100, Russell King wrote:
From: Yakir Yang <ykk@xxxxxxxxxxxxxx>

Add ALSA based HDMI I2S audio driver for dw_hdmi. Sound card
driver could connect to this codec through the codec dai name
"dw-hdmi-i2s-audio".

[Fixed IRQ name, MODULE_DESCRIPTION, MODULE_ALIAS in
dw-hdmi-i2s-audio.c, and platform device name in dw-hdmi.c --rmk]

Signed-off-by: Yakir Yang <ykk@xxxxxxxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
I'm dropping this patch after all as it no longer builds against modern
kernels due to the reference to the removed snd_soc_jack_new(). Its
replacement is at card level, and I don't think it's a simple case of
replacing it here.

Hmm... I would rather to fix it in my side, and then I could rebase on your series, is it okay ?

- Yakir

+static int snd_dw_hdmi_audio_probe(struct snd_soc_codec *codec)
+{
+ struct snd_dw_hdmi *dw = snd_soc_codec_get_drvdata(codec);
+ int ret;
+
+ ret = snd_soc_jack_new(codec, "dw Jack", SND_JACK_LINEOUT,
+ &dw->jack);
...
+static const struct snd_soc_codec_driver dw_hdmi_audio = {
+ .probe = snd_dw_hdmi_audio_probe,
+ .dapm_widgets = snd_dw_hdmi_audio_widgets,
+ .num_dapm_widgets = ARRAY_SIZE(snd_dw_hdmi_audio_widgets),
+ .dapm_routes = snd_dw_hdmi_audio_routes,
+ .num_dapm_routes = ARRAY_SIZE(snd_dw_hdmi_audio_routes),
+};
+
+static int dw_hdmi_audio_probe(struct platform_device *pdev)
+{
+ struct dw_hdmi_audio_data *data = pdev->dev.platform_data;
+ struct snd_dw_hdmi *dw;
+ int ret;
+
+ dw = devm_kzalloc(&pdev->dev, sizeof(*dw), GFP_KERNEL);
+ if (!dw)
+ return -ENOMEM;
+
+ dw->data = *data;
+ dw->dev = &pdev->dev;
+ dw->is_jack_ready = false;
+ platform_set_drvdata(pdev, dw);
+
+ ret = request_irq(dw->data.irq, snd_dw_hdmi_irq, IRQF_SHARED,
+ DRIVER_NAME, dw);
+ if (ret) {
+ dev_err(&pdev->dev, "request irq failed (%d)\n", ret);
+ return -EINVAL;
+ }
+
+ ret = snd_soc_register_codec(&pdev->dev, &dw_hdmi_audio,
+ &dw_hdmi_audio_dai, 1);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/