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

From: Florian Fainelli
Date: Fri Mar 06 2020 - 18:02:46 EST


On 3/6/20 2:50 PM, Kevin Li wrote:
> 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.

Ok, that makes sense now, sorry for not spotting it earlier.

PS: no top posting please ;)

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


--
Florian