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