Lines Matching refs:msg

116 static int dw2102_i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[],  in dw2102_i2c_transfer()  argument
131 if (msg[0].len < 1) { in dw2102_i2c_transfer()
136 value = msg[0].buf[0];/* register */ in dw2102_i2c_transfer()
137 for (i = 0; i < msg[1].len; i++) { in dw2102_i2c_transfer()
140 msg[1].buf[i] = buf6[0]; in dw2102_i2c_transfer()
144 switch (msg[0].addr) { in dw2102_i2c_transfer()
146 if (msg[0].len < 2) { in dw2102_i2c_transfer()
152 buf6[1] = msg[0].buf[0]; in dw2102_i2c_transfer()
153 buf6[2] = msg[0].buf[1]; in dw2102_i2c_transfer()
158 if (msg[0].flags == 0) { in dw2102_i2c_transfer()
159 if (msg[0].len < 4) { in dw2102_i2c_transfer()
167 buf6[3] = msg[0].buf[0]; in dw2102_i2c_transfer()
168 buf6[4] = msg[0].buf[1]; in dw2102_i2c_transfer()
169 buf6[5] = msg[0].buf[2]; in dw2102_i2c_transfer()
170 buf6[6] = msg[0].buf[3]; in dw2102_i2c_transfer()
174 if (msg[0].len < 1) { in dw2102_i2c_transfer()
181 msg[0].buf[0] = buf6[0]; in dw2102_i2c_transfer()
185 if (msg[0].len < 2) { in dw2102_i2c_transfer()
191 msg[0].buf[0] = buf6[0]; in dw2102_i2c_transfer()
192 msg[0].buf[1] = buf6[1]; in dw2102_i2c_transfer()
195 if (msg[0].len < 1) { in dw2102_i2c_transfer()
200 buf6[1] = msg[0].buf[0]; in dw2102_i2c_transfer()
214 struct i2c_msg msg[], int num) in dw2102_serit_i2c_transfer() argument
226 if (msg[0].len != 1) { in dw2102_serit_i2c_transfer()
228 msg[0].len); in dw2102_serit_i2c_transfer()
233 if (2 + msg[1].len > sizeof(buf6)) { in dw2102_serit_i2c_transfer()
235 msg[1].len); in dw2102_serit_i2c_transfer()
241 buf6[0] = msg[0].addr << 1; in dw2102_serit_i2c_transfer()
242 buf6[1] = msg[0].len; in dw2102_serit_i2c_transfer()
243 buf6[2] = msg[0].buf[0]; in dw2102_serit_i2c_transfer()
245 buf6, msg[0].len + 2, DW210X_WRITE_MSG); in dw2102_serit_i2c_transfer()
248 buf6, msg[1].len + 2, DW210X_READ_MSG); in dw2102_serit_i2c_transfer()
249 memcpy(msg[1].buf, buf6 + 2, msg[1].len); in dw2102_serit_i2c_transfer()
253 switch (msg[0].addr) { in dw2102_serit_i2c_transfer()
255 if (2 + msg[0].len > sizeof(buf6)) { in dw2102_serit_i2c_transfer()
257 msg[0].len); in dw2102_serit_i2c_transfer()
263 buf6[0] = msg[0].addr << 1; in dw2102_serit_i2c_transfer()
264 buf6[1] = msg[0].len; in dw2102_serit_i2c_transfer()
265 memcpy(buf6 + 2, msg[0].buf, msg[0].len); in dw2102_serit_i2c_transfer()
267 msg[0].len + 2, DW210X_WRITE_MSG); in dw2102_serit_i2c_transfer()
272 msg[0].buf[0] = buf6[0]; in dw2102_serit_i2c_transfer()
273 msg[0].buf[1] = buf6[1]; in dw2102_serit_i2c_transfer()
277 buf6[1] = msg[0].buf[0]; in dw2102_serit_i2c_transfer()
289 static int dw2102_earda_i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[], int num) in dw2102_earda_i2c_transfer() argument
305 if (2 + msg[0].len != sizeof(obuf)) { in dw2102_earda_i2c_transfer()
307 msg[0].len); in dw2102_earda_i2c_transfer()
312 if (2 + msg[1].len > sizeof(ibuf)) { in dw2102_earda_i2c_transfer()
314 msg[1].len); in dw2102_earda_i2c_transfer()
319 obuf[0] = msg[0].addr << 1; in dw2102_earda_i2c_transfer()
320 obuf[1] = msg[0].len; in dw2102_earda_i2c_transfer()
321 obuf[2] = msg[0].buf[0]; in dw2102_earda_i2c_transfer()
323 obuf, msg[0].len + 2, DW210X_WRITE_MSG); in dw2102_earda_i2c_transfer()
326 ibuf, msg[1].len + 2, DW210X_READ_MSG); in dw2102_earda_i2c_transfer()
327 memcpy(msg[1].buf, ibuf + 2, msg[1].len); in dw2102_earda_i2c_transfer()
332 switch (msg[0].addr) { in dw2102_earda_i2c_transfer()
337 if (2 + msg[0].len > sizeof(obuf)) { in dw2102_earda_i2c_transfer()
339 msg[1].len); in dw2102_earda_i2c_transfer()
344 obuf[0] = msg[0].addr << 1; in dw2102_earda_i2c_transfer()
345 obuf[1] = msg[0].len; in dw2102_earda_i2c_transfer()
346 memcpy(obuf + 2, msg[0].buf, msg[0].len); in dw2102_earda_i2c_transfer()
348 obuf, msg[0].len + 2, DW210X_WRITE_MSG); in dw2102_earda_i2c_transfer()
355 if (2 + msg[0].len > sizeof(obuf)) { in dw2102_earda_i2c_transfer()
357 msg[1].len); in dw2102_earda_i2c_transfer()
362 obuf[0] = msg[0].addr << 1; in dw2102_earda_i2c_transfer()
363 obuf[1] = msg[0].len; in dw2102_earda_i2c_transfer()
364 memcpy(obuf + 2, msg[0].buf, msg[0].len); in dw2102_earda_i2c_transfer()
366 obuf, msg[0].len + 2, DW210X_WRITE_MSG); in dw2102_earda_i2c_transfer()
373 memcpy(msg[0].buf, ibuf , 2); in dw2102_earda_i2c_transfer()
379 obuf[1] = msg[0].buf[0]; in dw2102_earda_i2c_transfer()
395 static int dw2104_i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[], int num) in dw2104_i2c_transfer() argument
406 switch (msg[j].addr) { in dw2104_i2c_transfer()
411 memcpy(msg[j].buf, ibuf , 2); in dw2104_i2c_transfer()
417 obuf[1] = msg[j].buf[0]; in dw2104_i2c_transfer()
427 if (msg[j].flags == I2C_M_RD) { in dw2104_i2c_transfer()
431 if (2 + msg[j].len > sizeof(ibuf)) { in dw2104_i2c_transfer()
433 msg[j].len); in dw2104_i2c_transfer()
439 (msg[j].addr << 1) + 1, 0, in dw2104_i2c_transfer()
440 ibuf, msg[j].len + 2, in dw2104_i2c_transfer()
442 memcpy(msg[j].buf, ibuf + 2, msg[j].len); in dw2104_i2c_transfer()
444 } else if (((msg[j].buf[0] == 0xb0) && in dw2104_i2c_transfer()
445 (msg[j].addr == 0x68)) || in dw2104_i2c_transfer()
446 ((msg[j].buf[0] == 0xf7) && in dw2104_i2c_transfer()
447 (msg[j].addr == 0x55))) { in dw2104_i2c_transfer()
450 obuf[0] = msg[j].addr << 1; in dw2104_i2c_transfer()
451 obuf[1] = (msg[j].len > 15 ? 17 : msg[j].len); in dw2104_i2c_transfer()
452 obuf[2] = msg[j].buf[0]; in dw2104_i2c_transfer()
453 len = msg[j].len - 1; in dw2104_i2c_transfer()
456 memcpy(obuf + 3, msg[j].buf + i, in dw2104_i2c_transfer()
468 if (2 + msg[j].len > sizeof(obuf)) { in dw2104_i2c_transfer()
470 msg[j].len); in dw2104_i2c_transfer()
475 obuf[0] = msg[j].addr << 1; in dw2104_i2c_transfer()
476 obuf[1] = msg[j].len; in dw2104_i2c_transfer()
477 memcpy(obuf + 2, msg[j].buf, msg[j].len); in dw2104_i2c_transfer()
479 obuf, msg[j].len + 2, in dw2104_i2c_transfer()
494 static int dw3101_i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[], in dw3101_i2c_transfer() argument
512 if (2 + msg[0].len != sizeof(obuf)) { in dw3101_i2c_transfer()
514 msg[0].len); in dw3101_i2c_transfer()
518 if (2 + msg[1].len > sizeof(ibuf)) { in dw3101_i2c_transfer()
520 msg[1].len); in dw3101_i2c_transfer()
524 obuf[0] = msg[0].addr << 1; in dw3101_i2c_transfer()
525 obuf[1] = msg[0].len; in dw3101_i2c_transfer()
526 obuf[2] = msg[0].buf[0]; in dw3101_i2c_transfer()
528 obuf, msg[0].len + 2, DW210X_WRITE_MSG); in dw3101_i2c_transfer()
531 ibuf, msg[1].len + 2, DW210X_READ_MSG); in dw3101_i2c_transfer()
532 memcpy(msg[1].buf, ibuf + 2, msg[1].len); in dw3101_i2c_transfer()
537 switch (msg[0].addr) { in dw3101_i2c_transfer()
543 if (2 + msg[0].len > sizeof(obuf)) { in dw3101_i2c_transfer()
545 msg[0].len); in dw3101_i2c_transfer()
549 obuf[0] = msg[0].addr << 1; in dw3101_i2c_transfer()
550 obuf[1] = msg[0].len; in dw3101_i2c_transfer()
551 memcpy(obuf + 2, msg[0].buf, msg[0].len); in dw3101_i2c_transfer()
553 obuf, msg[0].len + 2, DW210X_WRITE_MSG); in dw3101_i2c_transfer()
560 memcpy(msg[0].buf, ibuf , 2); in dw3101_i2c_transfer()
569 deb_xfer("%02x:%02x: %s ", i, msg[i].addr, in dw3101_i2c_transfer()
570 msg[i].flags == 0 ? ">>>" : "<<<"); in dw3101_i2c_transfer()
571 debug_dump(msg[i].buf, msg[i].len, deb_xfer); in dw3101_i2c_transfer()
580 static int s6x0_i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[], in s6x0_i2c_transfer() argument
594 switch (msg[j].addr) { in s6x0_i2c_transfer()
599 memcpy(msg[j].buf, ibuf + 3, 2); in s6x0_i2c_transfer()
606 obuf[1] = msg[j].buf[1];/* off-on */ in s6x0_i2c_transfer()
610 obuf[1] = msg[j].buf[0];/* 13v-18v */ in s6x0_i2c_transfer()
619 obuf[1] = msg[j].buf[0]; in s6x0_i2c_transfer()
630 if (msg[j].flags == I2C_M_RD) { in s6x0_i2c_transfer()
634 if (msg[j].len > sizeof(ibuf)) { in s6x0_i2c_transfer()
636 msg[j].len); in s6x0_i2c_transfer()
642 ibuf, msg[j].len, in s6x0_i2c_transfer()
644 memcpy(msg[j].buf, ibuf, msg[j].len); in s6x0_i2c_transfer()
646 } else if ((msg[j].buf[0] == 0xb0) && in s6x0_i2c_transfer()
647 (msg[j].addr == 0x68)) { in s6x0_i2c_transfer()
650 obuf[0] = (msg[j].len > 16 ? in s6x0_i2c_transfer()
651 18 : msg[j].len + 1); in s6x0_i2c_transfer()
652 obuf[1] = msg[j].addr << 1; in s6x0_i2c_transfer()
653 obuf[2] = msg[j].buf[0]; in s6x0_i2c_transfer()
654 len = msg[j].len - 1; in s6x0_i2c_transfer()
657 memcpy(obuf + 3, msg[j].buf + i, in s6x0_i2c_transfer()
669 if (2 + msg[j].len > sizeof(obuf)) { in s6x0_i2c_transfer()
671 msg[j].len); in s6x0_i2c_transfer()
676 obuf[0] = msg[j + 1].len; in s6x0_i2c_transfer()
677 obuf[1] = (msg[j].addr << 1); in s6x0_i2c_transfer()
678 memcpy(obuf + 2, msg[j].buf, msg[j].len); in s6x0_i2c_transfer()
682 obuf, msg[j].len + 2, in s6x0_i2c_transfer()
689 if (2 + msg[j].len > sizeof(obuf)) { in s6x0_i2c_transfer()
691 msg[j].len); in s6x0_i2c_transfer()
695 obuf[0] = msg[j].len + 1; in s6x0_i2c_transfer()
696 obuf[1] = (msg[j].addr << 1); in s6x0_i2c_transfer()
697 memcpy(obuf + 2, msg[j].buf, msg[j].len); in s6x0_i2c_transfer()
699 obuf, msg[j].len + 2, in s6x0_i2c_transfer()
714 static int su3000_i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[], in su3000_i2c_transfer() argument
735 switch (msg[j].addr) { in su3000_i2c_transfer()
737 state->data[0] = msg[j].buf[0] + 0x36; in su3000_i2c_transfer()
749 msg[j].buf[1] = state->data[0]; in su3000_i2c_transfer()
750 msg[j].buf[0] = state->data[1]; in su3000_i2c_transfer()
756 if ((j+1 < num) && (msg[j+1].flags & I2C_M_RD) && in su3000_i2c_transfer()
757 (msg[j].addr == msg[j+1].addr)) { in su3000_i2c_transfer()
759 if (4 + msg[j].len > sizeof(state->data)) { in su3000_i2c_transfer()
761 msg[j].len); in su3000_i2c_transfer()
765 if (1 + msg[j+1].len > sizeof(state->data)) { in su3000_i2c_transfer()
767 msg[j+1].len); in su3000_i2c_transfer()
773 state->data[1] = msg[j].len; in su3000_i2c_transfer()
774 state->data[2] = msg[j+1].len; in su3000_i2c_transfer()
775 state->data[3] = msg[j].addr; in su3000_i2c_transfer()
776 memcpy(&state->data[4], msg[j].buf, msg[j].len); in su3000_i2c_transfer()
778 if (dvb_usb_generic_rw(d, state->data, msg[j].len + 4, in su3000_i2c_transfer()
779 state->data, msg[j+1].len + 1, 0) < 0) in su3000_i2c_transfer()
782 memcpy(msg[j+1].buf, &state->data[1], msg[j+1].len); in su3000_i2c_transfer()
787 if (msg[j].flags & I2C_M_RD) { in su3000_i2c_transfer()
789 if (4 + msg[j].len > sizeof(state->data)) { in su3000_i2c_transfer()
790 warn("i2c rd: len=%d is too big!\n", msg[j].len); in su3000_i2c_transfer()
797 state->data[2] = msg[j].len; in su3000_i2c_transfer()
798 state->data[3] = msg[j].addr; in su3000_i2c_transfer()
799 memcpy(&state->data[4], msg[j].buf, msg[j].len); in su3000_i2c_transfer()
802 state->data, msg[j].len + 1, 0) < 0) in su3000_i2c_transfer()
805 memcpy(msg[j].buf, &state->data[1], msg[j].len); in su3000_i2c_transfer()
810 if (3 + msg[j].len > sizeof(state->data)) { in su3000_i2c_transfer()
811 warn("i2c wr: len=%d is too big!\n", msg[j].len); in su3000_i2c_transfer()
817 state->data[1] = msg[j].addr; in su3000_i2c_transfer()
818 state->data[2] = msg[j].len; in su3000_i2c_transfer()
820 memcpy(&state->data[3], msg[j].buf, msg[j].len); in su3000_i2c_transfer()
822 if (dvb_usb_generic_rw(d, state->data, msg[j].len + 3, in su3000_i2c_transfer()
903 struct i2c_msg msg[] = { in s6x0_read_mac_address() local
919 ret = s6x0_i2c_transfer(&d->i2c_adap, msg, 2); in s6x0_read_mac_address()
942 struct i2c_msg msg = { in su3000_streaming_ctrl() local
949 i2c_transfer(&adap->dev->i2c_adap, &msg, 1); in su3000_streaming_ctrl()
981 struct i2c_msg msg[] = { in su3000_read_mac_address() local
998 if (i2c_transfer(&d->i2c_adap, msg, 2) != 2) in su3000_read_mac_address()
1024 struct i2c_msg msg = { in dw210x_set_voltage() local
1033 msg.buf = command_18v; in dw210x_set_voltage()
1035 msg.buf = command_13v; in dw210x_set_voltage()
1037 i2c_transfer(&udev_adap->dev->i2c_adap, &msg, 1); in dw210x_set_voltage()
1059 struct i2c_msg msg = { in dw210x_led_ctrl() local
1068 msg.buf = led_on; in dw210x_led_ctrl()
1069 i2c_transfer(&udev_adap->dev->i2c_adap, &msg, 1); in dw210x_led_ctrl()
1745 struct i2c_msg msg = { in dw2102_rc_query() local
1752 if (d->props.i2c_algo->master_xfer(&d->i2c_adap, &msg, 1) == 1) { in dw2102_rc_query()
1753 if (msg.buf[0] != 0xff) { in dw2102_rc_query()
1766 struct i2c_msg msg = { in prof_rc_query() local
1773 if (d->props.i2c_algo->master_xfer(&d->i2c_adap, &msg, 1) == 1) { in prof_rc_query()
1774 if (msg.buf[0] != 0xff) { in prof_rc_query()
1788 struct i2c_msg msg = { in su3000_rc_query() local
1795 if (d->props.i2c_algo->master_xfer(&d->i2c_adap, &msg, 1) == 1) { in su3000_rc_query()
1796 if (msg.buf[0] != 0xff) { in su3000_rc_query()