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