Lines Matching +full:scan +full:- +full:delay
1 // SPDX-License-Identifier: GPL-2.0-or-later
5 * cx88-i2c.c -- all the i2c code is here
7 * Copyright (C) 1996,97,98 Ralph Metzler (rjkm@thp.uni-koeln.de)
8 * & Marcus Metzler (mocm@thp.uni-koeln.de)
10 * (c) 1999-2003 Gerd Knorr <kraxel@bytesex.org>
12 * - Multituner support and i2c address binding
21 #include <media/v4l2-common.h>
29 MODULE_PARM_DESC(i2c_scan, "scan i2c bus at insmod time");
34 …"i2c delay at insmod time, in usecs (should be 5 or higher). Lower value means higher bus speed.");
42 /* ----------------------------------------------------------------------- */
49 core->i2c_state |= 0x02; in cx8800_bit_setscl()
51 core->i2c_state &= ~0x02; in cx8800_bit_setscl()
52 cx_write(MO_I2C, core->i2c_state); in cx8800_bit_setscl()
61 core->i2c_state |= 0x01; in cx8800_bit_setsda()
63 core->i2c_state &= ~0x01; in cx8800_bit_setsda()
64 cx_write(MO_I2C, core->i2c_state); in cx8800_bit_setsda()
86 /* ----------------------------------------------------------------------- */
97 /* ----------------------------------------------------------------------- */
114 c->addr = i; in do_i2c_scan()
118 pr_info("i2c scan: found device @ 0x%x [%s]\n", in do_i2c_scan()
126 /* Prevents usage of invalid delay values */ in cx88_i2c_init()
130 core->i2c_algo = cx8800_i2c_algo_template; in cx88_i2c_init()
132 core->i2c_adap.dev.parent = &pci->dev; in cx88_i2c_init()
133 strscpy(core->i2c_adap.name, core->name, sizeof(core->i2c_adap.name)); in cx88_i2c_init()
134 core->i2c_adap.owner = THIS_MODULE; in cx88_i2c_init()
135 core->i2c_algo.udelay = i2c_udelay; in cx88_i2c_init()
136 core->i2c_algo.data = core; in cx88_i2c_init()
137 i2c_set_adapdata(&core->i2c_adap, &core->v4l2_dev); in cx88_i2c_init()
138 core->i2c_adap.algo_data = &core->i2c_algo; in cx88_i2c_init()
139 core->i2c_client.adapter = &core->i2c_adap; in cx88_i2c_init()
140 strscpy(core->i2c_client.name, "cx88xx internal", I2C_NAME_SIZE); in cx88_i2c_init()
145 core->i2c_rc = i2c_bit_add_bus(&core->i2c_adap); in cx88_i2c_init()
146 if (core->i2c_rc == 0) { in cx88_i2c_init()
157 switch (core->boardnr) { in cx88_i2c_init()
162 i2c_transfer(core->i2c_client.adapter, &tuner_msg, 1); in cx88_i2c_init()
168 do_i2c_scan(core->name, &core->i2c_client); in cx88_i2c_init()
172 return core->i2c_rc; in cx88_i2c_init()