Hi Mauro, > Actually, passing 0 is not the right thing there. The init code > should either be using gcc style: > > struct psi_write_args psi_args = {} > I did not know that! Now fixed by replacing " = {0}" with " = {}" As I said, the probing functions are actually called, but now I am running into other issues.. I have sent a new revision (v6), in which I have squashed your patch plus a few changes to the bridge driver. In vidtv_bridge.c:266, dvb_module_probe always returns NULL. That is because i2c_client_has_driver(client) fails, because client->dev.driver is NULL. I suspect this line is to blame, but I am not sure.. > i2c_adapter->dev.parent = &dvb->pdev->dev; Also, when this happens, some error handling code will run starting at vidtv_bridge.c:383, but that will not remove the modules (i.e. lsmod will still list the bridge and the demod). Is this expected? Should I call vidtv_bridge_exit manually? Also, should I worry about this? >BUG: KASAN: user-memory-access in >do_init_module+0x1d/0x330 >Read of size 8 at addr 000000008322fe90 by task >modprobe/1290 I did not call this directly and I don't see a way to trace it back to my code just by looking at "do_init_module+0x1d/0x330" Thanks - Daniel