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

Florian Fainelli f.fainelli at gmail.com
Sat Mar 7 00:02:34 CET 2020


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 at gmail.com]
> Sent: Friday, March 06, 2020 2:34 PM
> To: Kevin Li <kevin-ke.li at broadcom.com>; Mark Brown <broonie at kernel.org>
> Cc: alsa-devel at alsa-project.org; linux-kernel at vger.kernel.org; Kuninori
> Morimoto <kuninori.morimoto.gx at renesas.com>; Scott Branden
> <sbranden at broadcom.com>; Liam Girdwood <lgirdwood at gmail.com>; Ray Jui
> <rjui at broadcom.com>; Takashi Iwai <tiwai at suse.com>; Jaroslav Kysela
> <perex at perex.cz>; bcm-kernel-feedback-list at broadcom.com; Stephen Boyd
> <swboyd at chromium.org>; linux-arm-kernel at lists.infradead.org
> 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 at broadcom.com>
>> ---
> 
> [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


More information about the Alsa-devel mailing list