Lines Matching refs:i2c_adap
161 static int i2c_outb(struct i2c_adapter *i2c_adap, unsigned char c) in i2c_outb() argument
166 struct i2c_algo_bit_data *adap = i2c_adap->algo_data; in i2c_outb()
174 bit_dbg(1, &i2c_adap->dev, "i2c_outb: 0x%02x, " in i2c_outb()
188 bit_dbg(1, &i2c_adap->dev, "i2c_outb: 0x%02x, " in i2c_outb()
197 bit_dbg(2, &i2c_adap->dev, "i2c_outb: 0x%02x %s\n", (int)c, in i2c_outb()
206 static int i2c_inb(struct i2c_adapter *i2c_adap) in i2c_inb() argument
212 struct i2c_algo_bit_data *adap = i2c_adap->algo_data; in i2c_inb()
218 bit_dbg(1, &i2c_adap->dev, "i2c_inb: timeout at bit " in i2c_inb()
236 static int test_bus(struct i2c_adapter *i2c_adap) in test_bus() argument
238 struct i2c_algo_bit_data *adap = i2c_adap->algo_data; in test_bus()
239 const char *name = i2c_adap->name; in test_bus()
243 ret = adap->pre_xfer(i2c_adap); in test_bus()
313 adap->post_xfer(i2c_adap); in test_bus()
322 adap->post_xfer(i2c_adap); in test_bus()
337 static int try_address(struct i2c_adapter *i2c_adap, in try_address() argument
340 struct i2c_algo_bit_data *adap = i2c_adap->algo_data; in try_address()
344 ret = i2c_outb(i2c_adap, addr); in try_address()
347 bit_dbg(3, &i2c_adap->dev, "emitting stop condition\n"); in try_address()
351 bit_dbg(3, &i2c_adap->dev, "emitting start condition\n"); in try_address()
355 bit_dbg(1, &i2c_adap->dev, "Used %d tries to %s client at " in try_address()
362 static int sendbytes(struct i2c_adapter *i2c_adap, struct i2c_msg *msg) in sendbytes() argument
371 retval = i2c_outb(i2c_adap, *temp); in sendbytes()
384 dev_err(&i2c_adap->dev, "sendbytes: NAK bailout.\n"); in sendbytes()
395 dev_err(&i2c_adap->dev, "sendbytes: error %d\n", in sendbytes()
403 static int acknak(struct i2c_adapter *i2c_adap, int is_ack) in acknak() argument
405 struct i2c_algo_bit_data *adap = i2c_adap->algo_data; in acknak()
412 dev_err(&i2c_adap->dev, "readbytes: ack/nak timeout\n"); in acknak()
419 static int readbytes(struct i2c_adapter *i2c_adap, struct i2c_msg *msg) in readbytes() argument
428 inval = i2c_inb(i2c_adap); in readbytes()
444 acknak(i2c_adap, 0); in readbytes()
445 dev_err(&i2c_adap->dev, "readbytes: invalid " in readbytes()
456 bit_dbg(2, &i2c_adap->dev, "readbytes: 0x%02x %s\n", in readbytes()
463 inval = acknak(i2c_adap, count); in readbytes()
479 static int bit_doAddress(struct i2c_adapter *i2c_adap, struct i2c_msg *msg) in bit_doAddress() argument
483 struct i2c_algo_bit_data *adap = i2c_adap->algo_data; in bit_doAddress()
488 retries = nak_ok ? 0 : i2c_adap->retries; in bit_doAddress()
493 bit_dbg(2, &i2c_adap->dev, "addr0: %d\n", addr); in bit_doAddress()
495 ret = try_address(i2c_adap, addr, retries); in bit_doAddress()
497 dev_err(&i2c_adap->dev, in bit_doAddress()
502 ret = i2c_outb(i2c_adap, msg->addr & 0xff); in bit_doAddress()
505 dev_err(&i2c_adap->dev, "died at 2nd address code\n"); in bit_doAddress()
509 bit_dbg(3, &i2c_adap->dev, "emitting repeated " in bit_doAddress()
514 ret = try_address(i2c_adap, addr, retries); in bit_doAddress()
516 dev_err(&i2c_adap->dev, in bit_doAddress()
527 ret = try_address(i2c_adap, addr, retries); in bit_doAddress()
535 static int bit_xfer(struct i2c_adapter *i2c_adap, in bit_xfer() argument
539 struct i2c_algo_bit_data *adap = i2c_adap->algo_data; in bit_xfer()
544 ret = adap->pre_xfer(i2c_adap); in bit_xfer()
549 bit_dbg(3, &i2c_adap->dev, "emitting start condition\n"); in bit_xfer()
556 bit_dbg(3, &i2c_adap->dev, "emitting " in bit_xfer()
560 ret = bit_doAddress(i2c_adap, pmsg); in bit_xfer()
562 bit_dbg(1, &i2c_adap->dev, "NAK from " in bit_xfer()
570 ret = readbytes(i2c_adap, pmsg); in bit_xfer()
572 bit_dbg(2, &i2c_adap->dev, "read %d byte%s\n", in bit_xfer()
581 ret = sendbytes(i2c_adap, pmsg); in bit_xfer()
583 bit_dbg(2, &i2c_adap->dev, "wrote %d byte%s\n", in bit_xfer()
595 bit_dbg(3, &i2c_adap->dev, "emitting stop condition\n"); in bit_xfer()
599 adap->post_xfer(i2c_adap); in bit_xfer()