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