Hi Russell again > > > +static struct platform_driver snd_dw_hdmi_driver = { > > > + .probe = snd_dw_hdmi_probe, > > > > The driver must have a .remove function, because the platform device it > > is binding against can appear and disappear. > > Thank you for your feedback > OK, I will add it This driver uses platform_device_register_full() and calls hdmi-codec driver. This driver itself doesn't register sound card, like dw-hdmi-ahb-audio.c Then, what does .remove should do in this case ?