On 06/01/2011 08:18 PM, Bjørn Mork wrote:
Bjørn Mork<bj...@mork.no>  writes:

diff --git a/drivers/media/video/em28xx/em28xx-dvb.c 
b/drivers/media/video/em28xx/em28xx-dvb.c
index 7904ca4..d994592 100644
--- a/drivers/media/video/em28xx/em28xx-dvb.c
+++ b/drivers/media/video/em28xx/em28xx-dvb.c
@@ -669,7 +669,8 @@ static int dvb_init(struct em28xx *dev)
                        &em28xx_cxd2820r_config,&dev->i2c_adap, NULL);
                if (dvb->fe[0]) {
                        struct i2c_adapter *i2c_tuner;
-                       i2c_tuner = cxd2820r_get_tuner_i2c_adapter(dvb->fe[0]);
+                       /* we don't really attach i2c_tuner.  Just reusing the 
symbol logic */
+                       i2c_tuner = dvb_attach(cxd2820r_get_tuner_i2c_adapter, 
dvb->fe[0]);

Except that this really messes up the reference count, and need to have
a matching symbol_put...  So you should probably code it with
symbol_request()/symbol_put() if you want to go this way instead of
the dvb_attach shortcut .


There is some other FEs having also I2C adapter, I wonder how those handle this situation. I looked example from cx24123 and s5h1420 drivers, both used by flexcop.

Did you see what is magic used those devices?


best regards,
Antti
--
http://palosaari.fi/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to