Lines Matching +full:byte +full:- +full:len

1 // SPDX-License-Identifier: GPL-2.0-or-later
11 #include "saa7134-reg.h"
19 #include <media/v4l2-common.h>
21 /* ----------------------------------------------------------- */
44 /* ----------------------------------------------------------- */
63 NO_ACKN = 10, // no acknowledge after data byte transfer
77 STOP = 1, // stop condition, no associated byte transfer
78 CONTINUE = 2, // continue with byte transfer
79 START = 3 // start condition with byte transfer
204 return -EIO; in i2c_send_byte()
207 return -EIO; in i2c_send_byte()
218 return -EIO; in i2c_recv_byte()
221 return -EIO; in i2c_recv_byte()
230 struct saa7134_dev *dev = i2c_adap->algo_data; in saa7134_i2c_xfer()
233 int addr,rc,i,byte; in saa7134_i2c_xfer() local
238 return -EIO; in saa7134_i2c_xfer()
269 for (byte = 0; byte < msgs[i].len; byte++) { in saa7134_i2c_xfer()
275 msgs[i].buf[byte] = rc; in saa7134_i2c_xfer()
277 /* discard mysterious extra byte when reading in saa7134_i2c_xfer()
290 for (byte = 0; byte < msgs[i].len; byte++) { in saa7134_i2c_xfer()
291 data = msgs[i].buf[byte]; in saa7134_i2c_xfer()
302 rc = -EIO; in saa7134_i2c_xfer()
321 /* ----------------------------------------------------------- */
343 /* ----------------------------------------------------------- */
346 * On Medion 7134 reading the SAA7134 chip config EEPROM needs DVB-T
356 .buf = &subaddr, .len = 1}, in saa7134_i2c_eeprom_md7134_gate()
359 .buf = &dmdregval, .len = 1} in saa7134_i2c_eeprom_md7134_gate()
362 .buf = data, .len = 2} }; in saa7134_i2c_eeprom_md7134_gate()
364 ret = i2c_transfer(&dev->i2c_adap, i2cgatemsg_r, 2); in saa7134_i2c_eeprom_md7134_gate()
366 pr_debug("%s: DVB-T demod i2c gate was left open\n", in saa7134_i2c_eeprom_md7134_gate()
367 dev->name); in saa7134_i2c_eeprom_md7134_gate()
371 if (i2c_transfer(&dev->i2c_adap, i2cgatemsg_w, 1) != 1) in saa7134_i2c_eeprom_md7134_gate()
373 dev->name); in saa7134_i2c_eeprom_md7134_gate()
378 saa7134_i2c_eeprom(struct saa7134_dev *dev, unsigned char *eedata, int len) in saa7134_i2c_eeprom() argument
383 if (dev->board == SAA7134_BOARD_MD7134) in saa7134_i2c_eeprom()
386 dev->i2c_client.addr = 0xa0 >> 1; in saa7134_i2c_eeprom()
388 if (1 != (err = i2c_master_send(&dev->i2c_client,&buf,1))) { in saa7134_i2c_eeprom()
390 dev->name,err); in saa7134_i2c_eeprom()
391 return -1; in saa7134_i2c_eeprom()
393 if (len != (err = i2c_master_recv(&dev->i2c_client,eedata,len))) { in saa7134_i2c_eeprom()
395 dev->name,err); in saa7134_i2c_eeprom()
396 return -1; in saa7134_i2c_eeprom()
399 for (i = 0; i < len; i += 16) { in saa7134_i2c_eeprom()
400 int size = (len - i) > 16 ? 16 : len - i; in saa7134_i2c_eeprom()
422 c->addr = i; in do_i2c_scan()
433 dev->i2c_adap = saa7134_adap_template; in saa7134_i2c_register()
434 dev->i2c_adap.dev.parent = &dev->pci->dev; in saa7134_i2c_register()
435 strscpy(dev->i2c_adap.name, dev->name, sizeof(dev->i2c_adap.name)); in saa7134_i2c_register()
436 dev->i2c_adap.algo_data = dev; in saa7134_i2c_register()
437 i2c_set_adapdata(&dev->i2c_adap, &dev->v4l2_dev); in saa7134_i2c_register()
438 i2c_add_adapter(&dev->i2c_adap); in saa7134_i2c_register()
440 dev->i2c_client = saa7134_client_template; in saa7134_i2c_register()
441 dev->i2c_client.adapter = &dev->i2c_adap; in saa7134_i2c_register()
443 saa7134_i2c_eeprom(dev,dev->eedata,sizeof(dev->eedata)); in saa7134_i2c_register()
445 do_i2c_scan(&dev->i2c_client); in saa7134_i2c_register()
454 i2c_del_adapter(&dev->i2c_adap); in saa7134_i2c_unregister()