Lines Matching refs:chan
53 static int tuner_attach_stv6110(struct ngene_channel *chan) in tuner_attach_stv6110() argument
57 chan->dev->card_info->fe_config[chan->number]; in tuner_attach_stv6110()
59 chan->dev->card_info->tuner_config[chan->number]; in tuner_attach_stv6110()
63 if (chan->number < 2) in tuner_attach_stv6110()
64 i2c = &chan->dev->channel[0].i2c_adapter; in tuner_attach_stv6110()
66 i2c = &chan->dev->channel[1].i2c_adapter; in tuner_attach_stv6110()
68 ctl = dvb_attach(stv6110x_attach, chan->fe, tunerconf, i2c); in tuner_attach_stv6110()
92 struct ngene_channel *chan = fe->sec_priv; in drxk_gate_ctrl() local
96 down(&chan->dev->pll_mutex); in drxk_gate_ctrl()
97 status = chan->gate_ctrl(fe, 1); in drxk_gate_ctrl()
99 status = chan->gate_ctrl(fe, 0); in drxk_gate_ctrl()
100 up(&chan->dev->pll_mutex); in drxk_gate_ctrl()
105 static int tuner_attach_tda18271(struct ngene_channel *chan) in tuner_attach_tda18271() argument
110 i2c = &chan->dev->channel[0].i2c_adapter; in tuner_attach_tda18271()
111 if (chan->fe->ops.i2c_gate_ctrl) in tuner_attach_tda18271()
112 chan->fe->ops.i2c_gate_ctrl(chan->fe, 1); in tuner_attach_tda18271()
113 fe = dvb_attach(tda18271c2dd_attach, chan->fe, i2c, 0x60); in tuner_attach_tda18271()
114 if (chan->fe->ops.i2c_gate_ctrl) in tuner_attach_tda18271()
115 chan->fe->ops.i2c_gate_ctrl(chan->fe, 0); in tuner_attach_tda18271()
124 static int tuner_attach_probe(struct ngene_channel *chan) in tuner_attach_probe() argument
126 if (chan->demod_type == 0) in tuner_attach_probe()
127 return tuner_attach_stv6110(chan); in tuner_attach_probe()
128 if (chan->demod_type == 1) in tuner_attach_probe()
129 return tuner_attach_tda18271(chan); in tuner_attach_probe()
133 static int demod_attach_stv0900(struct ngene_channel *chan) in demod_attach_stv0900() argument
137 chan->dev->card_info->fe_config[chan->number]; in demod_attach_stv0900()
142 if (chan->number < 2) in demod_attach_stv0900()
143 i2c = &chan->dev->channel[0].i2c_adapter; in demod_attach_stv0900()
145 i2c = &chan->dev->channel[1].i2c_adapter; in demod_attach_stv0900()
147 chan->fe = dvb_attach(stv090x_attach, feconf, i2c, in demod_attach_stv0900()
148 (chan->number & 1) == 0 ? STV090x_DEMODULATOR_0 in demod_attach_stv0900()
150 if (chan->fe == NULL) { in demod_attach_stv0900()
157 chan->fe->analog_demod_priv = chan; in demod_attach_stv0900()
159 if (!dvb_attach(lnbh24_attach, chan->fe, i2c, 0, in demod_attach_stv0900()
160 0, chan->dev->card_info->lnb[chan->number])) { in demod_attach_stv0900()
162 dvb_frontend_detach(chan->fe); in demod_attach_stv0900()
163 chan->fe = NULL; in demod_attach_stv0900()
172 struct ngene_channel *chan = fe->analog_demod_priv; in cineS2_tuner_i2c_lock() local
175 down(&chan->dev->pll_mutex); in cineS2_tuner_i2c_lock()
177 up(&chan->dev->pll_mutex); in cineS2_tuner_i2c_lock()
215 static int demod_attach_drxk(struct ngene_channel *chan, in demod_attach_drxk() argument
223 config.adr = 0x29 + (chan->number ^ 2); in demod_attach_drxk()
225 chan->fe = dvb_attach(drxk_attach, &config, i2c); in demod_attach_drxk()
226 if (!chan->fe) { in demod_attach_drxk()
230 chan->fe->sec_priv = chan; in demod_attach_drxk()
231 chan->gate_ctrl = chan->fe->ops.i2c_gate_ctrl; in demod_attach_drxk()
232 chan->fe->ops.i2c_gate_ctrl = drxk_gate_ctrl; in demod_attach_drxk()
236 static int cineS2_probe(struct ngene_channel *chan) in cineS2_probe() argument
245 if (chan->number < 2) in cineS2_probe()
246 i2c = &chan->dev->channel[0].i2c_adapter; in cineS2_probe()
248 i2c = &chan->dev->channel[1].i2c_adapter; in cineS2_probe()
250 if (port_has_stv0900(i2c, chan->number)) { in cineS2_probe()
251 chan->demod_type = 0; in cineS2_probe()
252 fe_conf = chan->dev->card_info->fe_config[chan->number]; in cineS2_probe()
254 rc = demod_attach_stv0900(chan); in cineS2_probe()
255 if (rc < 0 || chan->number < 2) in cineS2_probe()
262 switch (chan->number) { in cineS2_probe()
279 } else if (port_has_drxk(i2c, chan->number^2)) { in cineS2_probe()
280 chan->demod_type = 1; in cineS2_probe()
281 demod_attach_drxk(chan, i2c); in cineS2_probe()
283 printk(KERN_ERR "No demod found on chan %d\n", chan->number); in cineS2_probe()
304 static int demod_attach_lg330x(struct ngene_channel *chan) in demod_attach_lg330x() argument
306 chan->fe = dvb_attach(lgdt330x_attach, &aver_m780, &chan->i2c_adapter); in demod_attach_lg330x()
307 if (chan->fe == NULL) { in demod_attach_lg330x()
312 dvb_attach(mt2131_attach, chan->fe, &chan->i2c_adapter, in demod_attach_lg330x()
315 return (chan->fe) ? 0 : -ENODEV; in demod_attach_lg330x()
318 static int demod_attach_drxd(struct ngene_channel *chan) in demod_attach_drxd() argument
322 feconf = chan->dev->card_info->fe_config[chan->number]; in demod_attach_drxd()
324 chan->fe = dvb_attach(drxd_attach, feconf, chan, in demod_attach_drxd()
325 &chan->i2c_adapter, &chan->dev->pci_dev->dev); in demod_attach_drxd()
326 if (!chan->fe) { in demod_attach_drxd()
333 static int tuner_attach_dtt7520x(struct ngene_channel *chan) in tuner_attach_dtt7520x() argument
337 feconf = chan->dev->card_info->fe_config[chan->number]; in tuner_attach_dtt7520x()
339 if (!dvb_attach(dvb_pll_attach, chan->fe, feconf->pll_address, in tuner_attach_dtt7520x()
340 &chan->i2c_adapter, in tuner_attach_dtt7520x()
538 struct ngene_channel *chan = priv; in osc_deviation() local
539 struct i2c_adapter *adap = &chan->i2c_adapter; in osc_deviation()
546 eeprom_write_ushort(adap, 0x1000 + chan->number, data); in osc_deviation()
548 if (eeprom_read_ushort(adap, 0x1000 + chan->number, &data)) in osc_deviation()