Lines Matching defs:i2c

11 #include <linux/i2c.h>
49 struct i2c_device i2c;
243 state->msg[0].addr = state->i2c.i2c_addr >> 1;
247 state->msg[1].addr = state->i2c.i2c_addr >> 1;
264 ret = i2c_transfer(state->i2c.i2c_adap, state->msg, 2) != 2 ? -EREMOTEIO : 0;
266 dprintk("i2c read error on %d\n", reg);
280 static u16 dib9000_i2c_read16(struct i2c_device *i2c, u16 reg)
283 {.addr = i2c->i2c_addr >> 1, .flags = 0,
284 .buf = i2c->i2c_write_buffer, .len = 2},
285 {.addr = i2c->i2c_addr >> 1, .flags = I2C_M_RD,
286 .buf = i2c->i2c_read_buffer, .len = 2},
289 i2c->i2c_write_buffer[0] = reg >> 8;
290 i2c->i2c_write_buffer[1] = reg & 0xff;
292 if (i2c_transfer(i2c->i2c_adap, msg, 2) != 2) {
297 return (i2c->i2c_read_buffer[0] << 8) | i2c->i2c_read_buffer[1];
331 state->msg[0].addr = state->i2c.i2c_addr >> 1;
349 ret = i2c_transfer(state->i2c.i2c_adap, state->msg, 1) != 1 ? -EREMOTEIO : 0;
361 static int dib9000_i2c_write16(struct i2c_device *i2c, u16 reg, u16 val)
364 .addr = i2c->i2c_addr >> 1, .flags = 0,
365 .buf = i2c->i2c_write_buffer, .len = 4
368 i2c->i2c_write_buffer[0] = (reg >> 8) & 0xff;
369 i2c->i2c_write_buffer[1] = reg & 0xff;
370 i2c->i2c_write_buffer[2] = (val >> 8) & 0xff;
371 i2c->i2c_write_buffer[3] = val & 0xff;
373 return i2c_transfer(i2c->i2c_adap, &msg, 1) != 1 ? -EREMOTEIO : 0;
972 switch ((state->revision = dib9000_identify(&state->i2c))) {
982 /* reset the i2c-master to use the host interface */
987 /* unforce divstr regardless whether i2c enumeration was done or not */
1123 /* 0 = i2c-address demod, 0 = tuner */
1745 int dib9000_set_i2c_adapter(struct dvb_frontend *fe, struct i2c_adapter *i2c)
1749 st->i2c.i2c_adap = i2c;
2375 int dib9000_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods, u8 default_addr, u8 first_addr)
2379 struct i2c_device client = {.i2c_adap = i2c };
2397 /* designated i2c address */
2487 st->i2c.i2c_adap = i2c_adap;
2488 st->i2c.i2c_addr = i2c_addr;
2489 st->i2c.i2c_write_buffer = st->i2c_write_buffer;
2490 st->i2c.i2c_read_buffer = st->i2c_read_buffer;
2515 if (dib9000_identify(&st->i2c) == 0)
2518 dibx000_init_i2c_master(&st->i2c_master, DIB7000MC, st->i2c.i2c_adap, st->i2c.i2c_addr);