moikka!, > Basically it is 2 functions, af9035_add_i2c_dev() and af9035_del_i2c_dev() I used request_module()/try_module_get()/module_put() just like the above example (and bridge-core.c). It works, but when I unload bridge driver(earth_pt3), its demod and tuner modules stay loaded, with the refcount of 0. Is it ok that the auto loaded modules remain with 0 ref count? > Yet, using config to OUT seems to be bit hacky for my eyes too. I though > replacing all OUT with ops when converted af9033 driver. Currently > caller fills struct af9033_ops and then af9033 I2C probe populates ops. > See that patch: > https://patchwork.linuxtv.org/patch/25746/ > > Does this kind of ops sounds any better? Do you mean using ops in struct config? if so, I don't find much difference with the current situation where demod/tuner probe() sets dvb_frontend* to config->fe. > I quickly overlooked that demod driver and one which looked crazy was > LNA stuff. You implement set_lna callback in demod, but it is then > passed back to PCI driver using frontend callback. Is there some reason > you hooked it via demod? You could implement set_lna in PCI driver too. Stupidly I forgot that FE's ops can be set from the PCI driver. I will remove those callbacks and set the corresponding ops instead. regards, akihiro -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html