X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=drivers%2Fmedia%2Fvideo%2Fcx88%2Fcx88-i2c.c;h=c0ff2305d804bfb7761577c8371d43e27036ba15;hb=9939ddaff52787b2a7c1adf1b2afc95421aa0884;hp=582769de26b5db3f20c4c4c90287d7d36c26d998;hpb=363c35fc448943c3d6121332d28bcda2d2fbf87c;p=safe%2Fjmp%2Flinux-2.6 diff --git a/drivers/media/video/cx88/cx88-i2c.c b/drivers/media/video/cx88/cx88-i2c.c index 582769d..c0ff230 100644 --- a/drivers/media/video/cx88/cx88-i2c.c +++ b/drivers/media/video/cx88/cx88-i2c.c @@ -116,26 +116,16 @@ static int detach_inform(struct i2c_client *client) void cx88_call_i2c_clients(struct cx88_core *core, unsigned int cmd, void *arg) { - struct videobuf_dvb_frontend *fe0 = NULL; if (0 != core->i2c_rc) return; -#if defined(CONFIG_VIDEO_CX88_DVB) || defined(CONFIG_VIDEO_CX88_DVB_MODULE) - if (core->dvbdev) { - /* Get the first frontend and assume that all I2C is routed through it */ - /* TODO: Get _THIS_FE_ then find the right i2c_gate_ctrl for it */ - fe0 = videobuf_dvb_get_frontend(&core->dvbdev->frontends, 1); + if (core->gate_ctrl) + core->gate_ctrl(core, 1); - if (fe0 && fe0->dvb.frontend && fe0->dvb.frontend->ops.i2c_gate_ctrl) - fe0->dvb.frontend->ops.i2c_gate_ctrl(fe0->dvb.frontend, 1); + i2c_clients_command(&core->i2c_adap, cmd, arg); - i2c_clients_command(&core->i2c_adap, cmd, arg); - - if (fe0 && fe0->dvb.frontend && fe0->dvb.frontend->ops.i2c_gate_ctrl) - fe0->dvb.frontend->ops.i2c_gate_ctrl(fe0->dvb.frontend, 0); - } else -#endif - i2c_clients_command(&core->i2c_adap, cmd, arg); + if (core->gate_ctrl) + core->gate_ctrl(core, 0); } static const struct i2c_algo_bit_data cx8800_i2c_algo_template = {