RE: [PATCH] ASoC: brcm: Add DSL/PON SoC audio driver

From: Kevin Li
Date: Fri Mar 06 2020 - 17:50:52 EST


Hi Florian,

It is called from bcm63xx-i2s-whistler.c.
Maybe the name "_probe" function confused. It was 2 platform drivers, I
combined them together now.

Let me know if this answers your question, and what to do to address your
question.

Regards!
Kevin

-----Original Message-----
From: Florian Fainelli [mailto:f.fainelli@xxxxxxxxx]
Sent: Friday, March 06, 2020 2:34 PM
To: Kevin Li <kevin-ke.li@xxxxxxxxxxxx>; Mark Brown <broonie@xxxxxxxxxx>
Cc: alsa-devel@xxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Kuninori
Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>; Scott Branden
<sbranden@xxxxxxxxxxxx>; Liam Girdwood <lgirdwood@xxxxxxxxx>; Ray Jui
<rjui@xxxxxxxxxxxx>; Takashi Iwai <tiwai@xxxxxxxx>; Jaroslav Kysela
<perex@xxxxxxxx>; bcm-kernel-feedback-list@xxxxxxxxxxxx; Stephen Boyd
<swboyd@xxxxxxxxxxxx>; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [PATCH] ASoC: brcm: Add DSL/PON SoC audio driver

On 3/6/20 2:27 PM, Kevin Li wrote:
> This patch adds Broadcom DSL/PON SoC audio driver with Whistler I2S
> block. The SoC supported by this patch are BCM63158B0,BCM63178 and
> BCM47622/6755.
>
> Signed-off-by: Kevin Li <kevin-ke.li@xxxxxxxxxxxx>
> ---

[snip]

> +int bcm63xx_soc_platform_probe(struct platform_device *pdev,
> + struct bcm_i2s_priv *i2s_priv) {
> + int ret;
> +
> + i2s_priv->r_irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
> + if (!i2s_priv->r_irq) {
> + dev_err(&pdev->dev, "Unable to get register irq resource.\n");
> + return -ENODEV;
> + }
> +
> + ret = devm_request_irq(&pdev->dev, i2s_priv->r_irq->start, i2s_dma_isr,
> + i2s_priv->r_irq->flags, "i2s_dma", (void *)i2s_priv);
> + if (ret) {
> + dev_err(&pdev->dev,
> + "i2s_init: failed to request interrupt.ret=%d\n", ret);
> + return ret;
> + }
> +
> + return devm_snd_soc_register_component(&pdev->dev,
> + &bcm63xx_soc_platform, NULL, 0); }
> +
> +int bcm63xx_soc_platform_remove(struct platform_device *pdev) {
> + return 0;
> +}

How does one probe this module if the bcm63xx_soc_platform_probe() functions
are not called from anywhere and/or hooked up to the module entry/exit
points?

Are you not missing a platform_driver entry which matches the compatible
string you defined?
--
Florian