Lines Matching refs:btv
62 struct bttv *btv = (struct bttv*)data; in bttv_bit_setscl() local
65 btv->i2c_state |= 0x02; in bttv_bit_setscl()
67 btv->i2c_state &= ~0x02; in bttv_bit_setscl()
68 btwrite(btv->i2c_state, BT848_I2C); in bttv_bit_setscl()
74 struct bttv *btv = (struct bttv*)data; in bttv_bit_setsda() local
77 btv->i2c_state |= 0x01; in bttv_bit_setsda()
79 btv->i2c_state &= ~0x01; in bttv_bit_setsda()
80 btwrite(btv->i2c_state, BT848_I2C); in bttv_bit_setsda()
86 struct bttv *btv = (struct bttv*)data; in bttv_bit_getscl() local
95 struct bttv *btv = (struct bttv*)data; in bttv_bit_getsda() local
120 bttv_i2c_wait_done(struct bttv *btv) in bttv_i2c_wait_done() argument
125 if (wait_event_interruptible_timeout(btv->i2c_queue, in bttv_i2c_wait_done()
126 btv->i2c_done, msecs_to_jiffies(85)) == -ERESTARTSYS) in bttv_i2c_wait_done()
129 if (btv->i2c_done & BT848_INT_RACK) in bttv_i2c_wait_done()
131 btv->i2c_done = 0; in bttv_i2c_wait_done()
139 bttv_i2c_sendbytes(struct bttv *btv, const struct i2c_msg *msg, int last) in bttv_i2c_sendbytes() argument
153 retval = bttv_i2c_wait_done(btv); in bttv_i2c_sendbytes()
168 retval = bttv_i2c_wait_done(btv); in bttv_i2c_sendbytes()
189 bttv_i2c_readbytes(struct bttv *btv, const struct i2c_msg *msg, int last) in bttv_i2c_readbytes() argument
210 retval = bttv_i2c_wait_done(btv); in bttv_i2c_readbytes()
237 struct bttv *btv = to_bttv(v4l2_dev); in bttv_i2c_xfer() local
248 retval = bttv_i2c_readbytes(btv, &msgs[i], i+1 == num); in bttv_i2c_xfer()
253 retval = bttv_i2c_sendbytes(btv, &msgs[i], i+1 == num); in bttv_i2c_xfer()
273 int bttv_I2CRead(struct bttv *btv, unsigned char addr, char *probe_for) in bttv_I2CRead() argument
277 if (0 != btv->i2c_rc) in bttv_I2CRead()
281 btv->c.nr, probe_for, addr); in bttv_I2CRead()
282 btv->i2c_client.addr = addr >> 1; in bttv_I2CRead()
283 if (1 != i2c_master_recv(&btv->i2c_client, &buffer, 1)) { in bttv_I2CRead()
289 btv->c.nr, addr); in bttv_I2CRead()
298 int bttv_I2CWrite(struct bttv *btv, unsigned char addr, unsigned char b1, in bttv_I2CWrite() argument
304 if (0 != btv->i2c_rc) in bttv_I2CWrite()
306 btv->i2c_client.addr = addr >> 1; in bttv_I2CWrite()
309 if (bytes != i2c_master_send(&btv->i2c_client, buffer, bytes)) in bttv_I2CWrite()
315 void bttv_readee(struct bttv *btv, unsigned char *eedata, int addr) in bttv_readee() argument
318 if (0 != btv->i2c_rc) in bttv_readee()
320 btv->i2c_client.addr = addr >> 1; in bttv_readee()
321 tveeprom_read(&btv->i2c_client, eedata, 256); in bttv_readee()
350 int init_bttv_i2c(struct bttv *btv) in init_bttv_i2c() argument
352 strlcpy(btv->i2c_client.name, "bttv internal", I2C_NAME_SIZE); in init_bttv_i2c()
355 btv->use_i2c_hw = 1; in init_bttv_i2c()
356 if (btv->use_i2c_hw) { in init_bttv_i2c()
358 strlcpy(btv->c.i2c_adap.name, "bt878", in init_bttv_i2c()
359 sizeof(btv->c.i2c_adap.name)); in init_bttv_i2c()
360 btv->c.i2c_adap.algo = &bttv_algo; in init_bttv_i2c()
367 strlcpy(btv->c.i2c_adap.name, "bttv", in init_bttv_i2c()
368 sizeof(btv->c.i2c_adap.name)); in init_bttv_i2c()
369 btv->i2c_algo = bttv_i2c_algo_bit_template; in init_bttv_i2c()
370 btv->i2c_algo.udelay = i2c_udelay; in init_bttv_i2c()
371 btv->i2c_algo.data = btv; in init_bttv_i2c()
372 btv->c.i2c_adap.algo_data = &btv->i2c_algo; in init_bttv_i2c()
374 btv->c.i2c_adap.owner = THIS_MODULE; in init_bttv_i2c()
376 btv->c.i2c_adap.dev.parent = &btv->c.pci->dev; in init_bttv_i2c()
377 snprintf(btv->c.i2c_adap.name, sizeof(btv->c.i2c_adap.name), in init_bttv_i2c()
378 "bt%d #%d [%s]", btv->id, btv->c.nr, in init_bttv_i2c()
379 btv->use_i2c_hw ? "hw" : "sw"); in init_bttv_i2c()
381 i2c_set_adapdata(&btv->c.i2c_adap, &btv->c.v4l2_dev); in init_bttv_i2c()
382 btv->i2c_client.adapter = &btv->c.i2c_adap; in init_bttv_i2c()
385 if (btv->use_i2c_hw) { in init_bttv_i2c()
386 btv->i2c_rc = i2c_add_adapter(&btv->c.i2c_adap); in init_bttv_i2c()
388 bttv_bit_setscl(btv,1); in init_bttv_i2c()
389 bttv_bit_setsda(btv,1); in init_bttv_i2c()
390 btv->i2c_rc = i2c_bit_add_bus(&btv->c.i2c_adap); in init_bttv_i2c()
392 if (0 == btv->i2c_rc && i2c_scan) in init_bttv_i2c()
393 do_i2c_scan(btv->c.v4l2_dev.name, &btv->i2c_client); in init_bttv_i2c()
395 return btv->i2c_rc; in init_bttv_i2c()
398 int fini_bttv_i2c(struct bttv *btv) in fini_bttv_i2c() argument
400 if (btv->i2c_rc == 0) in fini_bttv_i2c()
401 i2c_del_adapter(&btv->c.i2c_adap); in fini_bttv_i2c()