Lines Matching defs:i2c
12 #include <linux/i2c.h>
68 struct i2c_device i2c;
145 static u16 dib8000_i2c_read16(struct i2c_device *i2c, u16 reg)
149 {.addr = i2c->addr >> 1, .flags = 0, .len = 2},
150 {.addr = i2c->addr >> 1, .flags = I2C_M_RD, .len = 2},
153 if (mutex_lock_interruptible(i2c->i2c_buffer_lock) < 0) {
158 msg[0].buf = i2c->i2c_write_buffer;
161 msg[1].buf = i2c->i2c_read_buffer;
163 if (i2c_transfer(i2c->adap, msg, 2) != 2)
164 dprintk("i2c read error on %d\n", reg);
167 mutex_unlock(i2c->i2c_buffer_lock);
179 state->msg[0].addr = state->i2c.addr >> 1;
183 state->msg[1].addr = state->i2c.addr >> 1;
188 if (i2c_transfer(state->i2c.adap, state->msg, 2) != 2)
189 dprintk("i2c read error on %d\n", reg);
229 static int dib8000_i2c_write16(struct i2c_device *i2c, u16 reg, u16 val)
231 struct i2c_msg msg = {.addr = i2c->addr >> 1, .flags = 0, .len = 4};
234 if (mutex_lock_interruptible(i2c->i2c_buffer_lock) < 0) {
239 msg.buf = i2c->i2c_write_buffer;
245 ret = i2c_transfer(i2c->adap, &msg, 1) != 1 ? -EREMOTEIO : 0;
246 mutex_unlock(i2c->i2c_buffer_lock);
266 state->msg[0].addr = state->i2c.addr >> 1;
271 ret = (i2c_transfer(state->i2c.adap, state->msg, 1) != 1 ?
1036 if ((state->revision = dib8000_identify(&state->i2c)) == 0)
1123 /* unforce divstr regardless whether i2c enumeration was done or not */
4315 /* designated i2c address */
4333 /* start diversity to pull_down div_str - just for i2c-enumeration */
4336 /* set new i2c address and force divstart */
4351 /* deactivate div - it was just for i2c-enumeration */
4455 state->i2c.adap = i2c_adap;
4456 state->i2c.addr = i2c_addr;
4457 state->i2c.i2c_write_buffer = state->i2c_write_buffer;
4458 state->i2c.i2c_read_buffer = state->i2c_read_buffer;
4460 state->i2c.i2c_buffer_lock = &state->i2c_buffer_lock;
4476 if (dib8000_identify(&state->i2c) == 0) {
4481 dibx000_init_i2c_master(&state->i2c_master, DIB8000, state->i2c.adap, state->i2c.addr);
4488 state->dib8096p_tuner_adap.dev.parent = state->i2c.adap->dev.parent;