Symbol: i2c
arch/arm/mach-s3c/mach-crag6410-module.c
404
static int wlf_gf_module_probe(struct i2c_client *i2c)
arch/arm/mach-s3c/mach-crag6410-module.c
408
ret = i2c_smbus_read_byte_data(i2c, 0);
arch/arm/mach-s3c/mach-crag6410-module.c
410
dev_err(&i2c->dev, "Failed to read ID: %d\n", ret);
arch/arm/mach-s3c/mach-crag6410-module.c
426
dev_info(&i2c->dev, "%s revision %d\n",
arch/arm/mach-s3c/mach-crag6410-module.c
430
if (IS_ERR(i2c_new_client_device(i2c->adapter,
arch/arm/mach-s3c/mach-crag6410-module.c
432
dev_err(&i2c->dev, "Failed to register\n");
arch/arm/mach-s3c/mach-crag6410-module.c
441
dev_warn(&i2c->dev, "Unknown module ID 0x%x revision %d\n",
arch/mips/cavium-octeon/octeon-platform.c
841
int i2c;
arch/mips/cavium-octeon/octeon-platform.c
849
i2c = fdt_path_offset(initial_boot_params, alias_prop);
arch/mips/cavium-octeon/octeon-platform.c
850
if (i2c < 0)
arch/mips/cavium-octeon/octeon-platform.c
854
fdt_nop_node(initial_boot_params, i2c);
arch/mips/cavium-octeon/octeon-platform.c
872
int i2c;
arch/mips/cavium-octeon/octeon-platform.c
879
i2c = fdt_path_offset(initial_boot_params, alias_prop);
arch/mips/cavium-octeon/octeon-platform.c
880
if (i2c < 0)
arch/mips/cavium-octeon/octeon-platform.c
884
fdt_nop_node(initial_boot_params, i2c);
arch/mips/include/asm/ip32/mace.h
298
struct mace_i2c i2c;
arch/powerpc/kernel/prom_init.c
2848
phandle u3, i2c, mpic;
arch/powerpc/kernel/prom_init.c
2857
i2c = call_prom("finddevice", 1, 1, ADDR("/u3@0,f8000000/i2c@f8001000"));
arch/powerpc/kernel/prom_init.c
2858
if (!PHANDLE_VALID(i2c))
arch/powerpc/kernel/prom_init.c
2871
if (prom_getproplen(i2c, "interrupts") > 0)
arch/powerpc/kernel/prom_init.c
2879
prom_setprop(i2c, "/u3@0,f8000000/i2c@f8001000", "interrupts",
arch/powerpc/kernel/prom_init.c
2882
prom_setprop(i2c, "/u3@0,f8000000/i2c@f8001000", "interrupt-parent",
arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c
207
MODULE_DEVICE_TABLE(i2c, mcu_ids);
drivers/auxdisplay/ht16k33.c
753
MODULE_DEVICE_TABLE(i2c, ht16k33_i2c_match);
drivers/auxdisplay/lcd2s.c
104
ret = lcd2s_i2c_master_send(lcd2s->i2c, buf, sizeof(buf));
drivers/auxdisplay/lcd2s.c
118
ret = lcd2s_i2c_master_send(lcd2s->i2c, buf, sizeof(buf));
drivers/auxdisplay/lcd2s.c
130
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CUR_RESET);
drivers/auxdisplay/lcd2s.c
139
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_DISPLAY_ON);
drivers/auxdisplay/lcd2s.c
140
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_BACKLIGHT_OFF);
drivers/auxdisplay/lcd2s.c
141
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CUR_MOVES_FWD);
drivers/auxdisplay/lcd2s.c
142
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CUR_BLINK_OFF);
drivers/auxdisplay/lcd2s.c
143
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CUR_UL_OFF);
drivers/auxdisplay/lcd2s.c
144
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CLEAR);
drivers/auxdisplay/lcd2s.c
154
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_MOV_CUR_LEFT);
drivers/auxdisplay/lcd2s.c
156
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_MOV_CUR_RIGHT);
drivers/auxdisplay/lcd2s.c
166
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_SHIFT_LEFT);
drivers/auxdisplay/lcd2s.c
168
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_SHIFT_RIGHT);
drivers/auxdisplay/lcd2s.c
178
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_BACKLIGHT_ON);
drivers/auxdisplay/lcd2s.c
180
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_BACKLIGHT_OFF);
drivers/auxdisplay/lcd2s.c
188
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_DISPLAY_ON);
drivers/auxdisplay/lcd2s.c
190
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_DISPLAY_OFF);
drivers/auxdisplay/lcd2s.c
200
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CUR_UL_ON);
drivers/auxdisplay/lcd2s.c
202
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CUR_UL_OFF);
drivers/auxdisplay/lcd2s.c
212
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CUR_BLINK_ON);
drivers/auxdisplay/lcd2s.c
214
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CUR_BLINK_OFF);
drivers/auxdisplay/lcd2s.c
270
lcd2s_i2c_master_send(lcd2s->i2c, buf, sizeof(buf));
drivers/auxdisplay/lcd2s.c
279
lcd2s_i2c_smbus_write_byte(lcd2s->i2c, LCD2S_CMD_CLEAR);
drivers/auxdisplay/lcd2s.c
300
static int lcd2s_i2c_probe(struct i2c_client *i2c)
drivers/auxdisplay/lcd2s.c
306
if (!i2c_check_functionality(i2c->adapter,
drivers/auxdisplay/lcd2s.c
312
err = lcd2s_i2c_smbus_write_byte(i2c, LCD2S_CMD_DISPLAY_OFF);
drivers/auxdisplay/lcd2s.c
323
lcd2s->i2c = i2c;
drivers/auxdisplay/lcd2s.c
327
err = device_property_read_u32(&i2c->dev, "display-height-chars",
drivers/auxdisplay/lcd2s.c
332
err = device_property_read_u32(&i2c->dev, "display-width-chars",
drivers/auxdisplay/lcd2s.c
341
i2c_set_clientdata(i2c, lcd2s);
drivers/auxdisplay/lcd2s.c
349
static void lcd2s_i2c_remove(struct i2c_client *i2c)
drivers/auxdisplay/lcd2s.c
351
struct lcd2s_data *lcd2s = i2c_get_clientdata(i2c);
drivers/auxdisplay/lcd2s.c
361
MODULE_DEVICE_TABLE(i2c, lcd2s_i2c_id);
drivers/auxdisplay/lcd2s.c
53
struct i2c_client *i2c;
drivers/auxdisplay/max6959.c
171
MODULE_DEVICE_TABLE(i2c, max6959_i2c_id);
drivers/base/regmap/regmap-i2c.c
110
struct i2c_client *i2c = to_i2c_client(dev);
drivers/base/regmap/regmap-i2c.c
115
return i2c_smbus_write_word_swapped(i2c, reg, val);
drivers/base/regmap/regmap-i2c.c
126
struct i2c_client *i2c = to_i2c_client(dev);
drivers/base/regmap/regmap-i2c.c
129
ret = i2c_master_send(i2c, data, count);
drivers/base/regmap/regmap-i2c.c
143
struct i2c_client *i2c = to_i2c_client(dev);
drivers/base/regmap/regmap-i2c.c
150
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_NOSTART))
drivers/base/regmap/regmap-i2c.c
153
xfer[0].addr = i2c->addr;
drivers/base/regmap/regmap-i2c.c
158
xfer[1].addr = i2c->addr;
drivers/base/regmap/regmap-i2c.c
163
ret = i2c_transfer(i2c->adapter, xfer, 2);
drivers/base/regmap/regmap-i2c.c
177
struct i2c_client *i2c = to_i2c_client(dev);
drivers/base/regmap/regmap-i2c.c
181
xfer[0].addr = i2c->addr;
drivers/base/regmap/regmap-i2c.c
186
xfer[1].addr = i2c->addr;
drivers/base/regmap/regmap-i2c.c
19
struct i2c_client *i2c = to_i2c_client(dev);
drivers/base/regmap/regmap-i2c.c
191
ret = i2c_transfer(i2c->adapter, xfer, 2);
drivers/base/regmap/regmap-i2c.c
212
struct i2c_client *i2c = to_i2c_client(dev);
drivers/base/regmap/regmap-i2c.c
218
return i2c_smbus_write_i2c_block_data(i2c, ((u8 *)data)[0], count,
drivers/base/regmap/regmap-i2c.c
227
struct i2c_client *i2c = to_i2c_client(dev);
drivers/base/regmap/regmap-i2c.c
233
ret = i2c_smbus_read_i2c_block_data(i2c, ((u8 *)reg)[0], val_size, val);
drivers/base/regmap/regmap-i2c.c
25
ret = i2c_smbus_read_byte_data(i2c, reg);
drivers/base/regmap/regmap-i2c.c
253
struct i2c_client *i2c = to_i2c_client(dev);
drivers/base/regmap/regmap-i2c.c
259
return i2c_smbus_write_i2c_block_data(i2c, ((u8 *)data)[0], count,
drivers/base/regmap/regmap-i2c.c
268
struct i2c_client *i2c = to_i2c_client(dev);
drivers/base/regmap/regmap-i2c.c
274
ret = i2c_smbus_write_byte_data(i2c, ((u16 *)reg)[0] & 0xff,
drivers/base/regmap/regmap-i2c.c
282
ret = i2c_smbus_read_byte(i2c);
drivers/base/regmap/regmap-i2c.c
306
static const struct regmap_bus *regmap_get_i2c_bus(struct i2c_client *i2c,
drivers/base/regmap/regmap-i2c.c
314
if (i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C))
drivers/base/regmap/regmap-i2c.c
317
i2c_check_functionality(i2c->adapter,
drivers/base/regmap/regmap-i2c.c
321
i2c_check_functionality(i2c->adapter,
drivers/base/regmap/regmap-i2c.c
325
i2c_check_functionality(i2c->adapter,
drivers/base/regmap/regmap-i2c.c
327
switch (regmap_get_val_endian(&i2c->dev, NULL, config)) {
drivers/base/regmap/regmap-i2c.c
338
i2c_check_functionality(i2c->adapter,
drivers/base/regmap/regmap-i2c.c
345
quirks = i2c->adapter->quirks;
drivers/base/regmap/regmap-i2c.c
370
struct regmap *__regmap_init_i2c(struct i2c_client *i2c,
drivers/base/regmap/regmap-i2c.c
375
const struct regmap_bus *bus = regmap_get_i2c_bus(i2c, config);
drivers/base/regmap/regmap-i2c.c
38
struct i2c_client *i2c = to_i2c_client(dev);
drivers/base/regmap/regmap-i2c.c
380
return __regmap_init(&i2c->dev, bus, &i2c->dev, config,
drivers/base/regmap/regmap-i2c.c
385
struct regmap *__devm_regmap_init_i2c(struct i2c_client *i2c,
drivers/base/regmap/regmap-i2c.c
390
const struct regmap_bus *bus = regmap_get_i2c_bus(i2c, config);
drivers/base/regmap/regmap-i2c.c
395
return __devm_regmap_init(&i2c->dev, bus, &i2c->dev, config,
drivers/base/regmap/regmap-i2c.c
43
return i2c_smbus_write_byte_data(i2c, reg, val);
drivers/base/regmap/regmap-i2c.c
55
struct i2c_client *i2c = to_i2c_client(dev);
drivers/base/regmap/regmap-i2c.c
61
ret = i2c_smbus_read_word_data(i2c, reg);
drivers/base/regmap/regmap-i2c.c
74
struct i2c_client *i2c = to_i2c_client(dev);
drivers/base/regmap/regmap-i2c.c
79
return i2c_smbus_write_word_data(i2c, reg, val);
drivers/base/regmap/regmap-i2c.c
91
struct i2c_client *i2c = to_i2c_client(dev);
drivers/base/regmap/regmap-i2c.c
97
ret = i2c_smbus_read_word_swapped(i2c, reg);
drivers/base/regmap/regmap-sccb.c
103
const struct regmap_bus *bus = regmap_get_sccb_bus(i2c, config);
drivers/base/regmap/regmap-sccb.c
108
return __regmap_init(&i2c->dev, bus, &i2c->dev, config,
drivers/base/regmap/regmap-sccb.c
113
struct regmap *__devm_regmap_init_sccb(struct i2c_client *i2c,
drivers/base/regmap/regmap-sccb.c
118
const struct regmap_bus *bus = regmap_get_sccb_bus(i2c, config);
drivers/base/regmap/regmap-sccb.c
123
return __devm_regmap_init(&i2c->dev, bus, &i2c->dev, config,
drivers/base/regmap/regmap-sccb.c
43
struct i2c_client *i2c = to_i2c_client(dev);
drivers/base/regmap/regmap-sccb.c
47
i2c_lock_bus(i2c->adapter, I2C_LOCK_SEGMENT);
drivers/base/regmap/regmap-sccb.c
49
ret = __i2c_smbus_xfer(i2c->adapter, i2c->addr, i2c->flags,
drivers/base/regmap/regmap-sccb.c
54
ret = __i2c_smbus_xfer(i2c->adapter, i2c->addr, i2c->flags,
drivers/base/regmap/regmap-sccb.c
61
i2c_unlock_bus(i2c->adapter, I2C_LOCK_SEGMENT);
drivers/base/regmap/regmap-sccb.c
78
struct i2c_client *i2c = to_i2c_client(dev);
drivers/base/regmap/regmap-sccb.c
80
return i2c_smbus_write_byte_data(i2c, reg, val);
drivers/base/regmap/regmap-sccb.c
88
static const struct regmap_bus *regmap_get_sccb_bus(struct i2c_client *i2c,
drivers/base/regmap/regmap-sccb.c
92
sccb_is_available(i2c->adapter))
drivers/base/regmap/regmap-sccb.c
98
struct regmap *__regmap_init_sccb(struct i2c_client *i2c,
drivers/char/ipmi/ipmb_dev_int.c
359
MODULE_DEVICE_TABLE(i2c, ipmb_id);
drivers/char/ipmi/ipmi_ipmb.c
572
MODULE_DEVICE_TABLE(i2c, ipmi_ipmb_id);
drivers/char/ipmi/ipmi_ssif.c
2073
MODULE_DEVICE_TABLE(i2c, ssif_id);
drivers/char/ipmi/ssif_bmc.c
860
MODULE_DEVICE_TABLE(i2c, ssif_bmc_id);
drivers/char/tpm/st33zp24/i2c.c
139
MODULE_DEVICE_TABLE(i2c, st33zp24_i2c_id);
drivers/char/tpm/tpm_i2c_atmel.c
193
MODULE_DEVICE_TABLE(i2c, i2c_atmel_id);
drivers/char/tpm/tpm_i2c_infineon.c
673
MODULE_DEVICE_TABLE(i2c, tpm_tis_i2c_table);
drivers/char/tpm/tpm_i2c_nuvoton.c
631
MODULE_DEVICE_TABLE(i2c, i2c_nuvoton_id);
drivers/char/tpm/tpm_tis_i2c.c
381
MODULE_DEVICE_TABLE(i2c, tpm_tis_i2c_id);
drivers/clk/clk-cdce706.c
686
MODULE_DEVICE_TABLE(i2c, cdce706_id);
drivers/clk/clk-cdce925.c
520
struct i2c_client *i2c = to_i2c_client(dev);
drivers/clk/clk-cdce925.c
531
dev_dbg(&i2c->dev, "%s(%zu) %#x %#x\n", __func__, count,
drivers/clk/clk-cdce925.c
534
ret = i2c_master_send(i2c, reg_data, count);
drivers/clk/clk-cdce925.c
547
struct i2c_client *i2c = to_i2c_client(dev);
drivers/clk/clk-cdce925.c
555
xfer[0].addr = i2c->addr;
drivers/clk/clk-cdce925.c
569
xfer[1].addr = i2c->addr;
drivers/clk/clk-cdce925.c
574
ret = i2c_transfer(i2c->adapter, xfer, 2);
drivers/clk/clk-cdce925.c
576
dev_dbg(&i2c->dev, "%s(%zu, %zu) %#x %#x\n", __func__,
drivers/clk/clk-cdce925.c
835
MODULE_DEVICE_TABLE(i2c, cdce925_id);
drivers/clk/clk-cs2000-cp.c
128
MODULE_DEVICE_TABLE(i2c, cs2000_id);
drivers/clk/clk-max9485.c
378
MODULE_DEVICE_TABLE(i2c, max9485_i2c_ids);
drivers/clk/clk-renesas-pcie.c
104
ret = i2c_master_send(i2c, data, count);
drivers/clk/clk-renesas-pcie.c
116
struct i2c_client *i2c = context;
drivers/clk/clk-renesas-pcie.c
122
xfer[0].addr = i2c->addr;
drivers/clk/clk-renesas-pcie.c
127
xfer[1].addr = i2c->addr;
drivers/clk/clk-renesas-pcie.c
132
ret = i2c_transfer(i2c->adapter, xfer, 2);
drivers/clk/clk-renesas-pcie.c
403
MODULE_DEVICE_TABLE(i2c, rs9_id);
drivers/clk/clk-renesas-pcie.c
99
struct i2c_client *i2c = context;
drivers/clk/clk-si514.c
385
MODULE_DEVICE_TABLE(i2c, si514_id);
drivers/clk/clk-si521xx.c
103
ret = i2c_master_send(i2c, data, count);
drivers/clk/clk-si521xx.c
115
struct i2c_client *i2c = context;
drivers/clk/clk-si521xx.c
121
xfer[0].addr = i2c->addr;
drivers/clk/clk-si521xx.c
126
xfer[1].addr = i2c->addr;
drivers/clk/clk-si521xx.c
131
ret = i2c_transfer(i2c->adapter, xfer, 2);
drivers/clk/clk-si521xx.c
373
MODULE_DEVICE_TABLE(i2c, si521xx_id);
drivers/clk/clk-si521xx.c
98
struct i2c_client *i2c = context;
drivers/clk/clk-si5341.c
1835
MODULE_DEVICE_TABLE(i2c, si5341_id);
drivers/clk/clk-si5351.c
1434
MODULE_DEVICE_TABLE(i2c, si5351_i2c_ids);
drivers/clk/clk-si544.c
487
MODULE_DEVICE_TABLE(i2c, si544_id);
drivers/clk/clk-si570.c
512
MODULE_DEVICE_TABLE(i2c, si570_id);
drivers/clk/clk-versaclock5.c
1324
MODULE_DEVICE_TABLE(i2c, vc5_id);
drivers/clk/clk-versaclock7.c
1294
MODULE_DEVICE_TABLE(i2c, vc7_i2c_id);
drivers/clk/meson/axg.c
1941
static AXG_PCLK(i2c, HHI_GCLK_MPEG0, 9, CLK_IGNORE_UNUSED);
drivers/crypto/atmel-ecc.c
385
MODULE_DEVICE_TABLE(i2c, atmel_ecc_id);
drivers/crypto/atmel-sha204a.c
216
MODULE_DEVICE_TABLE(i2c, atmel_sha204a_id);
drivers/dma/qcom/gpi.c
1627
struct gpi_i2c_config *i2c = chan->config;
drivers/dma/qcom/gpi.c
1635
if (i2c->set_config) {
drivers/dma/qcom/gpi.c
1639
tre->dword[0] = u32_encode_bits(i2c->low_count, TRE_I2C_C0_TLOW);
drivers/dma/qcom/gpi.c
1640
tre->dword[0] |= u32_encode_bits(i2c->high_count, TRE_I2C_C0_THIGH);
drivers/dma/qcom/gpi.c
1641
tre->dword[0] |= u32_encode_bits(i2c->cycle_count, TRE_I2C_C0_TCYL);
drivers/dma/qcom/gpi.c
1642
tre->dword[0] |= u32_encode_bits(i2c->pack_enable, TRE_I2C_C0_TX_PACK);
drivers/dma/qcom/gpi.c
1643
tre->dword[0] |= u32_encode_bits(i2c->pack_enable, TRE_I2C_C0_RX_PACK);
drivers/dma/qcom/gpi.c
1647
tre->dword[2] = u32_encode_bits(i2c->clk_div, TRE_C0_CLK_DIV);
drivers/dma/qcom/gpi.c
1654
if (i2c->op == I2C_WRITE) {
drivers/dma/qcom/gpi.c
1658
if (i2c->multi_msg)
drivers/dma/qcom/gpi.c
1661
tre->dword[0] = u32_encode_bits(i2c->op, TRE_I2C_GO_CMD);
drivers/dma/qcom/gpi.c
1663
tre->dword[0] |= u32_encode_bits(i2c->addr, TRE_I2C_GO_ADDR);
drivers/dma/qcom/gpi.c
1664
tre->dword[0] |= u32_encode_bits(i2c->stretch, TRE_I2C_GO_STRETCH);
drivers/dma/qcom/gpi.c
1667
tre->dword[2] = u32_encode_bits(i2c->rx_len, TRE_RX_LEN);
drivers/dma/qcom/gpi.c
1671
if (i2c->multi_msg)
drivers/dma/qcom/gpi.c
1677
if (i2c->op == I2C_READ || i2c->multi_msg == false) {
drivers/dpll/zl3073x/i2c.c
51
MODULE_DEVICE_TABLE(i2c, zl3073x_i2c_id);
drivers/extcon/extcon-fsa9480.c
356
MODULE_DEVICE_TABLE(i2c, fsa9480_id);
drivers/extcon/extcon-lc824206xa.c
481
MODULE_DEVICE_TABLE(i2c, lc824206xa_i2c_ids);
drivers/extcon/extcon-max14526.c
287
MODULE_DEVICE_TABLE(i2c, max14526_id);
drivers/extcon/extcon-max77843.c
776
max77843->i2c_muic = i2c_new_dummy_device(max77843->i2c->adapter,
drivers/extcon/extcon-max77843.c
779
dev_err(&max77843->i2c->dev,
drivers/extcon/extcon-max77843.c
797
dev_err(&max77843->i2c->dev, "Cannot add MUIC IRQ chip\n");
drivers/extcon/extcon-ptn5150.c
224
static int ptn5150_i2c_probe(struct i2c_client *i2c)
drivers/extcon/extcon-ptn5150.c
226
struct device *dev = &i2c->dev;
drivers/extcon/extcon-ptn5150.c
227
struct device_node *np = i2c->dev.of_node;
drivers/extcon/extcon-ptn5150.c
234
info = devm_kzalloc(&i2c->dev, sizeof(*info), GFP_KERNEL);
drivers/extcon/extcon-ptn5150.c
237
i2c_set_clientdata(i2c, info);
drivers/extcon/extcon-ptn5150.c
239
info->dev = &i2c->dev;
drivers/extcon/extcon-ptn5150.c
240
info->i2c = i2c;
drivers/extcon/extcon-ptn5150.c
241
info->vbus_gpiod = devm_gpiod_get(&i2c->dev, "vbus", GPIOD_OUT_LOW);
drivers/extcon/extcon-ptn5150.c
256
info->regmap = devm_regmap_init_i2c(i2c, &ptn5150_regmap_config);
drivers/extcon/extcon-ptn5150.c
262
if (i2c->irq > 0) {
drivers/extcon/extcon-ptn5150.c
263
info->irq = i2c->irq;
drivers/extcon/extcon-ptn5150.c
265
info->int_gpiod = devm_gpiod_get(&i2c->dev, "int", GPIOD_IN);
drivers/extcon/extcon-ptn5150.c
282
i2c->name, info);
drivers/extcon/extcon-ptn5150.c
344
MODULE_DEVICE_TABLE(i2c, ptn5150_i2c_id);
drivers/extcon/extcon-ptn5150.c
49
struct i2c_client *i2c;
drivers/extcon/extcon-rt8973a.c
42
struct i2c_client *i2c;
drivers/extcon/extcon-rt8973a.c
551
static int rt8973a_muic_i2c_probe(struct i2c_client *i2c)
drivers/extcon/extcon-rt8973a.c
553
struct device_node *np = i2c->dev.of_node;
drivers/extcon/extcon-rt8973a.c
560
info = devm_kzalloc(&i2c->dev, sizeof(*info), GFP_KERNEL);
drivers/extcon/extcon-rt8973a.c
563
i2c_set_clientdata(i2c, info);
drivers/extcon/extcon-rt8973a.c
565
info->dev = &i2c->dev;
drivers/extcon/extcon-rt8973a.c
566
info->i2c = i2c;
drivers/extcon/extcon-rt8973a.c
567
info->irq = i2c->irq;
drivers/extcon/extcon-rt8973a.c
577
info->regmap = devm_regmap_init_i2c(i2c, &rt8973a_muic_regmap_config);
drivers/extcon/extcon-rt8973a.c
648
static void rt8973a_muic_i2c_remove(struct i2c_client *i2c)
drivers/extcon/extcon-rt8973a.c
650
struct rt8973a_muic_info *info = i2c_get_clientdata(i2c);
drivers/extcon/extcon-rt8973a.c
664
struct i2c_client *i2c = to_i2c_client(dev);
drivers/extcon/extcon-rt8973a.c
665
struct rt8973a_muic_info *info = i2c_get_clientdata(i2c);
drivers/extcon/extcon-rt8973a.c
674
struct i2c_client *i2c = to_i2c_client(dev);
drivers/extcon/extcon-rt8973a.c
675
struct rt8973a_muic_info *info = i2c_get_clientdata(i2c);
drivers/extcon/extcon-rt8973a.c
690
MODULE_DEVICE_TABLE(i2c, rt8973a_i2c_id);
drivers/extcon/extcon-sm5502.c
40
struct i2c_client *i2c;
drivers/extcon/extcon-sm5502.c
675
static int sm5022_muic_i2c_probe(struct i2c_client *i2c)
drivers/extcon/extcon-sm5502.c
677
struct device_node *np = i2c->dev.of_node;
drivers/extcon/extcon-sm5502.c
684
info = devm_kzalloc(&i2c->dev, sizeof(*info), GFP_KERNEL);
drivers/extcon/extcon-sm5502.c
687
i2c_set_clientdata(i2c, info);
drivers/extcon/extcon-sm5502.c
689
info->dev = &i2c->dev;
drivers/extcon/extcon-sm5502.c
690
info->i2c = i2c;
drivers/extcon/extcon-sm5502.c
691
info->irq = i2c->irq;
drivers/extcon/extcon-sm5502.c
704
info->regmap = devm_regmap_init_i2c(i2c, &sm5502_muic_regmap_config);
drivers/extcon/extcon-sm5502.c
807
struct i2c_client *i2c = to_i2c_client(dev);
drivers/extcon/extcon-sm5502.c
808
struct sm5502_muic_info *info = i2c_get_clientdata(i2c);
drivers/extcon/extcon-sm5502.c
817
struct i2c_client *i2c = to_i2c_client(dev);
drivers/extcon/extcon-sm5502.c
818
struct sm5502_muic_info *info = i2c_get_clientdata(i2c);
drivers/extcon/extcon-sm5502.c
835
MODULE_DEVICE_TABLE(i2c, sm5502_i2c_id);
drivers/gpio/gpio-adnp.c
505
MODULE_DEVICE_TABLE(i2c, adnp_i2c_id);
drivers/gpio/gpio-ds4520.c
60
MODULE_DEVICE_TABLE(i2c, ds4520_gpio_id_table);
drivers/gpio/gpio-fxl6408.c
156
MODULE_DEVICE_TABLE(i2c, fxl6408_id);
drivers/gpio/gpio-gw-pld.c
115
MODULE_DEVICE_TABLE(i2c, gw_pld_id);
drivers/gpio/gpio-max7300.c
59
MODULE_DEVICE_TABLE(i2c, max7300_id);
drivers/gpio/gpio-max732x.c
113
MODULE_DEVICE_TABLE(i2c, max732x_id);
drivers/gpio/gpio-max77650.c
142
struct i2c_client *i2c;
drivers/gpio/gpio-max77650.c
146
i2c = to_i2c_client(parent);
drivers/gpio/gpio-max77650.c
162
chip->gc.label = i2c->name;
drivers/gpio/gpio-pca953x.c
134
MODULE_DEVICE_TABLE(i2c, pca953x_id);
drivers/gpio/gpio-pca9570.c
171
MODULE_DEVICE_TABLE(i2c, pca9570_id_table);
drivers/gpio/gpio-pcf857x.c
38
MODULE_DEVICE_TABLE(i2c, pcf857x_id);
drivers/gpio/gpio-tpic2810.c
118
MODULE_DEVICE_TABLE(i2c, tpic2810_id_table);
drivers/gpio/gpio-ts4900.c
181
MODULE_DEVICE_TABLE(i2c, ts4900_gpio_id_table);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
105
i2c = amdgpu_atombios_get_bus_rec_for_i2c_gpio(gpio);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
113
return i2c;
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
120
struct amdgpu_i2c_bus_rec i2c;
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
135
i2c = amdgpu_atombios_get_bus_rec_for_i2c_gpio(gpio);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
137
if (i2c.valid) {
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
138
sprintf(stmp, "0x%x", i2c.i2c_id);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
139
adev->i2c_bus[i] = amdgpu_i2c_create(adev_to_drm(adev), &i2c, stmp);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
151
struct amdgpu_i2c_bus_rec i2c;
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
166
i2c = amdgpu_atombios_get_bus_rec_for_i2c_gpio(gpio);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
168
if (i2c.valid && i2c.i2c_id == i2c_id) {
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
169
sprintf(stmp, "OEM 0x%x", i2c.i2c_id);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
170
adev->i2c_bus[i] = amdgpu_i2c_create(adev_to_drm(adev), &i2c, stmp);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
41
struct amdgpu_i2c_bus_rec i2c;
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
43
memset(&i2c, 0, sizeof(struct amdgpu_i2c_bus_rec));
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
45
i2c.mask_clk_reg = le16_to_cpu(gpio->usClkMaskRegisterIndex);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
46
i2c.mask_data_reg = le16_to_cpu(gpio->usDataMaskRegisterIndex);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
47
i2c.en_clk_reg = le16_to_cpu(gpio->usClkEnRegisterIndex);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
48
i2c.en_data_reg = le16_to_cpu(gpio->usDataEnRegisterIndex);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
49
i2c.y_clk_reg = le16_to_cpu(gpio->usClkY_RegisterIndex);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
50
i2c.y_data_reg = le16_to_cpu(gpio->usDataY_RegisterIndex);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
51
i2c.a_clk_reg = le16_to_cpu(gpio->usClkA_RegisterIndex);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
52
i2c.a_data_reg = le16_to_cpu(gpio->usDataA_RegisterIndex);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
53
i2c.mask_clk_mask = (1 << gpio->ucClkMaskShift);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
54
i2c.mask_data_mask = (1 << gpio->ucDataMaskShift);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
55
i2c.en_clk_mask = (1 << gpio->ucClkEnShift);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
56
i2c.en_data_mask = (1 << gpio->ucDataEnShift);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
57
i2c.y_clk_mask = (1 << gpio->ucClkY_Shift);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
58
i2c.y_data_mask = (1 << gpio->ucDataY_Shift);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
59
i2c.a_clk_mask = (1 << gpio->ucClkA_Shift);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
60
i2c.a_data_mask = (1 << gpio->ucDataA_Shift);
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
63
i2c.hw_capable = true;
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
65
i2c.hw_capable = false;
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
68
i2c.mm_i2c = true;
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
70
i2c.mm_i2c = false;
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
72
i2c.i2c_id = gpio->sucI2cId.ucAccess;
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
74
if (i2c.mask_clk_reg)
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
75
i2c.valid = true;
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
77
i2c.valid = false;
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
79
return i2c;
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
87
struct amdgpu_i2c_bus_rec i2c;
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
93
memset(&i2c, 0, sizeof(struct amdgpu_i2c_bus_rec));
drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
94
i2c.valid = false;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
102
struct amdgpu_i2c_chan *i2c = i2c_priv;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
103
struct amdgpu_device *adev = drm_to_adev(i2c->dev);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
104
struct amdgpu_i2c_bus_rec *rec = &i2c->rec;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
117
struct amdgpu_i2c_chan *i2c = i2c_priv;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
118
struct amdgpu_device *adev = drm_to_adev(i2c->dev);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
119
struct amdgpu_i2c_bus_rec *rec = &i2c->rec;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
131
struct amdgpu_i2c_chan *i2c = i2c_priv;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
132
struct amdgpu_device *adev = drm_to_adev(i2c->dev);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
133
struct amdgpu_i2c_bus_rec *rec = &i2c->rec;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
144
struct amdgpu_i2c_chan *i2c = i2c_priv;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
145
struct amdgpu_device *adev = drm_to_adev(i2c->dev);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
146
struct amdgpu_i2c_bus_rec *rec = &i2c->rec;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
164
struct amdgpu_i2c_chan *i2c;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
171
i2c = kzalloc_obj(struct amdgpu_i2c_chan);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
172
if (i2c == NULL)
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
175
i2c->rec = *rec;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
176
i2c->adapter.owner = THIS_MODULE;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
177
i2c->adapter.dev.parent = dev->dev;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
178
i2c->dev = dev;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
179
i2c_set_adapdata(&i2c->adapter, i2c);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
180
mutex_init(&i2c->mutex);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
184
snprintf(i2c->adapter.name, sizeof(i2c->adapter.name),
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
186
i2c->adapter.algo = &amdgpu_atombios_i2c_algo;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
187
ret = devm_i2c_add_adapter(dev->dev, &i2c->adapter);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
192
snprintf(i2c->adapter.name, sizeof(i2c->adapter.name),
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
194
i2c->adapter.algo_data = &i2c->bit;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
195
i2c->bit.pre_xfer = amdgpu_i2c_pre_xfer;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
196
i2c->bit.post_xfer = amdgpu_i2c_post_xfer;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
197
i2c->bit.setsda = amdgpu_i2c_set_data;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
198
i2c->bit.setscl = amdgpu_i2c_set_clock;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
199
i2c->bit.getsda = amdgpu_i2c_get_data;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
200
i2c->bit.getscl = amdgpu_i2c_get_clock;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
201
i2c->bit.udelay = 10;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
202
i2c->bit.timeout = usecs_to_jiffies(2200); /* from VESA */
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
203
i2c->bit.data = i2c;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
204
ret = i2c_bit_add_bus(&i2c->adapter);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
211
return i2c;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
213
kfree(i2c);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
41
struct amdgpu_i2c_chan *i2c = i2c_get_adapdata(i2c_adap);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
42
struct amdgpu_device *adev = drm_to_adev(i2c->dev);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
43
struct amdgpu_i2c_bus_rec *rec = &i2c->rec;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
46
mutex_lock(&i2c->mutex);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
83
struct amdgpu_i2c_chan *i2c = i2c_get_adapdata(i2c_adap);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
84
struct amdgpu_device *adev = drm_to_adev(i2c->dev);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
85
struct amdgpu_i2c_bus_rec *rec = &i2c->rec;
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
97
mutex_unlock(&i2c->mutex);
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.h
30
void amdgpu_i2c_destroy(struct amdgpu_i2c_chan *i2c);
drivers/gpu/drm/amd/amdgpu/atombios_i2c.c
110
struct amdgpu_i2c_chan *i2c = i2c_get_adapdata(i2c_adap);
drivers/gpu/drm/amd/amdgpu/atombios_i2c.c
118
ret = amdgpu_atombios_i2c_process_i2c_ch(i2c,
drivers/gpu/drm/amd/amdgpu/atombios_i2c.c
144
ret = amdgpu_atombios_i2c_process_i2c_ch(i2c,
drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c
611
static void lock_bus(struct i2c_adapter *i2c, unsigned int flags)
drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c
613
struct amdgpu_smu_i2c_bus *smu_i2c = i2c_get_adapdata(i2c);
drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c
617
if (!smu_v11_0_i2c_bus_lock(i2c))
drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c
623
static int trylock_bus(struct i2c_adapter *i2c, unsigned int flags)
drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c
629
static void unlock_bus(struct i2c_adapter *i2c, unsigned int flags)
drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c
631
struct amdgpu_smu_i2c_bus *smu_i2c = i2c_get_adapdata(i2c);
drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c
634
if (!smu_v11_0_i2c_bus_unlock(i2c))
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
7914
ddc = &aconnector->i2c->base;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
7973
ddc = &aconnector->i2c->base;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9090
struct amdgpu_i2c_adapter *i2c = i2c_get_adapdata(i2c_adap);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9091
struct ddc_service *ddc_service = i2c->ddc_service;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9115
if (i2c->oem) {
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9146
struct amdgpu_i2c_adapter *i2c;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9148
i2c = kzalloc_obj(struct amdgpu_i2c_adapter);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9149
if (!i2c)
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9151
i2c->base.owner = THIS_MODULE;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9152
i2c->base.dev.parent = &adev->pdev->dev;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9153
i2c->base.algo = &amdgpu_dm_i2c_algo;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9155
snprintf(i2c->base.name, sizeof(i2c->base.name), "AMDGPU DM i2c OEM bus");
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9157
snprintf(i2c->base.name, sizeof(i2c->base.name), "AMDGPU DM i2c hw bus %d",
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9159
i2c_set_adapdata(&i2c->base, i2c);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9160
i2c->ddc_service = ddc_service;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9161
i2c->oem = oem;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9163
return i2c;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9201
struct amdgpu_i2c_adapter *i2c;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9207
i2c = create_i2c(link->ddc, false);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9208
if (!i2c) {
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9213
aconnector->i2c = i2c;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9214
res = devm_i2c_add_adapter(dm->adev->dev, &i2c->base);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9228
&i2c->base);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9260
kfree(i2c);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
9261
aconnector->i2c = NULL;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
802
struct amdgpu_i2c_adapter *i2c;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
1017
ddc = &aconnector->i2c->base;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
632
result = i2c_transfer(&aconnector->i2c->base, msgs, num) == num;
drivers/gpu/drm/amd/display/dc/dc.h
793
bool i2c: 1;
drivers/gpu/drm/amd/display/dc/dc_fused_io.c
19
struct dmub_cmd_fused_request_location_i2c *loc = &req->u.i2c;
drivers/gpu/drm/amd/display/dc/dce/dce_i2c_hw.c
327
if (dce_i2c_hw->ctx->dc->debug.enable_mem_low_power.bits.i2c) {
drivers/gpu/drm/amd/display/dc/dce/dce_i2c_hw.c
436
if (dce_i2c_hw->ctx->dc->debug.enable_mem_low_power.bits.i2c) {
drivers/gpu/drm/amd/display/dc/hwss/dcn31/dcn31_hwseq.c
243
dc->res_pool->dio->funcs->mem_pwr_ctrl(dc->res_pool->dio, dc->debug.enable_mem_low_power.bits.i2c);
drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c
278
dc->res_pool->dio->funcs->mem_pwr_ctrl(dc->res_pool->dio, !dc->debug.enable_mem_low_power.bits.i2c);
drivers/gpu/drm/amd/display/dc/resource/dcn31/dcn31_resource.c
896
.i2c = true,
drivers/gpu/drm/amd/display/dc/resource/dcn314/dcn314_resource.c
916
.i2c = true,
drivers/gpu/drm/amd/display/dc/resource/dcn315/dcn315_resource.c
896
.i2c = true,
drivers/gpu/drm/amd/display/dc/resource/dcn316/dcn316_resource.c
891
.i2c = true,
drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c
724
.i2c = false,
drivers/gpu/drm/amd/display/dc/resource/dcn321/dcn321_resource.c
720
.i2c = false,
drivers/gpu/drm/amd/display/dc/resource/dcn35/dcn35_resource.c
754
.i2c = true,
drivers/gpu/drm/amd/display/dc/resource/dcn351/dcn351_resource.c
734
.i2c = true,
drivers/gpu/drm/amd/display/dc/resource/dcn36/dcn36_resource.c
741
.i2c = true,
drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c
718
.i2c = false,
drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h
6327
} i2c;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1082
struct i2c_client *i2c = to_i2c_client(dev);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1083
struct adv7511 *adv7511 = i2c_get_clientdata(i2c);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1231
static int adv7511_probe(struct i2c_client *i2c)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1235
struct device *dev = &i2c->dev;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1247
adv7511->i2c_main = i2c;
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1250
adv7511->info = i2c_get_match_data(i2c);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1287
adv7511->regmap = devm_regmap_init_i2c(i2c, &adv7511_regmap_config);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1309
adv7511->i2c_edid = i2c_new_ancillary_device(i2c, "edid",
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1319
adv7511->i2c_packet = i2c_new_ancillary_device(i2c, "packet",
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1344
i2c_set_clientdata(i2c, adv7511);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1387
if (i2c->irq) {
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1390
ret = devm_request_threaded_irq(dev, i2c->irq, NULL,
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1423
static void adv7511_remove(struct i2c_client *i2c)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1425
struct adv7511 *adv7511 = i2c_get_clientdata(i2c);
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
1480
MODULE_DEVICE_TABLE(i2c, adv7511_i2c_ids);
drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
772
MODULE_DEVICE_TABLE(i2c, anx6345_id);
drivers/gpu/drm/bridge/analogix/anx7625.c
1001
ret = anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1003
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1005
ret |= anx7625_write_or(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1014
ret = anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1016
ret |= anx7625_write_or(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1028
c = anx7625_reg_read(ctx, ctx->i2c.rx_p0_client, AP_AUX_BUFF_START);
drivers/gpu/drm/bridge/analogix/anx7625.c
1057
ret = anx7625_reg_block_read(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1080
ret = anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1082
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1084
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1092
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1108
ret = anx7625_reg_block_read(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1135
ret = anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1137
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1139
ret |= anx7625_write_and(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1299
anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1308
ret = anx7625_reg_write(ctx, ctx->i2c.tx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1310
ret |= anx7625_reg_write(ctx, ctx->i2c.tx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1313
ret |= anx7625_reg_write(ctx, ctx->i2c.tx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1322
return anx7625_reg_read(ctx, ctx->i2c.rx_p0_client, GPIO_CTRL_2);
drivers/gpu/drm/bridge/analogix/anx7625.c
1331
ret = anx7625_reg_write(ctx, ctx->i2c.rx_p0_client, 0x88, 0x40);
drivers/gpu/drm/bridge/analogix/anx7625.c
1333
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1336
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client, 0x88, 0x00);
drivers/gpu/drm/bridge/analogix/anx7625.c
1363
ret = anx7625_reg_read(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1376
ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1379
ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1457
ret = anx7625_write_and(ctx, ctx->i2c.rx_p1_client, 0xee, 0x9f);
drivers/gpu/drm/bridge/analogix/anx7625.c
1460
ret |= anx7625_write_or(ctx, ctx->i2c.rx_p1_client, 0xec, 0x10);
drivers/gpu/drm/bridge/analogix/anx7625.c
1462
ret |= anx7625_write_or(ctx, ctx->i2c.rx_p1_client, 0xff, 0x01);
drivers/gpu/drm/bridge/analogix/anx7625.c
1468
ret = anx7625_reg_read(ctx, ctx->i2c.rx_p1_client, 0x86);
drivers/gpu/drm/bridge/analogix/anx7625.c
1477
return anx7625_reg_read(ctx, ctx->i2c.rx_p0_client, SYSTEM_STSTUS);
drivers/gpu/drm/bridge/analogix/anx7625.c
1501
anx7625_reg_write(ctx, ctx->i2c.tcpc_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1503
anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1540
anx7625_reg_write(ctx, ctx->i2c.tx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1545
anx7625_reg_write(ctx, ctx->i2c.tx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1574
status = anx7625_reg_write(ctx, ctx->i2c.tcpc_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1581
intr_vector = anx7625_reg_read(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1588
status = anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1599
status = anx7625_reg_read(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1844
ret = anx7625_write_and_or(ctx, ctx->i2c.tx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1849
ret = anx7625_write_and_or(ctx, ctx->i2c.tx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1873
ret |= anx7625_write_and_or(ctx, ctx->i2c.tx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1896
ret |= anx7625_write_and_or(ctx, ctx->i2c.tx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1899
ret |= anx7625_write_or(ctx, ctx->i2c.tx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1902
ret |= anx7625_write_and(ctx, ctx->i2c.tx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
192
ret = anx7625_write_or(ctx, ctx->i2c.tx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1933
ret |= anx7625_write_and_or(ctx, ctx->i2c.tx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
1936
ret |= anx7625_write_or(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
195
ret |= anx7625_reg_write(ctx, ctx->i2c.tx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
204
return anx7625_reg_read(ctx, ctx->i2c.rx_p0_client, AP_AUX_CTRL_STATUS);
drivers/gpu/drm/bridge/analogix/anx7625.c
2127
status = anx7625_reg_read(ctx, ctx->i2c.tx_p0_client, 0);
drivers/gpu/drm/bridge/analogix/anx7625.c
223
val = anx7625_reg_read(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
2513
ctx->i2c.tx_p0_client = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/gpu/drm/bridge/analogix/anx7625.c
2515
if (IS_ERR(ctx->i2c.tx_p0_client))
drivers/gpu/drm/bridge/analogix/anx7625.c
2516
return PTR_ERR(ctx->i2c.tx_p0_client);
drivers/gpu/drm/bridge/analogix/anx7625.c
2518
ctx->i2c.tx_p1_client = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/gpu/drm/bridge/analogix/anx7625.c
2520
if (IS_ERR(ctx->i2c.tx_p1_client))
drivers/gpu/drm/bridge/analogix/anx7625.c
2521
return PTR_ERR(ctx->i2c.tx_p1_client);
drivers/gpu/drm/bridge/analogix/anx7625.c
2523
ctx->i2c.tx_p2_client = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/gpu/drm/bridge/analogix/anx7625.c
2525
if (IS_ERR(ctx->i2c.tx_p2_client))
drivers/gpu/drm/bridge/analogix/anx7625.c
2526
return PTR_ERR(ctx->i2c.tx_p2_client);
drivers/gpu/drm/bridge/analogix/anx7625.c
2528
ctx->i2c.rx_p0_client = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/gpu/drm/bridge/analogix/anx7625.c
2530
if (IS_ERR(ctx->i2c.rx_p0_client))
drivers/gpu/drm/bridge/analogix/anx7625.c
2531
return PTR_ERR(ctx->i2c.rx_p0_client);
drivers/gpu/drm/bridge/analogix/anx7625.c
2533
ctx->i2c.rx_p1_client = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/gpu/drm/bridge/analogix/anx7625.c
2535
if (IS_ERR(ctx->i2c.rx_p1_client))
drivers/gpu/drm/bridge/analogix/anx7625.c
2536
return PTR_ERR(ctx->i2c.rx_p1_client);
drivers/gpu/drm/bridge/analogix/anx7625.c
2538
ctx->i2c.rx_p2_client = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/gpu/drm/bridge/analogix/anx7625.c
2540
if (IS_ERR(ctx->i2c.rx_p2_client))
drivers/gpu/drm/bridge/analogix/anx7625.c
2541
return PTR_ERR(ctx->i2c.rx_p2_client);
drivers/gpu/drm/bridge/analogix/anx7625.c
2543
ctx->i2c.tcpc_client = devm_i2c_new_dummy_device(dev, client->adapter,
drivers/gpu/drm/bridge/analogix/anx7625.c
2545
if (IS_ERR(ctx->i2c.tcpc_client))
drivers/gpu/drm/bridge/analogix/anx7625.c
2546
return PTR_ERR(ctx->i2c.tcpc_client);
drivers/gpu/drm/bridge/analogix/anx7625.c
259
ret = anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
263
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
265
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
267
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
271
ret |= anx7625_reg_block_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
274
ret |= anx7625_write_or(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
2799
MODULE_DEVICE_TABLE(i2c, anx7625_id);
drivers/gpu/drm/bridge/analogix/anx7625.c
293
ret = anx7625_reg_block_read(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
310
ret = anx7625_write_or(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
313
ret |= anx7625_write_and(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
317
ret = anx7625_write_and(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
320
ret |= anx7625_write_or(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
432
ret = anx7625_write_and(ctx, ctx->i2c.rx_p1_client, MIPI_DIGITAL_PLL_16,
drivers/gpu/drm/bridge/analogix/anx7625.c
434
ret |= anx7625_write_or(ctx, ctx->i2c.rx_p1_client, MIPI_DIGITAL_PLL_16,
drivers/gpu/drm/bridge/analogix/anx7625.c
437
ret |= anx7625_write_and(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
439
ret |= anx7625_write_or(ctx, ctx->i2c.rx_p1_client, MIPI_DIGITAL_PLL_8,
drivers/gpu/drm/bridge/analogix/anx7625.c
443
ret |= anx7625_write_and(ctx, ctx->i2c.rx_p1_client, MIPI_DIGITAL_PLL_7,
drivers/gpu/drm/bridge/analogix/anx7625.c
447
ret |= anx7625_write_and(ctx, ctx->i2c.rx_p1_client, MIPI_DIGITAL_PLL_7,
drivers/gpu/drm/bridge/analogix/anx7625.c
449
ret |= anx7625_write_or(ctx, ctx->i2c.rx_p1_client, MIPI_DIGITAL_PLL_7,
drivers/gpu/drm/bridge/analogix/anx7625.c
472
return anx7625_reg_write(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
475
return anx7625_reg_write(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
499
ret = anx7625_reg_write(ctx, ctx->i2c.rx_p0_client, PIXEL_CLOCK_L,
drivers/gpu/drm/bridge/analogix/anx7625.c
501
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client, PIXEL_CLOCK_H,
drivers/gpu/drm/bridge/analogix/anx7625.c
504
ret |= anx7625_write_and(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
506
ret |= anx7625_write_or(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
512
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
514
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
517
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
519
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
522
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
524
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
528
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
530
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
533
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
535
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
538
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p2_client, ACTIVE_LINES_L,
drivers/gpu/drm/bridge/analogix/anx7625.c
540
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p2_client, ACTIVE_LINES_H,
drivers/gpu/drm/bridge/analogix/anx7625.c
543
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
546
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
549
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
552
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
554
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
556
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
559
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
561
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
563
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p1_client, MIPI_PLL_N_NUM_7_0,
drivers/gpu/drm/bridge/analogix/anx7625.c
58
if (client == ctx->i2c.tcpc_client)
drivers/gpu/drm/bridge/analogix/anx7625.c
582
val = anx7625_reg_read(ctx, ctx->i2c.rx_p1_client, MIPI_SWAP);
drivers/gpu/drm/bridge/analogix/anx7625.c
589
return anx7625_reg_write(ctx, ctx->i2c.rx_p1_client, MIPI_SWAP, val);
drivers/gpu/drm/bridge/analogix/anx7625.c
60
else if (client == ctx->i2c.tx_p0_client)
drivers/gpu/drm/bridge/analogix/anx7625.c
614
ret = anx7625_reg_write(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
62
else if (client == ctx->i2c.tx_p1_client)
drivers/gpu/drm/bridge/analogix/anx7625.c
624
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
628
ret |= anx7625_write_or(ctx, ctx->i2c.rx_p1_client, MIPI_DIGITAL_PLL_18,
drivers/gpu/drm/bridge/analogix/anx7625.c
638
ret = anx7625_write_and(ctx, ctx->i2c.rx_p1_client, MIPI_DIGITAL_PLL_6,
drivers/gpu/drm/bridge/analogix/anx7625.c
64
else if (client == ctx->i2c.rx_p0_client)
drivers/gpu/drm/bridge/analogix/anx7625.c
641
ret |= anx7625_write_or(ctx, ctx->i2c.rx_p1_client, MIPI_DIGITAL_PLL_6,
drivers/gpu/drm/bridge/analogix/anx7625.c
645
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
648
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
650
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
66
else if (client == ctx->i2c.rx_p1_client)
drivers/gpu/drm/bridge/analogix/anx7625.c
667
ret = anx7625_write_and(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
678
ret = anx7625_write_or(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
681
ret |= anx7625_write_and(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
698
ret = anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
700
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
705
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
708
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
711
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p1_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
714
ret |= anx7625_reg_write(ctx, ctx->i2c.tx_p2_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
730
ret = anx7625_write_and(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
750
ret = anx7625_write_or(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
753
ret |= anx7625_write_and(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
763
return anx7625_reg_read(ctx, ctx->i2c.rx_p0_client, R_RAM_CTRL);
drivers/gpu/drm/bridge/analogix/anx7625.c
772
ret = anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
774
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
781
ret = anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
783
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
790
ret = anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
802
ret = anx7625_reg_block_read(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
822
ret = anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
824
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
826
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
828
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
830
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
833
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
835
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
838
ret |= anx7625_reg_write(ctx, ctx->i2c.rx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
852
ret = anx7625_write_and(ctx, ctx->i2c.rx_p1_client, 0xee, 0x9f);
drivers/gpu/drm/bridge/analogix/anx7625.c
854
ret |= anx7625_write_or(ctx, ctx->i2c.rx_p1_client, 0xec, 0x10);
drivers/gpu/drm/bridge/analogix/anx7625.c
856
ret |= anx7625_write_or(ctx, ctx->i2c.rx_p1_client, 0xff, 0x01);
drivers/gpu/drm/bridge/analogix/anx7625.c
860
return anx7625_write_and(ctx, ctx->i2c.tx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
889
ret = anx7625_reg_write(ctx, ctx->i2c.tx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
894
ret |= anx7625_reg_write(ctx, ctx->i2c.tx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
899
ret |= anx7625_reg_write(ctx, ctx->i2c.tx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
902
ret |= anx7625_reg_write(ctx, ctx->i2c.tx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
910
ret = anx7625_write_or(ctx, ctx->i2c.rx_p1_client, 0xee, 0x20);
drivers/gpu/drm/bridge/analogix/anx7625.c
913
ret |= anx7625_write_or(ctx, ctx->i2c.rx_p1_client, 0xec, 0x10);
drivers/gpu/drm/bridge/analogix/anx7625.c
915
ret |= anx7625_write_or(ctx, ctx->i2c.rx_p1_client, 0xff, 0x01);
drivers/gpu/drm/bridge/analogix/anx7625.c
919
return anx7625_write_or(ctx, ctx->i2c.tx_p0_client,
drivers/gpu/drm/bridge/analogix/anx7625.c
942
anx7625_write_and(ctx, ctx->i2c.rx_p1_client, 0xee, 0x9f);
drivers/gpu/drm/bridge/analogix/anx7625.c
969
ret = anx7625_write_and(ctx, ctx->i2c.tx_p0_client, 0x87, 0xfe);
drivers/gpu/drm/bridge/analogix/anx7625.c
970
ret |= anx7625_write_and(ctx, ctx->i2c.tx_p2_client, 0x08, 0x7f);
drivers/gpu/drm/bridge/analogix/anx7625.c
990
ret = anx7625_write_or(ctx, ctx->i2c.tx_p2_client, RST_CTRL2,
drivers/gpu/drm/bridge/analogix/anx7625.c
992
ret |= anx7625_write_and(ctx, ctx->i2c.tx_p2_client, RST_CTRL2,
drivers/gpu/drm/bridge/analogix/anx7625.h
460
struct anx7625_i2c_client i2c;
drivers/gpu/drm/bridge/chipone-icn6211.c
793
MODULE_DEVICE_TABLE(i2c, chipone_i2c_id);
drivers/gpu/drm/bridge/chrontel-ch7033.c
604
MODULE_DEVICE_TABLE(i2c, ch7033_ids);
drivers/gpu/drm/bridge/inno-hdmi.c
1018
mutex_unlock(&i2c->lock);
drivers/gpu/drm/bridge/inno-hdmi.c
1036
struct inno_hdmi_i2c *i2c;
drivers/gpu/drm/bridge/inno-hdmi.c
1039
i2c = devm_kzalloc(hdmi->dev, sizeof(*i2c), GFP_KERNEL);
drivers/gpu/drm/bridge/inno-hdmi.c
1040
if (!i2c)
drivers/gpu/drm/bridge/inno-hdmi.c
1043
mutex_init(&i2c->lock);
drivers/gpu/drm/bridge/inno-hdmi.c
1044
init_completion(&i2c->cmp);
drivers/gpu/drm/bridge/inno-hdmi.c
1046
adap = &i2c->adap;
drivers/gpu/drm/bridge/inno-hdmi.c
1060
hdmi->i2c = i2c;
drivers/gpu/drm/bridge/inno-hdmi.c
405
struct inno_hdmi_i2c *i2c;
drivers/gpu/drm/bridge/inno-hdmi.c
898
struct inno_hdmi_i2c *i2c = hdmi->i2c;
drivers/gpu/drm/bridge/inno-hdmi.c
908
complete(&i2c->cmp);
drivers/gpu/drm/bridge/inno-hdmi.c
919
if (hdmi->i2c)
drivers/gpu/drm/bridge/inno-hdmi.c
946
ret = wait_for_completion_timeout(&hdmi->i2c->cmp, HZ / 10);
drivers/gpu/drm/bridge/inno-hdmi.c
966
reinit_completion(&hdmi->i2c->cmp);
drivers/gpu/drm/bridge/inno-hdmi.c
969
hdmi->i2c->segment_addr = msgs->buf[0];
drivers/gpu/drm/bridge/inno-hdmi.c
971
hdmi->i2c->ddc_addr = msgs->buf[0];
drivers/gpu/drm/bridge/inno-hdmi.c
977
hdmi_writeb(hdmi, HDMI_EDID_WORD_ADDR, hdmi->i2c->ddc_addr);
drivers/gpu/drm/bridge/inno-hdmi.c
980
hdmi_writeb(hdmi, HDMI_EDID_SEGMENT_POINTER, hdmi->i2c->segment_addr);
drivers/gpu/drm/bridge/inno-hdmi.c
989
struct inno_hdmi_i2c *i2c = hdmi->i2c;
drivers/gpu/drm/bridge/inno-hdmi.c
992
mutex_lock(&i2c->lock);
drivers/gpu/drm/bridge/ite-it6263.c
919
MODULE_DEVICE_TABLE(i2c, it6263_i2c_ids);
drivers/gpu/drm/bridge/ite-it6505.c
3659
MODULE_DEVICE_TABLE(i2c, it6505_id);
drivers/gpu/drm/bridge/ite-it66121.c
1636
MODULE_DEVICE_TABLE(i2c, it66121_id);
drivers/gpu/drm/bridge/lontium-lt8912b.c
821
MODULE_DEVICE_TABLE(i2c, lt8912_id);
drivers/gpu/drm/bridge/lontium-lt9211.c
778
MODULE_DEVICE_TABLE(i2c, lt9211_id);
drivers/gpu/drm/bridge/lontium-lt9611.c
1214
MODULE_DEVICE_TABLE(i2c, lt9611_id);
drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
316
MODULE_DEVICE_TABLE(i2c, stdp4028_ge_b850v3_fw_i2c_table);
drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
363
MODULE_DEVICE_TABLE(i2c, stdp2690_ge_b850v3_fw_i2c_table);
drivers/gpu/drm/bridge/nxp-ptn3460.c
324
MODULE_DEVICE_TABLE(i2c, ptn3460_i2c_table);
drivers/gpu/drm/bridge/parade-ps8622.c
536
MODULE_DEVICE_TABLE(i2c, ps8622_i2c_table);
drivers/gpu/drm/bridge/sii902x.c
1011
struct device *dev = &sii902x->i2c->dev;
drivers/gpu/drm/bridge/sii902x.c
1031
ret = sii902x_read_unlocked(sii902x->i2c, SII902X_SYS_CTRL_DATA,
drivers/gpu/drm/bridge/sii902x.c
1040
ret = sii902x_update_bits_unlocked(sii902x->i2c, SII902X_SYS_CTRL_DATA,
drivers/gpu/drm/bridge/sii902x.c
1049
ret = sii902x_read_unlocked(sii902x->i2c, SII902X_SYS_CTRL_DATA,
drivers/gpu/drm/bridge/sii902x.c
1074
struct device *dev = &sii902x->i2c->dev;
drivers/gpu/drm/bridge/sii902x.c
1102
if (sii902x->i2c->irq > 0) {
drivers/gpu/drm/bridge/sii902x.c
1106
ret = devm_request_threaded_irq(dev, sii902x->i2c->irq, NULL,
drivers/gpu/drm/bridge/sii902x.c
1118
i2c_set_clientdata(sii902x->i2c, sii902x);
drivers/gpu/drm/bridge/sii902x.c
1120
sii902x->i2cmux = i2c_mux_alloc(sii902x->i2c->adapter, dev,
drivers/gpu/drm/bridge/sii902x.c
1139
if (sii902x->i2c->irq > 0)
drivers/gpu/drm/bridge/sii902x.c
1172
sii902x->i2c = client;
drivers/gpu/drm/bridge/sii902x.c
1243
MODULE_DEVICE_TABLE(i2c, sii902x_i2c_ids);
drivers/gpu/drm/bridge/sii902x.c
175
struct i2c_client *i2c;
drivers/gpu/drm/bridge/sii902x.c
195
static int sii902x_read_unlocked(struct i2c_client *i2c, u8 reg, u8 *val)
drivers/gpu/drm/bridge/sii902x.c
200
ret = __i2c_smbus_xfer(i2c->adapter, i2c->addr, i2c->flags,
drivers/gpu/drm/bridge/sii902x.c
210
static int sii902x_write_unlocked(struct i2c_client *i2c, u8 reg, u8 val)
drivers/gpu/drm/bridge/sii902x.c
216
return __i2c_smbus_xfer(i2c->adapter, i2c->addr, i2c->flags,
drivers/gpu/drm/bridge/sii902x.c
221
static int sii902x_update_bits_unlocked(struct i2c_client *i2c, u8 reg, u8 mask,
drivers/gpu/drm/bridge/sii902x.c
227
ret = sii902x_read_unlocked(i2c, reg, &status);
drivers/gpu/drm/bridge/sii902x.c
232
return sii902x_write_unlocked(i2c, reg, status);
drivers/gpu/drm/bridge/sii902x.c
430
dev_err(&sii902x->i2c->dev,
drivers/gpu/drm/bridge/sii902x.c
441
if (sii902x->i2c->irq > 0)
drivers/gpu/drm/bridge/sii902x.c
557
struct device *dev = &sii902x->i2c->dev;
drivers/gpu/drm/bridge/sii902x.c
966
struct device *dev = &sii902x->i2c->dev;
drivers/gpu/drm/bridge/sii902x.c
971
ret = sii902x_update_bits_unlocked(sii902x->i2c, SII902X_SYS_CTRL_DATA,
drivers/gpu/drm/bridge/sii902x.c
980
ret = sii902x_read_unlocked(sii902x->i2c, SII902X_SYS_CTRL_DATA,
drivers/gpu/drm/bridge/sii902x.c
992
return sii902x_write_unlocked(sii902x->i2c, SII902X_SYS_CTRL_DATA,
drivers/gpu/drm/bridge/sii9234.c
951
MODULE_DEVICE_TABLE(i2c, sii9234_id);
drivers/gpu/drm/bridge/sil-sii8620.c
2376
MODULE_DEVICE_TABLE(i2c, sii8620_id);
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
1244
struct dw_hdmi_qp_i2c *i2c = hdmi->i2c;
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
1249
i2c->stat = stat & (I2CM_OP_DONE_IRQ | I2CM_READ_REQUEST_IRQ |
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
1252
if (i2c->stat) {
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
1253
dw_hdmi_qp_write(hdmi, i2c->stat, MAINUNIT_1_INT_CLEAR);
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
1254
complete(&i2c->cmp);
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
154
struct dw_hdmi_qp_i2c *i2c;
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
537
struct dw_hdmi_qp_i2c *i2c = hdmi->i2c;
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
540
if (!i2c->is_regaddr) {
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
542
i2c->slave_reg = 0x00;
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
543
i2c->is_regaddr = true;
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
547
reinit_completion(&i2c->cmp);
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
549
dw_hdmi_qp_mod(hdmi, i2c->slave_reg++ << 12, I2CM_ADDR,
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
552
if (i2c->is_segment)
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
559
stat = wait_for_completion_timeout(&i2c->cmp, HZ / 10);
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
571
if (i2c->stat & I2CM_NACK_RCVD_IRQ) {
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
585
i2c->is_segment = false;
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
593
struct dw_hdmi_qp_i2c *i2c = hdmi->i2c;
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
596
if (!i2c->is_regaddr) {
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
598
i2c->slave_reg = buf[0];
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
601
i2c->is_regaddr = true;
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
605
reinit_completion(&i2c->cmp);
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
608
dw_hdmi_qp_mod(hdmi, i2c->slave_reg++ << 12, I2CM_ADDR,
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
613
stat = wait_for_completion_timeout(&i2c->cmp, HZ / 10);
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
621
if (i2c->stat & I2CM_NACK_RCVD_IRQ) {
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
637
struct dw_hdmi_qp_i2c *i2c = hdmi->i2c;
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
659
guard(mutex)(&i2c->lock);
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
673
i2c->is_regaddr = false;
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
676
i2c->is_segment = false;
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
680
i2c->is_segment = true;
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
719
struct dw_hdmi_qp_i2c *i2c;
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
723
i2c = devm_kzalloc(hdmi->dev, sizeof(*i2c), GFP_KERNEL);
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
724
if (!i2c)
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
727
mutex_init(&i2c->lock);
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
728
init_completion(&i2c->cmp);
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
730
adap = &i2c->adap;
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
741
devm_kfree(hdmi->dev, i2c);
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
745
hdmi->i2c = i2c;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
141
struct dw_hdmi_i2c *i2c;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
3035
struct dw_hdmi_i2c *i2c = hdmi->i2c;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
3044
i2c->stat = stat;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
3046
complete(&i2c->cmp);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
3057
if (hdmi->i2c)
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
340
struct dw_hdmi_i2c *i2c = hdmi->i2c;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
343
stat = wait_for_completion_timeout(&i2c->cmp, HZ / 10);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
350
stat = wait_for_completion_timeout(&i2c->cmp, HZ / 10);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
356
if (i2c->stat & HDMI_IH_I2CM_STAT0_ERROR)
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
3619
if (hdmi->i2c)
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
3620
i2c_del_adapter(&hdmi->i2c->adap);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
365
struct dw_hdmi_i2c *i2c = hdmi->i2c;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
368
if (!i2c->is_regaddr) {
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
370
i2c->slave_reg = 0x00;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
371
i2c->is_regaddr = true;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
375
reinit_completion(&i2c->cmp);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
377
hdmi_writeb(hdmi, i2c->slave_reg++, HDMI_I2CM_ADDRESS);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
378
if (i2c->is_segment)
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
391
i2c->is_segment = false;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
399
struct dw_hdmi_i2c *i2c = hdmi->i2c;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
402
if (!i2c->is_regaddr) {
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
404
i2c->slave_reg = buf[0];
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
407
i2c->is_regaddr = true;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
411
reinit_completion(&i2c->cmp);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
414
hdmi_writeb(hdmi, i2c->slave_reg++, HDMI_I2CM_ADDRESS);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
430
struct dw_hdmi_i2c *i2c = hdmi->i2c;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
454
mutex_lock(&i2c->lock);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
463
i2c->is_regaddr = false;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
466
i2c->is_segment = false;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
472
i2c->is_segment = true;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
494
mutex_unlock(&i2c->lock);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
512
struct dw_hdmi_i2c *i2c;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
515
i2c = devm_kzalloc(hdmi->dev, sizeof(*i2c), GFP_KERNEL);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
516
if (!i2c)
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
519
mutex_init(&i2c->lock);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
520
init_completion(&i2c->cmp);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
522
adap = &i2c->adap;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
532
devm_kfree(hdmi->dev, i2c);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
536
hdmi->i2c = i2c;
drivers/gpu/drm/bridge/tc358767.c
2617
MODULE_DEVICE_TABLE(i2c, tc358767_i2c_ids);
drivers/gpu/drm/bridge/tc358768.c
1256
MODULE_DEVICE_TABLE(i2c, tc358768_i2c_ids);
drivers/gpu/drm/bridge/tc358775.c
264
struct i2c_client *i2c;
drivers/gpu/drm/bridge/tc358775.c
337
static void d2l_read(struct i2c_client *i2c, u16 addr, u32 *val)
drivers/gpu/drm/bridge/tc358775.c
343
ret = i2c_master_send(i2c, buf_addr, sizeof(buf_addr));
drivers/gpu/drm/bridge/tc358775.c
347
ret = i2c_master_recv(i2c, (u8 *)val, sizeof(*val));
drivers/gpu/drm/bridge/tc358775.c
355
dev_err(&i2c->dev, "Error %d reading from subaddress 0x%x\n",
drivers/gpu/drm/bridge/tc358775.c
359
static void d2l_write(struct i2c_client *i2c, u16 addr, u32 val)
drivers/gpu/drm/bridge/tc358775.c
367
ret = i2c_master_send(i2c, data, ARRAY_SIZE(data));
drivers/gpu/drm/bridge/tc358775.c
369
dev_err(&i2c->dev, "Error %d writing to subaddress 0x%x\n",
drivers/gpu/drm/bridge/tc358775.c
405
d2l_read(tc->i2c, IDREG, &val);
drivers/gpu/drm/bridge/tc358775.c
410
d2l_write(tc->i2c, SYSRST, SYS_RST_REG | SYS_RST_DSIRX | SYS_RST_BM |
drivers/gpu/drm/bridge/tc358775.c
414
d2l_write(tc->i2c, PPI_TX_RX_TA, TTA_GET | TTA_SURE);
drivers/gpu/drm/bridge/tc358775.c
415
d2l_write(tc->i2c, PPI_LPTXTIMECNT, LPX_PERIOD);
drivers/gpu/drm/bridge/tc358775.c
416
d2l_write(tc->i2c, PPI_D0S_CLRSIPOCOUNT, 3);
drivers/gpu/drm/bridge/tc358775.c
417
d2l_write(tc->i2c, PPI_D1S_CLRSIPOCOUNT, 3);
drivers/gpu/drm/bridge/tc358775.c
418
d2l_write(tc->i2c, PPI_D2S_CLRSIPOCOUNT, 3);
drivers/gpu/drm/bridge/tc358775.c
419
d2l_write(tc->i2c, PPI_D3S_CLRSIPOCOUNT, 3);
drivers/gpu/drm/bridge/tc358775.c
422
d2l_write(tc->i2c, PPI_LANEENABLE, val);
drivers/gpu/drm/bridge/tc358775.c
423
d2l_write(tc->i2c, DSI_LANEENABLE, val);
drivers/gpu/drm/bridge/tc358775.c
425
d2l_write(tc->i2c, PPI_STARTPPI, PPI_START_FUNCTION);
drivers/gpu/drm/bridge/tc358775.c
426
d2l_write(tc->i2c, DSI_STARTDSI, DSI_RX_START);
drivers/gpu/drm/bridge/tc358775.c
450
d2l_write(tc->i2c, VPCTRL, val);
drivers/gpu/drm/bridge/tc358775.c
452
d2l_write(tc->i2c, HTIM1, htime1);
drivers/gpu/drm/bridge/tc358775.c
453
d2l_write(tc->i2c, VTIM1, vtime1);
drivers/gpu/drm/bridge/tc358775.c
454
d2l_write(tc->i2c, HTIM2, htime2);
drivers/gpu/drm/bridge/tc358775.c
455
d2l_write(tc->i2c, VTIM2, vtime2);
drivers/gpu/drm/bridge/tc358775.c
457
d2l_write(tc->i2c, VFUEN, VFUEN_EN);
drivers/gpu/drm/bridge/tc358775.c
458
d2l_write(tc->i2c, SYSRST, SYS_RST_LCD);
drivers/gpu/drm/bridge/tc358775.c
459
d2l_write(tc->i2c, LVPHY0, LV_PHY0_PRBS_ON(4) | LV_PHY0_ND(6));
drivers/gpu/drm/bridge/tc358775.c
467
d2l_write(tc->i2c, LV_MX0003, LV_MX(LVI_R0, LVI_R1, LVI_R2, LVI_R3));
drivers/gpu/drm/bridge/tc358775.c
468
d2l_write(tc->i2c, LV_MX0407, LV_MX(LVI_R4, LVI_R7, LVI_R5, LVI_G0));
drivers/gpu/drm/bridge/tc358775.c
469
d2l_write(tc->i2c, LV_MX0811, LV_MX(LVI_G1, LVI_G2, LVI_G6, LVI_G7));
drivers/gpu/drm/bridge/tc358775.c
470
d2l_write(tc->i2c, LV_MX1215, LV_MX(LVI_G3, LVI_G4, LVI_G5, LVI_B0));
drivers/gpu/drm/bridge/tc358775.c
471
d2l_write(tc->i2c, LV_MX1619, LV_MX(LVI_B6, LVI_B7, LVI_B1, LVI_B2));
drivers/gpu/drm/bridge/tc358775.c
472
d2l_write(tc->i2c, LV_MX2023, LV_MX(LVI_B3, LVI_B4, LVI_B5, LVI_L0));
drivers/gpu/drm/bridge/tc358775.c
473
d2l_write(tc->i2c, LV_MX2427, LV_MX(LVI_HS, LVI_VS, LVI_DE, LVI_R6));
drivers/gpu/drm/bridge/tc358775.c
476
d2l_write(tc->i2c, LV_MX0003, LV_MX(LVI_R2, LVI_R3, LVI_R4, LVI_R5));
drivers/gpu/drm/bridge/tc358775.c
477
d2l_write(tc->i2c, LV_MX0407, LV_MX(LVI_R6, LVI_R1, LVI_R7, LVI_G2));
drivers/gpu/drm/bridge/tc358775.c
478
d2l_write(tc->i2c, LV_MX0811, LV_MX(LVI_G3, LVI_G4, LVI_G0, LVI_G1));
drivers/gpu/drm/bridge/tc358775.c
479
d2l_write(tc->i2c, LV_MX1215, LV_MX(LVI_G5, LVI_G6, LVI_G7, LVI_B2));
drivers/gpu/drm/bridge/tc358775.c
480
d2l_write(tc->i2c, LV_MX1619, LV_MX(LVI_B0, LVI_B1, LVI_B3, LVI_B4));
drivers/gpu/drm/bridge/tc358775.c
481
d2l_write(tc->i2c, LV_MX2023, LV_MX(LVI_B5, LVI_B6, LVI_B7, LVI_L0));
drivers/gpu/drm/bridge/tc358775.c
482
d2l_write(tc->i2c, LV_MX2427, LV_MX(LVI_HS, LVI_VS, LVI_DE, LVI_R0));
drivers/gpu/drm/bridge/tc358775.c
485
d2l_write(tc->i2c, VFUEN, VFUEN_EN);
drivers/gpu/drm/bridge/tc358775.c
494
d2l_write(tc->i2c, LVCFG, val);
drivers/gpu/drm/bridge/tc358775.c
608
struct device *dev = &tc->i2c->dev;
drivers/gpu/drm/bridge/tc358775.c
668
tc->i2c = client;
drivers/gpu/drm/bridge/tc358775.c
734
MODULE_DEVICE_TABLE(i2c, tc358775_i2c_ids);
drivers/gpu/drm/bridge/tda998x_drv.c
2060
MODULE_DEVICE_TABLE(i2c, tda998x_ids);
drivers/gpu/drm/bridge/ti-dlpc3433.c
395
MODULE_DEVICE_TABLE(i2c, dlpc3433_id);
drivers/gpu/drm/bridge/ti-sn65dsi83.c
1070
MODULE_DEVICE_TABLE(i2c, sn65dsi83_id);
drivers/gpu/drm/bridge/ti-sn65dsi86.c
2124
MODULE_DEVICE_TABLE(i2c, ti_sn65dsi86_id);
drivers/gpu/drm/bridge/ti-tfp410.c
262
static int tfp410_parse_timings(struct tfp410 *dvi, bool i2c)
drivers/gpu/drm/bridge/ti-tfp410.c
273
if (i2c)
drivers/gpu/drm/bridge/ti-tfp410.c
332
static int tfp410_init(struct device *dev, bool i2c)
drivers/gpu/drm/bridge/ti-tfp410.c
355
ret = tfp410_parse_timings(dvi, i2c);
drivers/gpu/drm/bridge/ti-tfp410.c
441
MODULE_DEVICE_TABLE(i2c, tfp410_i2c_ids);
drivers/gpu/drm/bridge/ti-tfp410.c
455
uint i2c:1;
drivers/gpu/drm/bridge/ti-tfp410.c
469
tfp410_registered_driver.i2c = 1;
drivers/gpu/drm/bridge/ti-tfp410.c
479
if (tfp410_registered_driver.i2c ||
drivers/gpu/drm/bridge/ti-tfp410.c
490
if (tfp410_registered_driver.i2c)
drivers/gpu/drm/bridge/waveshare-dsi.c
142
static int ws_bridge_probe(struct i2c_client *i2c)
drivers/gpu/drm/bridge/waveshare-dsi.c
144
struct device *dev = &i2c->dev;
drivers/gpu/drm/bridge/waveshare-dsi.c
155
ws->reg_map = devm_regmap_init_i2c(i2c, &ws_regmap_config);
drivers/gpu/drm/display/drm_dp_helper.c
2233
static struct drm_dp_aux *i2c_to_aux(struct i2c_adapter *i2c)
drivers/gpu/drm/display/drm_dp_helper.c
2235
return container_of(i2c, struct drm_dp_aux, ddc);
drivers/gpu/drm/display/drm_dp_helper.c
2238
static void lock_bus(struct i2c_adapter *i2c, unsigned int flags)
drivers/gpu/drm/display/drm_dp_helper.c
2240
mutex_lock(&i2c_to_aux(i2c)->hw_mutex);
drivers/gpu/drm/display/drm_dp_helper.c
2243
static int trylock_bus(struct i2c_adapter *i2c, unsigned int flags)
drivers/gpu/drm/display/drm_dp_helper.c
2245
return mutex_trylock(&i2c_to_aux(i2c)->hw_mutex);
drivers/gpu/drm/display/drm_dp_helper.c
2248
static void unlock_bus(struct i2c_adapter *i2c, unsigned int flags)
drivers/gpu/drm/display/drm_dp_helper.c
2250
mutex_unlock(&i2c_to_aux(i2c)->hw_mutex);
drivers/gpu/drm/gma500/intel_gmbus.c
65
to_intel_gmbus(struct i2c_adapter *i2c)
drivers/gpu/drm/gma500/intel_gmbus.c
67
return container_of(i2c, struct intel_gmbus, adapter);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1520
psb_intel_ddc_get_modes(connector, psb_intel_sdvo->i2c);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1889
sdvo->i2c = &dev_priv->gmbus[pin].adapter;
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1890
gma_intel_gmbus_set_speed(sdvo->i2c, speed);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1891
gma_intel_gmbus_force_bit(sdvo->i2c, true);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
1893
sdvo->i2c = &dev_priv->gmbus[GMBUS_PORT_DPB].adapter;
drivers/gpu/drm/gma500/psb_intel_sdvo.c
2411
return sdvo->i2c->algo->master_xfer(sdvo->i2c, msgs, num);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
2417
return sdvo->i2c->algo->functionality(sdvo->i2c);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
277
if ((ret = i2c_transfer(psb_intel_sdvo->i2c, msgs, 2)) == 2)
drivers/gpu/drm/gma500/psb_intel_sdvo.c
493
ret = i2c_transfer(psb_intel_sdvo->i2c, msgs, i+3);
drivers/gpu/drm/gma500/psb_intel_sdvo.c
73
struct i2c_adapter *i2c;
drivers/gpu/drm/i915/display/intel_dvo.c
421
struct i2c_adapter *i2c;
drivers/gpu/drm/i915/display/intel_dvo.c
444
i2c = intel_gmbus_get_adapter(display, gpio);
drivers/gpu/drm/i915/display/intel_dvo.c
452
intel_gmbus_force_bit(i2c, true);
drivers/gpu/drm/i915/display/intel_dvo.c
464
ret = dvo->dev_ops->init(&intel_dvo->dev, i2c);
drivers/gpu/drm/i915/display/intel_dvo.c
471
intel_gmbus_force_bit(i2c, false);
drivers/gpu/drm/i915/display/intel_gmbus.c
206
to_intel_gmbus(struct i2c_adapter *i2c)
drivers/gpu/drm/i915/display/intel_gmbus.c
208
return container_of(i2c, struct intel_gmbus, adapter);
drivers/gpu/drm/i915/display/intel_sdvo.c
2660
sdvo->i2c = intel_gmbus_get_adapter(display, pin);
drivers/gpu/drm/i915/display/intel_sdvo.c
2667
intel_gmbus_force_bit(sdvo->i2c, true);
drivers/gpu/drm/i915/display/intel_sdvo.c
2674
intel_gmbus_force_bit(sdvo->i2c, false);
drivers/gpu/drm/i915/display/intel_sdvo.c
272
if ((ret = i2c_transfer(intel_sdvo->i2c, msgs, 2)) == 2)
drivers/gpu/drm/i915/display/intel_sdvo.c
3295
return sdvo->i2c->algo->master_xfer(sdvo->i2c, msgs, num);
drivers/gpu/drm/i915/display/intel_sdvo.c
3303
return sdvo->i2c->algo->functionality(sdvo->i2c);
drivers/gpu/drm/i915/display/intel_sdvo.c
3317
sdvo->i2c->lock_ops->lock_bus(sdvo->i2c, flags);
drivers/gpu/drm/i915/display/intel_sdvo.c
3326
return sdvo->i2c->lock_ops->trylock_bus(sdvo->i2c, flags);
drivers/gpu/drm/i915/display/intel_sdvo.c
3335
sdvo->i2c->lock_ops->unlock_bus(sdvo->i2c, flags);
drivers/gpu/drm/i915/display/intel_sdvo.c
513
ret = i2c_transfer(intel_sdvo->i2c, msgs, i+3);
drivers/gpu/drm/i915/display/intel_sdvo.c
515
ret = __i2c_transfer(intel_sdvo->i2c, msgs, i+3);
drivers/gpu/drm/i915/display/intel_sdvo.c
98
struct i2c_adapter *i2c;
drivers/gpu/drm/loongson/lsdc_i2c.c
74
static void lsdc_gpio_i2c_set_sda(void *i2c, int state)
drivers/gpu/drm/loongson/lsdc_i2c.c
76
struct lsdc_i2c * const li2c = (struct lsdc_i2c *)i2c;
drivers/gpu/drm/loongson/lsdc_i2c.c
81
static void lsdc_gpio_i2c_set_scl(void *i2c, int state)
drivers/gpu/drm/loongson/lsdc_i2c.c
83
struct lsdc_i2c * const li2c = (struct lsdc_i2c *)i2c;
drivers/gpu/drm/loongson/lsdc_i2c.c
88
static int lsdc_gpio_i2c_get_sda(void *i2c)
drivers/gpu/drm/loongson/lsdc_i2c.c
90
struct lsdc_i2c * const li2c = (struct lsdc_i2c *)i2c;
drivers/gpu/drm/loongson/lsdc_i2c.c
95
static int lsdc_gpio_i2c_get_scl(void *i2c)
drivers/gpu/drm/loongson/lsdc_i2c.c
97
struct lsdc_i2c * const li2c = (struct lsdc_i2c *)i2c;
drivers/gpu/drm/mgag200/mgag200_ddc.c
148
ddc->data = BIT(info->i2c.data_bit);
drivers/gpu/drm/mgag200/mgag200_ddc.c
149
ddc->clock = BIT(info->i2c.clock_bit);
drivers/gpu/drm/mgag200/mgag200_drv.h
226
} i2c;
drivers/gpu/drm/mgag200/mgag200_drv.h
243
.i2c = { \
drivers/gpu/drm/msm/hdmi/hdmi.c
132
hdmi->i2c = msm_hdmi_i2c_init(hdmi);
drivers/gpu/drm/msm/hdmi/hdmi.c
133
if (IS_ERR(hdmi->i2c)) {
drivers/gpu/drm/msm/hdmi/hdmi.c
134
ret = PTR_ERR(hdmi->i2c);
drivers/gpu/drm/msm/hdmi/hdmi.c
136
hdmi->i2c = NULL;
drivers/gpu/drm/msm/hdmi/hdmi.c
54
msm_hdmi_i2c_irq(hdmi->i2c);
drivers/gpu/drm/msm/hdmi/hdmi.c
75
if (hdmi->i2c)
drivers/gpu/drm/msm/hdmi/hdmi.c
76
msm_hdmi_i2c_destroy(hdmi->i2c);
drivers/gpu/drm/msm/hdmi/hdmi.h
226
void msm_hdmi_i2c_irq(struct i2c_adapter *i2c);
drivers/gpu/drm/msm/hdmi/hdmi.h
227
void msm_hdmi_i2c_destroy(struct i2c_adapter *i2c);
drivers/gpu/drm/msm/hdmi/hdmi.h
61
struct i2c_adapter *i2c;
drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
417
drm_edid = drm_edid_read_ddc(connector, hdmi->i2c);
drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
504
bridge->ddc = hdmi->i2c;
drivers/gpu/drm/msm/hdmi/hdmi_hdcp.c
141
rc = i2c_transfer(hdmi->i2c, msgs, 1);
drivers/gpu/drm/msm/hdmi/hdmi_hdcp.c
99
rc = i2c_transfer(hdmi->i2c, msgs, 2);
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
228
void msm_hdmi_i2c_irq(struct i2c_adapter *i2c)
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
230
struct hdmi_i2c_adapter *hdmi_i2c = to_hdmi_i2c_adapter(i2c);
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
236
void msm_hdmi_i2c_destroy(struct i2c_adapter *i2c)
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
238
struct hdmi_i2c_adapter *hdmi_i2c = to_hdmi_i2c_adapter(i2c);
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
239
i2c_del_adapter(i2c);
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
246
struct i2c_adapter *i2c = NULL;
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
255
i2c = &hdmi_i2c->base;
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
261
i2c->owner = THIS_MODULE;
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
262
snprintf(i2c->name, sizeof(i2c->name), "msm hdmi i2c");
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
263
i2c->dev.parent = &hdmi->pdev->dev;
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
264
i2c->algo = &msm_hdmi_i2c_algorithm;
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
266
ret = i2c_add_adapter(i2c);
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
270
return i2c;
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
273
if (i2c)
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
274
msm_hdmi_i2c_destroy(i2c);
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
89
static int msm_hdmi_i2c_xfer(struct i2c_adapter *i2c,
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c
92
struct hdmi_i2c_adapter *hdmi_i2c = to_hdmi_i2c_adapter(i2c);
drivers/gpu/drm/nouveau/dispnv04/dfp.c
630
struct nvkm_i2c *i2c = nvxx_i2c(drm);
drivers/gpu/drm/nouveau/dispnv04/dfp.c
631
struct nvkm_i2c_bus *bus = nvkm_i2c_bus_find(i2c, NVKM_I2C_BUS_PRI);
drivers/gpu/drm/nouveau/dispnv04/dfp.c
654
&bus->i2c, &info[type].dev);
drivers/gpu/drm/nouveau/dispnv04/disp.c
214
struct nvkm_i2c *i2c = nvxx_i2c(drm);
drivers/gpu/drm/nouveau/dispnv04/disp.c
293
nvkm_i2c_bus_find(i2c, nv_encoder->dcb->i2c_index);
drivers/gpu/drm/nouveau/dispnv04/disp.c
294
nv_encoder->i2c = bus ? &bus->i2c : NULL;
drivers/gpu/drm/nouveau/dispnv04/i2c/ch7006_drv.c
492
MODULE_DEVICE_TABLE(i2c, ch7006_ids);
drivers/gpu/drm/nouveau/dispnv04/i2c/sil164_drv.c
420
MODULE_DEVICE_TABLE(i2c, sil164_ids);
drivers/gpu/drm/nouveau/dispnv04/tvnv04.c
208
struct nvkm_i2c *i2c = nvxx_i2c(drm);
drivers/gpu/drm/nouveau/dispnv04/tvnv04.c
209
struct nvkm_i2c_bus *bus = nvkm_i2c_bus_find(i2c, entry->i2c_index);
drivers/gpu/drm/nouveau/dispnv04/tvnv04.c
239
&bus->i2c,
drivers/gpu/drm/nouveau/dispnv04/tvnv04.c
56
struct nvkm_i2c *i2c = nvxx_i2c(drm);
drivers/gpu/drm/nouveau/dispnv04/tvnv04.c
57
struct nvkm_i2c_bus *bus = nvkm_i2c_bus_find(i2c, i2c_index);
drivers/gpu/drm/nouveau/dispnv50/disp.c
1890
struct nvkm_i2c *i2c = nvxx_i2c(drm);
drivers/gpu/drm/nouveau/dispnv50/disp.c
1927
aux = nvkm_i2c_aux_find(i2c, dcbe->i2c_index);
drivers/gpu/drm/nouveau/dispnv50/disp.c
1931
nv_encoder->i2c = &aux->i2c;
drivers/gpu/drm/nouveau/dispnv50/disp.c
1933
nv_encoder->i2c = &nv_connector->aux.ddc;
drivers/gpu/drm/nouveau/dispnv50/disp.c
1946
nvkm_i2c_bus_find(i2c, dcbe->i2c_index);
drivers/gpu/drm/nouveau/dispnv50/disp.c
1948
nv_encoder->i2c = &bus->i2c;
drivers/gpu/drm/nouveau/dispnv50/disp.c
2057
struct nvkm_i2c *i2c = nvxx_i2c(drm);
drivers/gpu/drm/nouveau/dispnv50/disp.c
2067
bus = nvkm_i2c_bus_find(i2c, nv_encoder->outp.info.ddc);
drivers/gpu/drm/nouveau/dispnv50/disp.c
2068
ddc = bus ? &bus->i2c : NULL;
drivers/gpu/drm/nouveau/dispnv50/disp.c
2072
aux = nvkm_i2c_aux_find(i2c, nv_encoder->outp.info.dp.aux);
drivers/gpu/drm/nouveau/dispnv50/disp.c
2073
ddc = aux ? &aux->i2c : NULL;
drivers/gpu/drm/nouveau/dispnv50/disp.c
2080
nv_encoder->i2c = ddc;
drivers/gpu/drm/nouveau/dispnv50/disp.c
570
struct nvkm_i2c *i2c = nvxx_i2c(drm);
drivers/gpu/drm/nouveau/dispnv50/disp.c
576
bus = nvkm_i2c_bus_find(i2c, dcbe->i2c_index);
drivers/gpu/drm/nouveau/dispnv50/disp.c
578
nv_encoder->i2c = &bus->i2c;
drivers/gpu/drm/nouveau/dispnv50/disp.c
797
if (nv_encoder->i2c && hdmi->scdc.scrambling.supported) {
drivers/gpu/drm/nouveau/dispnv50/disp.c
801
ret = drm_scdc_readb(nv_encoder->i2c, SCDC_TMDS_CONFIG, &scdc);
drivers/gpu/drm/nouveau/dispnv50/disp.c
813
ret = drm_scdc_writeb(nv_encoder->i2c, SCDC_TMDS_CONFIG, scdc);
drivers/gpu/drm/nouveau/include/nvkm/core/layout.h
11
NVKM_LAYOUT_ONCE(NVKM_SUBDEV_I2C , struct nvkm_i2c , i2c)
drivers/gpu/drm/nouveau/include/nvkm/subdev/i2c.h
26
struct i2c_adapter i2c;
drivers/gpu/drm/nouveau/include/nvkm/subdev/i2c.h
46
struct i2c_adapter i2c;
drivers/gpu/drm/nouveau/nouveau_bios.c
1311
u8 *i2c = ROMPTR(dev, dcb[2]);
drivers/gpu/drm/nouveau/nouveau_bios.c
1313
if (i2c && ent < i2c)
drivers/gpu/drm/nouveau/nouveau_bios.c
1317
u8 *i2c = ROMPTR(dev, dcb[2]);
drivers/gpu/drm/nouveau/nouveau_bios.c
1319
if (i2c && ent < i2c)
drivers/gpu/drm/nouveau/nouveau_bios.c
1382
static void fabricate_dcb_output(struct dcb_table *dcb, int type, int i2c,
drivers/gpu/drm/nouveau/nouveau_bios.c
1388
entry->i2c_index = i2c;
drivers/gpu/drm/nouveau/nouveau_bios.c
1845
u8 i2c = dcbt->entry[i].i2c_index;
drivers/gpu/drm/nouveau/nouveau_bios.c
1846
if (i2c == 0x0f) {
drivers/gpu/drm/nouveau/nouveau_bios.c
1849
if (!map[i2c])
drivers/gpu/drm/nouveau/nouveau_bios.c
1850
map[i2c] = ++idx;
drivers/gpu/drm/nouveau/nouveau_bios.c
1851
dcbt->entry[i].connector = map[i2c] - 1;
drivers/gpu/drm/nouveau/nouveau_connector.c
450
if (!nv_encoder->i2c)
drivers/gpu/drm/nouveau/nouveau_connector.c
460
if (nvkm_probe_i2c(nv_encoder->i2c, 0x50))
drivers/gpu/drm/nouveau/nouveau_connector.c
595
if (nv_encoder->i2c) {
drivers/gpu/drm/nouveau/nouveau_connector.c
598
new_edid = drm_get_edid_switcheroo(connector, nv_encoder->i2c);
drivers/gpu/drm/nouveau/nouveau_connector.c
600
new_edid = drm_get_edid(connector, nv_encoder->i2c);
drivers/gpu/drm/nouveau/nouveau_drv.h
399
#define nvxx_i2c(a) nvxx_device(a)->i2c
drivers/gpu/drm/nouveau/nouveau_encoder.h
55
struct i2c_adapter *i2c;
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1014
.i2c = { 0x00000001, g94_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1045
.i2c = { 0x00000001, g94_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
107
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1076
.i2c = { 0x00000001, nv50_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1107
.i2c = { 0x00000001, g94_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1140
.i2c = { 0x00000001, g94_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1172
.i2c = { 0x00000001, g94_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1204
.i2c = { 0x00000001, g94_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1235
.i2c = { 0x00000001, g94_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1266
.i2c = { 0x00000001, g94_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
127
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1298
.i2c = { 0x00000001, g94_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1333
.i2c = { 0x00000001, g94_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1368
.i2c = { 0x00000001, g94_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1403
.i2c = { 0x00000001, g94_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1438
.i2c = { 0x00000001, g94_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1473
.i2c = { 0x00000001, g94_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
149
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1508
.i2c = { 0x00000001, g94_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1543
.i2c = { 0x00000001, gf117_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1577
.i2c = { 0x00000001, gf119_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1612
.i2c = { 0x00000001, gk104_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1648
.i2c = { 0x00000001, gk104_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1684
.i2c = { 0x00000001, gk104_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
171
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1744
.i2c = { 0x00000001, gk110_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1780
.i2c = { 0x00000001, gk110_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1816
.i2c = { 0x00000001, gk110_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1852
.i2c = { 0x00000001, gk110_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1888
.i2c = { 0x00000001, gk110_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1923
.i2c = { 0x00000001, gk110_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
193
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1956
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
1991
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2026
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2087
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2120
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
215
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2154
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2188
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2222
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2256
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2315
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2350
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
237
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2385
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2420
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2455
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2490
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2522
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2546
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2576
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
259
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2606
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2636
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
2666
.i2c = { 0x00000001, gm200_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
281
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
303
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
325
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
347
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
369
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
392
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
415
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
437
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
460
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
485
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
510
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
535
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
560
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
585
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
610
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
635
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
64
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
660
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
685
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
710
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
735
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
760
.i2c = { 0x00000001, nv4e_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
787
.i2c = { 0x00000001, nv50_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
813
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
838
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
85
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
863
.i2c = { 0x00000001, nv04_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
890
.i2c = { 0x00000001, nv50_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
921
.i2c = { 0x00000001, nv50_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
952
.i2c = { 0x00000001, nv50_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
983
.i2c = { 0x00000001, g94_i2c_new },
drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c
640
struct nvkm_i2c *i2c = device->i2c;
drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c
652
outp->dp.aux = nvkm_i2c_aux_find(i2c, NVKM_I2C_AUX_CCB(dcbE->i2c_index));
drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c
654
outp->dp.aux = nvkm_i2c_aux_find(i2c, NVKM_I2C_AUX_EXT(dcbE->extdev));
drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.c
377
struct nvkm_i2c *i2c = disp->engine.subdev.device->i2c;
drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.c
390
outp->i2c = nvkm_i2c_bus_find(i2c, dcbE->i2c_index);
drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.h
17
struct nvkm_i2c_bus *i2c;
drivers/gpu/drm/nouveau/nvkm/engine/disp/uconn.c
135
return nvkm_uevent_add(uevent, &device->i2c->event, outp->dp.aux->id, bits,
drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.c
57
u16 i2c = nvbios_rd16(bios, dcb + 2);
drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.c
59
*cnt = (i2c - dcb) / 8;
drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.c
66
u16 i2c = nvbios_rd16(bios, dcb + 2);
drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.c
68
*cnt = (i2c - dcb) / 10;
drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.c
31
u16 i2c = 0x0000;
drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.c
35
i2c = nvbios_rd16(bios, dcb + 2);
drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.c
37
i2c = nvbios_rd16(bios, dcb + 4);
drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.c
40
if (i2c && *ver >= 0x42) {
drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.c
45
if (i2c && *ver >= 0x30) {
drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.c
46
*ver = nvbios_rd08(bios, i2c + 0);
drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.c
47
*hdr = nvbios_rd08(bios, i2c + 1);
drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.c
48
*cnt = nvbios_rd08(bios, i2c + 2);
drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.c
49
*len = nvbios_rd08(bios, i2c + 3);
drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.c
57
return i2c;
drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.c
64
u16 i2c = dcb_i2c_table(bios, ver, &hdr, &cnt, len);
drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.c
65
if (i2c && idx < cnt)
drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.c
66
return i2c + hdr + (idx * *len);
drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c
265
struct nvkm_i2c *i2c = init->subdev->device->i2c;
drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c
280
bus = nvkm_i2c_bus_find(i2c, index);
drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c
281
return bus ? &bus->i2c : NULL;
drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c
305
struct nvkm_i2c *i2c = init->subdev->device->i2c;
drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c
311
return nvkm_i2c_aux_find(i2c, init->outp->i2c_index);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/anx9805.c
141
struct i2c_adapter *adap = &pad->bus->i2c;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/anx9805.c
197
struct i2c_adapter *adap = &pad->bus->i2c;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/anx9805.c
274
nvkm_i2c_pad_ctor(&anx9805_pad_func, bus->pad->i2c, id, &pad->base);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/anx9805.c
47
struct i2c_adapter *adap = &pad->bus->i2c;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxch.c
161
i2c_del_adapter(&aux->i2c);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxch.c
190
struct nvkm_device *device = pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxch.c
196
list_add_tail(&aux->head, &pad->i2c->aux);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxch.c
199
snprintf(aux->i2c.name, sizeof(aux->i2c.name), "nvkm-%s-aux-%04x",
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxch.c
201
aux->i2c.owner = THIS_MODULE;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxch.c
202
aux->i2c.dev.parent = device->dev;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxch.c
203
aux->i2c.algo = &nvkm_i2c_aux_i2c_algo;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxch.c
204
return i2c_add_adapter(&aux->i2c);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxch.c
33
struct nvkm_i2c_aux *aux = container_of(adap, typeof(*aux), i2c);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxch.h
10
i2c->func->aux_autodpcd(i2c, aux, false);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxch.h
41
nvkm_##l(&_aux->pad->i2c->subdev, "aux %04x: "f"\n", _aux->id, ##a); \
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxch.h
7
nvkm_i2c_aux_autodpcd(struct nvkm_i2c *i2c, int aux, bool enable)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxch.h
9
if (i2c->func->aux_autodpcd)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
100
nvkm_i2c_aux_autodpcd(i2c, aux->ch, false);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
161
nvkm_i2c_aux_autodpcd(i2c, aux->ch, true);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
35
struct nvkm_device *device = aux->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
42
struct nvkm_device *device = aux->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
80
struct nvkm_i2c *i2c = aux->base.pad->i2c;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
81
struct nvkm_device *device = i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c
100
nvkm_i2c_aux_autodpcd(i2c, aux->ch, false);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c
162
nvkm_i2c_aux_autodpcd(i2c, aux->ch, true);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c
35
struct nvkm_device *device = aux->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c
42
struct nvkm_device *device = aux->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c
80
struct nvkm_i2c *i2c = aux->base.pad->i2c;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c
81
struct nvkm_device *device = i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
100
struct nvkm_i2c *i2c = container_of(event, typeof(*i2c), event);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
101
struct nvkm_i2c_aux *aux = nvkm_i2c_aux_find(i2c, id);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
103
i2c->func->aux_mask(i2c, type, aux->intr, aux->intr);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
115
struct nvkm_i2c *i2c = nvkm_i2c(subdev);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
119
if (!i2c->func->aux_stat)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
122
i2c->func->aux_stat(i2c, &hi, &lo, &rq, &tx);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
126
list_for_each_entry(aux, &i2c->aux, head) {
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
133
nvkm_event_ntfy(&i2c->event, aux->id, mask);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
140
struct nvkm_i2c *i2c = nvkm_i2c(subdev);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
146
list_for_each_entry(aux, &i2c->aux, head) {
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
150
list_for_each_entry(bus, &i2c->bus, head) {
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
154
if ((mask = (1 << i2c->func->aux) - 1), i2c->func->aux_stat) {
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
155
i2c->func->aux_mask(i2c, NVKM_I2C_ANY, mask, 0);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
156
i2c->func->aux_stat(i2c, &mask, &mask, &mask, &mask);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
159
list_for_each_entry(pad, &i2c->pad, head) {
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
169
struct nvkm_i2c *i2c = nvkm_i2c(subdev);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
177
list_for_each_entry(pad, &i2c->pad, head)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
179
list_for_each_entry(bus, &i2c->bus, head)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
188
struct nvkm_i2c *i2c = nvkm_i2c(subdev);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
193
list_for_each_entry(pad, &i2c->pad, head) {
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
197
list_for_each_entry(bus, &i2c->bus, head) {
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
201
list_for_each_entry(aux, &i2c->aux, head) {
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
211
struct nvkm_i2c *i2c = nvkm_i2c(subdev);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
213
nvkm_event_fini(&i2c->event);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
215
while (!list_empty(&i2c->aux)) {
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
217
list_first_entry(&i2c->aux, typeof(*aux), head);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
221
while (!list_empty(&i2c->bus)) {
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
223
list_first_entry(&i2c->bus, typeof(*bus), head);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
227
while (!list_empty(&i2c->pad)) {
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
229
list_first_entry(&i2c->pad, typeof(*pad), head);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
233
return i2c;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
262
struct nvkm_i2c *i2c;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
269
if (!(i2c = *pi2c = kzalloc_obj(*i2c)))
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
272
nvkm_subdev_ctor(&nvkm_i2c, device, type, inst, &i2c->subdev);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
273
i2c->func = func;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
274
INIT_LIST_HEAD(&i2c->pad);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
275
INIT_LIST_HEAD(&i2c->bus);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
276
INIT_LIST_HEAD(&i2c->aux);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
284
nvkm_debug(&i2c->subdev, "ccb %02x: type %02x drive %02x "
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
290
if (!(pad = nvkm_i2c_pad_find(i2c, id)))
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
291
ret = func->pad_s_new(i2c, id, &pad);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
295
ret = func->pad_x_new(i2c, NVKM_I2C_PAD_CCB(i), &pad);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
299
nvkm_error(&i2c->subdev, "ccb %02x pad, %d\n", i, ret);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
319
nvkm_error(&i2c->subdev, "ccb %02x bus, %d\n", i, ret);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
334
nvkm_error(&i2c->subdev, "ccb %02x aux, %d\n", i, ret);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
339
nvkm_warn(&i2c->subdev, "ccb %02x was ignored\n", i);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
35
nvkm_i2c_pad_find(struct nvkm_i2c *i2c, int id)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
355
bus = nvkm_i2c_bus_find(i2c, dcbE.i2c_index);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
357
nvkm_debug(&i2c->subdev, "dcb %02x no bus\n", i);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
369
nvkm_debug(&i2c->subdev, "dcb %02x drv %02x unknown\n",
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
375
pad = nvkm_i2c_pad_find(i2c, NVKM_I2C_PAD_EXT(dcbE.extdev));
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
380
nvkm_error(&i2c->subdev, "dcb %02x pad, %d\n",
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
39
list_for_each_entry(pad, &i2c->pad, head) {
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
393
nvkm_error(&i2c->subdev, "dcb %02x aux, %d\n",
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
403
nvkm_error(&i2c->subdev, "dcb %02x bus, %d\n",
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
411
list_for_each_entry(aux, &i2c->aux, head)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
416
return nvkm_event_init(&nvkm_i2c_intr_func, &i2c->subdev, 4, ids, &i2c->event);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
48
nvkm_i2c_bus_find(struct nvkm_i2c *i2c, int id)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
50
struct nvkm_bios *bios = i2c->subdev.device->bios;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
55
u16 i2c = dcb_i2c_table(bios, &ver, &hdr, &cnt, &len);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
56
if (i2c && ver >= 0x30) {
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
57
u8 auxidx = nvbios_rd08(bios, i2c + 4);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
67
list_for_each_entry(bus, &i2c->bus, head) {
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
76
nvkm_i2c_aux_find(struct nvkm_i2c *i2c, int id)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
80
list_for_each_entry(aux, &i2c->aux, head) {
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
91
struct nvkm_i2c *i2c = container_of(event, typeof(*i2c), event);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
92
struct nvkm_i2c_aux *aux = nvkm_i2c_aux_find(i2c, id);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
94
i2c->func->aux_mask(i2c, type, aux->intr, 0);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
168
if ((bus->i2c.algo == &i2c_bit_algo) && (info[i].udelay != 0)) {
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
169
struct i2c_algo_bit_data *algo = bus->i2c.algo_data;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
176
if (nvkm_probe_i2c(&bus->i2c, info[i].dev.addr) &&
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
184
struct i2c_algo_bit_data *algo = bus->i2c.algo_data;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
200
i2c_del_adapter(&bus->i2c);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
201
kfree(bus->i2c.algo_data);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
212
struct nvkm_device *device = pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
225
list_add_tail(&bus->head, &pad->i2c->bus);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
228
snprintf(bus->i2c.name, sizeof(bus->i2c.name), "nvkm-%s-bus-%04x",
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
230
bus->i2c.owner = THIS_MODULE;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
231
bus->i2c.dev.parent = device->dev;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
246
bus->i2c.algo_data = bit;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
247
ret = i2c_bit_add_bus(&bus->i2c);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
249
bus->i2c.algo = &nvkm_i2c_bus_algo;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
250
ret = i2c_add_adapter(&bus->i2c);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
35
struct nvkm_i2c_bus *bus = container_of(adap, typeof(*bus), i2c);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
42
struct nvkm_i2c_bus *bus = container_of(adap, typeof(*bus), i2c);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c
80
struct nvkm_i2c_bus *bus = container_of(adap, typeof(*bus), i2c);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.h
34
nvkm_##l(&_bus->pad->i2c->subdev, "bus %04x: "f"\n", _bus->id, ##a); \
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busgf119.c
36
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busgf119.c
44
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busgf119.c
52
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busgf119.c
60
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busgf119.c
68
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv04.c
39
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv04.c
50
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv04.c
61
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv04.c
69
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv4e.c
36
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv4e.c
44
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv4e.c
52
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv4e.c
60
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv50.c
101
nvkm_warn(&pad->i2c->subdev, "bus %d unknown\n", drive);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv50.c
39
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv50.c
49
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv50.c
59
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv50.c
67
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv50.c
75
struct nvkm_device *device = bus->base.pad->i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/g94.c
28
g94_aux_stat(struct nvkm_i2c *i2c, u32 *hi, u32 *lo, u32 *rq, u32 *tx)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/g94.c
30
struct nvkm_device *device = i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/g94.c
43
g94_aux_mask(struct nvkm_i2c *i2c, u32 type, u32 mask, u32 data)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/g94.c
45
struct nvkm_device *device = i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gk104.c
28
gk104_aux_stat(struct nvkm_i2c *i2c, u32 *hi, u32 *lo, u32 *rq, u32 *tx)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gk104.c
30
struct nvkm_device *device = i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gk104.c
43
gk104_aux_mask(struct nvkm_i2c *i2c, u32 type, u32 mask, u32 data)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gk104.c
45
struct nvkm_device *device = i2c->subdev.device;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gk110.c
26
gk110_aux_autodpcd(struct nvkm_i2c *i2c, int aux, bool enable)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gk110.c
28
nvkm_mask(i2c->subdev.device, 0x00e4f8 + (aux * 0x50), 0x00010000, enable << 16);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gm200.c
30
gm200_aux_autodpcd(struct nvkm_i2c *i2c, int aux, bool enable)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gm200.c
32
nvkm_mask(i2c->subdev.device, 0x00d968 + (aux * 0x50), 0x00010000, enable << 16);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/pad.c
100
pad->i2c = i2c;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/pad.c
104
list_add_tail(&pad->head, &i2c->pad);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/pad.c
109
nvkm_i2c_pad_new_(const struct nvkm_i2c_pad_func *func, struct nvkm_i2c *i2c,
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/pad.c
114
nvkm_i2c_pad_ctor(func, i2c, id, *ppad);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/pad.c
96
nvkm_i2c_pad_ctor(const struct nvkm_i2c_pad_func *func, struct nvkm_i2c *i2c,
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/pad.h
63
nvkm_##l(&_pad->i2c->subdev, "pad %04x: "f"\n", _pad->id, ##a); \
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/pad.h
8
struct nvkm_i2c *i2c;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padg94.c
31
struct nvkm_subdev *subdev = &pad->i2c->subdev;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padg94.c
61
g94_i2c_pad_s_new(struct nvkm_i2c *i2c, int id, struct nvkm_i2c_pad **ppad)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padg94.c
63
return nvkm_i2c_pad_new_(&g94_i2c_pad_s_func, i2c, id, ppad);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padg94.c
73
g94_i2c_pad_x_new(struct nvkm_i2c *i2c, int id, struct nvkm_i2c_pad **ppad)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padg94.c
75
return nvkm_i2c_pad_new_(&g94_i2c_pad_x_func, i2c, id, ppad);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgf119.c
36
gf119_i2c_pad_s_new(struct nvkm_i2c *i2c, int id, struct nvkm_i2c_pad **ppad)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgf119.c
38
return nvkm_i2c_pad_new_(&gf119_i2c_pad_s_func, i2c, id, ppad);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgf119.c
48
gf119_i2c_pad_x_new(struct nvkm_i2c *i2c, int id, struct nvkm_i2c_pad **ppad)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgf119.c
50
return nvkm_i2c_pad_new_(&gf119_i2c_pad_x_func, i2c, id, ppad);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgm200.c
31
struct nvkm_subdev *subdev = &pad->i2c->subdev;
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgm200.c
61
gm200_i2c_pad_s_new(struct nvkm_i2c *i2c, int id, struct nvkm_i2c_pad **ppad)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgm200.c
63
return nvkm_i2c_pad_new_(&gm200_i2c_pad_s_func, i2c, id, ppad);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgm200.c
73
gm200_i2c_pad_x_new(struct nvkm_i2c *i2c, int id, struct nvkm_i2c_pad **ppad)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgm200.c
75
return nvkm_i2c_pad_new_(&gm200_i2c_pad_x_func, i2c, id, ppad);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv04.c
33
nv04_i2c_pad_new(struct nvkm_i2c *i2c, int id, struct nvkm_i2c_pad **ppad)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv04.c
35
return nvkm_i2c_pad_new_(&nv04_i2c_pad_func, i2c, id, ppad);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv4e.c
33
nv4e_i2c_pad_new(struct nvkm_i2c *i2c, int id, struct nvkm_i2c_pad **ppad)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv4e.c
35
return nvkm_i2c_pad_new_(&nv4e_i2c_pad_func, i2c, id, ppad);
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv50.c
33
nv50_i2c_pad_new(struct nvkm_i2c *i2c, int id, struct nvkm_i2c_pad **ppad)
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv50.c
35
return nvkm_i2c_pad_new_(&nv50_i2c_pad_func, i2c, id, ppad);
drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
105
nv_wr16i2cr(sensor->i2c, sensor->addr, 0x00, sensor->config);
drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
154
struct nvkm_i2c *i2c = subdev->device->i2c;
drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
160
if (!i2c || !bios || nvbios_extdev_parse(bios, id, &extdev))
drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
176
i2c_bus = nvkm_i2c_bus_find(i2c, NVKM_I2C_BUS_SEC);
drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
178
i2c_bus = nvkm_i2c_bus_find(i2c, NVKM_I2C_BUS_PRI);
drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
183
if (!nvkm_iccsense_validate_device(&i2c_bus->i2c, addr,
drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
198
sensor->i2c = &i2c_bus->i2c;
drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
33
nvkm_iccsense_validate_device(struct i2c_adapter *i2c, u8 addr,
drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
39
return nv_rd16i2cr(i2c, addr, 0x0) >= 0;
drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
41
return nv_rd16i2cr(i2c, addr, 0xff) == 0x3220 &&
drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
42
nv_rd16i2cr(i2c, addr, 0xfe) == 0x5449;
drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
49
nvkm_iccsense_poll_lane(struct i2c_adapter *i2c, u8 addr, u8 shunt_reg,
drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
53
int vshunt = nv_rd16i2cr(i2c, addr, shunt_reg);
drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
54
int vbus = nv_rd16i2cr(i2c, addr, bus_reg);
drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
70
return nvkm_iccsense_poll_lane(rail->sensor->i2c, rail->sensor->addr,
drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.c
93
return nvkm_iccsense_poll_lane(rail->sensor->i2c, rail->sensor->addr,
drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/priv.h
12
struct i2c_adapter *i2c;
drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c
40
return i2c_transfer(&bus->i2c, msgs, 2) == 2;
drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c
48
struct nvkm_i2c *i2c = device->i2c;
drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c
54
bus = nvkm_i2c_bus_find(i2c, i2cidx);
drivers/gpu/drm/nouveau/nvkm/subdev/therm/ic.c
39
client = i2c_new_client_device(&bus->i2c, info);
drivers/gpu/drm/nouveau/nvkm/subdev/therm/ic.c
87
struct nvkm_i2c *i2c = device->i2c;
drivers/gpu/drm/nouveau/nvkm/subdev/therm/ic.c
91
bus = nvkm_i2c_bus_find(i2c, NVKM_I2C_BUS_PRI);
drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
194
struct i2c_client *i2c;
drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
221
return i2c_smbus_read_byte_data(ts->i2c, reg);
drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
229
ret = i2c_smbus_write_byte_data(ts->i2c, reg, val);
drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
231
dev_err(&ts->i2c->dev, "I2C write failed: %d\n", ret);
drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
363
static int rpi_touchscreen_probe(struct i2c_client *i2c)
drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
365
struct device *dev = &i2c->dev;
drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
383
i2c_set_clientdata(i2c, ts);
drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
385
ts->i2c = i2c;
drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
446
static void rpi_touchscreen_remove(struct i2c_client *i2c)
drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
448
struct rpi_touchscreen *ts = i2c_get_clientdata(i2c);
drivers/gpu/drm/radeon/atombios_i2c.c
103
struct radeon_i2c_chan *i2c = i2c_get_adapdata(i2c_adap);
drivers/gpu/drm/radeon/atombios_i2c.c
111
ret = radeon_process_i2c_ch(i2c,
drivers/gpu/drm/radeon/atombios_i2c.c
137
ret = radeon_process_i2c_ch(i2c,
drivers/gpu/drm/radeon/radeon_atombios.c
100
i2c.mask_data_mask = (1 << gpio->ucDataMaskShift);
drivers/gpu/drm/radeon/radeon_atombios.c
101
i2c.en_clk_mask = (1 << gpio->ucClkEnShift);
drivers/gpu/drm/radeon/radeon_atombios.c
102
i2c.en_data_mask = (1 << gpio->ucDataEnShift);
drivers/gpu/drm/radeon/radeon_atombios.c
103
i2c.y_clk_mask = (1 << gpio->ucClkY_Shift);
drivers/gpu/drm/radeon/radeon_atombios.c
104
i2c.y_data_mask = (1 << gpio->ucDataY_Shift);
drivers/gpu/drm/radeon/radeon_atombios.c
105
i2c.a_clk_mask = (1 << gpio->ucClkA_Shift);
drivers/gpu/drm/radeon/radeon_atombios.c
106
i2c.a_data_mask = (1 << gpio->ucDataA_Shift);
drivers/gpu/drm/radeon/radeon_atombios.c
109
i2c.hw_capable = true;
drivers/gpu/drm/radeon/radeon_atombios.c
111
i2c.hw_capable = false;
drivers/gpu/drm/radeon/radeon_atombios.c
114
i2c.mm_i2c = true;
drivers/gpu/drm/radeon/radeon_atombios.c
116
i2c.mm_i2c = false;
drivers/gpu/drm/radeon/radeon_atombios.c
118
i2c.i2c_id = gpio->sucI2cId.ucAccess;
drivers/gpu/drm/radeon/radeon_atombios.c
120
if (i2c.mask_clk_reg)
drivers/gpu/drm/radeon/radeon_atombios.c
121
i2c.valid = true;
drivers/gpu/drm/radeon/radeon_atombios.c
123
i2c.valid = false;
drivers/gpu/drm/radeon/radeon_atombios.c
125
return i2c;
drivers/gpu/drm/radeon/radeon_atombios.c
133
struct radeon_i2c_bus_rec i2c;
drivers/gpu/drm/radeon/radeon_atombios.c
139
memset(&i2c, 0, sizeof(struct radeon_i2c_bus_rec));
drivers/gpu/drm/radeon/radeon_atombios.c
140
i2c.valid = false;
drivers/gpu/drm/radeon/radeon_atombios.c
154
i2c = radeon_get_bus_rec_for_i2c_gpio(gpio);
drivers/gpu/drm/radeon/radeon_atombios.c
162
return i2c;
drivers/gpu/drm/radeon/radeon_atombios.c
169
struct radeon_i2c_bus_rec i2c;
drivers/gpu/drm/radeon/radeon_atombios.c
186
i2c = radeon_get_bus_rec_for_i2c_gpio(gpio);
drivers/gpu/drm/radeon/radeon_atombios.c
188
if (i2c.valid) {
drivers/gpu/drm/radeon/radeon_atombios.c
189
sprintf(stmp, "0x%x", i2c.i2c_id);
drivers/gpu/drm/radeon/radeon_atombios.c
190
rdev->i2c_bus[i] = radeon_i2c_create(rdev_to_drm(rdev), &i2c, stmp);
drivers/gpu/drm/radeon/radeon_atombios.c
87
struct radeon_i2c_bus_rec i2c;
drivers/gpu/drm/radeon/radeon_atombios.c
89
memset(&i2c, 0, sizeof(struct radeon_i2c_bus_rec));
drivers/gpu/drm/radeon/radeon_atombios.c
91
i2c.mask_clk_reg = le16_to_cpu(gpio->usClkMaskRegisterIndex) * 4;
drivers/gpu/drm/radeon/radeon_atombios.c
92
i2c.mask_data_reg = le16_to_cpu(gpio->usDataMaskRegisterIndex) * 4;
drivers/gpu/drm/radeon/radeon_atombios.c
93
i2c.en_clk_reg = le16_to_cpu(gpio->usClkEnRegisterIndex) * 4;
drivers/gpu/drm/radeon/radeon_atombios.c
94
i2c.en_data_reg = le16_to_cpu(gpio->usDataEnRegisterIndex) * 4;
drivers/gpu/drm/radeon/radeon_atombios.c
95
i2c.y_clk_reg = le16_to_cpu(gpio->usClkY_RegisterIndex) * 4;
drivers/gpu/drm/radeon/radeon_atombios.c
96
i2c.y_data_reg = le16_to_cpu(gpio->usDataY_RegisterIndex) * 4;
drivers/gpu/drm/radeon/radeon_atombios.c
97
i2c.a_clk_reg = le16_to_cpu(gpio->usClkA_RegisterIndex) * 4;
drivers/gpu/drm/radeon/radeon_atombios.c
98
i2c.a_data_reg = le16_to_cpu(gpio->usDataA_RegisterIndex) * 4;
drivers/gpu/drm/radeon/radeon_atombios.c
99
i2c.mask_clk_mask = (1 << gpio->ucClkMaskShift);
drivers/gpu/drm/radeon/radeon_combios.c
404
struct radeon_i2c_bus_rec i2c;
drivers/gpu/drm/radeon/radeon_combios.c
477
i2c.mask_clk_reg = RADEON_GPIOPAD_MASK;
drivers/gpu/drm/radeon/radeon_combios.c
478
i2c.mask_data_reg = RADEON_GPIOPAD_MASK;
drivers/gpu/drm/radeon/radeon_combios.c
479
i2c.a_clk_reg = RADEON_GPIOPAD_A;
drivers/gpu/drm/radeon/radeon_combios.c
480
i2c.a_data_reg = RADEON_GPIOPAD_A;
drivers/gpu/drm/radeon/radeon_combios.c
481
i2c.en_clk_reg = RADEON_GPIOPAD_EN;
drivers/gpu/drm/radeon/radeon_combios.c
482
i2c.en_data_reg = RADEON_GPIOPAD_EN;
drivers/gpu/drm/radeon/radeon_combios.c
483
i2c.y_clk_reg = RADEON_GPIOPAD_Y;
drivers/gpu/drm/radeon/radeon_combios.c
484
i2c.y_data_reg = RADEON_GPIOPAD_Y;
drivers/gpu/drm/radeon/radeon_combios.c
486
i2c.mask_clk_reg = RADEON_MDGPIO_MASK;
drivers/gpu/drm/radeon/radeon_combios.c
487
i2c.mask_data_reg = RADEON_MDGPIO_MASK;
drivers/gpu/drm/radeon/radeon_combios.c
488
i2c.a_clk_reg = RADEON_MDGPIO_A;
drivers/gpu/drm/radeon/radeon_combios.c
489
i2c.a_data_reg = RADEON_MDGPIO_A;
drivers/gpu/drm/radeon/radeon_combios.c
490
i2c.en_clk_reg = RADEON_MDGPIO_EN;
drivers/gpu/drm/radeon/radeon_combios.c
491
i2c.en_data_reg = RADEON_MDGPIO_EN;
drivers/gpu/drm/radeon/radeon_combios.c
492
i2c.y_clk_reg = RADEON_MDGPIO_Y;
drivers/gpu/drm/radeon/radeon_combios.c
493
i2c.y_data_reg = RADEON_MDGPIO_Y;
drivers/gpu/drm/radeon/radeon_combios.c
495
i2c.mask_clk_reg = ddc_line;
drivers/gpu/drm/radeon/radeon_combios.c
496
i2c.mask_data_reg = ddc_line;
drivers/gpu/drm/radeon/radeon_combios.c
497
i2c.a_clk_reg = ddc_line;
drivers/gpu/drm/radeon/radeon_combios.c
498
i2c.a_data_reg = ddc_line;
drivers/gpu/drm/radeon/radeon_combios.c
499
i2c.en_clk_reg = ddc_line;
drivers/gpu/drm/radeon/radeon_combios.c
500
i2c.en_data_reg = ddc_line;
drivers/gpu/drm/radeon/radeon_combios.c
501
i2c.y_clk_reg = ddc_line;
drivers/gpu/drm/radeon/radeon_combios.c
502
i2c.y_data_reg = ddc_line;
drivers/gpu/drm/radeon/radeon_combios.c
507
i2c.mask_clk_mask = clk_mask;
drivers/gpu/drm/radeon/radeon_combios.c
508
i2c.mask_data_mask = data_mask;
drivers/gpu/drm/radeon/radeon_combios.c
509
i2c.a_clk_mask = clk_mask;
drivers/gpu/drm/radeon/radeon_combios.c
510
i2c.a_data_mask = data_mask;
drivers/gpu/drm/radeon/radeon_combios.c
511
i2c.en_clk_mask = clk_mask;
drivers/gpu/drm/radeon/radeon_combios.c
512
i2c.en_data_mask = data_mask;
drivers/gpu/drm/radeon/radeon_combios.c
513
i2c.y_clk_mask = clk_mask;
drivers/gpu/drm/radeon/radeon_combios.c
514
i2c.y_data_mask = data_mask;
drivers/gpu/drm/radeon/radeon_combios.c
518
i2c.mask_clk_mask = (0x20 << 8);
drivers/gpu/drm/radeon/radeon_combios.c
519
i2c.mask_data_mask = 0x80;
drivers/gpu/drm/radeon/radeon_combios.c
520
i2c.a_clk_mask = (0x20 << 8);
drivers/gpu/drm/radeon/radeon_combios.c
521
i2c.a_data_mask = 0x80;
drivers/gpu/drm/radeon/radeon_combios.c
522
i2c.en_clk_mask = (0x20 << 8);
drivers/gpu/drm/radeon/radeon_combios.c
523
i2c.en_data_mask = 0x80;
drivers/gpu/drm/radeon/radeon_combios.c
524
i2c.y_clk_mask = (0x20 << 8);
drivers/gpu/drm/radeon/radeon_combios.c
525
i2c.y_data_mask = 0x80;
drivers/gpu/drm/radeon/radeon_combios.c
528
i2c.mask_clk_mask = RADEON_GPIO_MASK_1;
drivers/gpu/drm/radeon/radeon_combios.c
529
i2c.mask_data_mask = RADEON_GPIO_MASK_0;
drivers/gpu/drm/radeon/radeon_combios.c
530
i2c.a_clk_mask = RADEON_GPIO_A_1;
drivers/gpu/drm/radeon/radeon_combios.c
531
i2c.a_data_mask = RADEON_GPIO_A_0;
drivers/gpu/drm/radeon/radeon_combios.c
532
i2c.en_clk_mask = RADEON_GPIO_EN_1;
drivers/gpu/drm/radeon/radeon_combios.c
533
i2c.en_data_mask = RADEON_GPIO_EN_0;
drivers/gpu/drm/radeon/radeon_combios.c
534
i2c.y_clk_mask = RADEON_GPIO_Y_1;
drivers/gpu/drm/radeon/radeon_combios.c
535
i2c.y_data_mask = RADEON_GPIO_Y_0;
drivers/gpu/drm/radeon/radeon_combios.c
547
i2c.hw_capable = true;
drivers/gpu/drm/radeon/radeon_combios.c
550
i2c.hw_capable = false;
drivers/gpu/drm/radeon/radeon_combios.c
558
i2c.hw_capable = true;
drivers/gpu/drm/radeon/radeon_combios.c
561
i2c.hw_capable = false;
drivers/gpu/drm/radeon/radeon_combios.c
571
i2c.hw_capable = true;
drivers/gpu/drm/radeon/radeon_combios.c
574
i2c.hw_capable = false;
drivers/gpu/drm/radeon/radeon_combios.c
583
i2c.hw_capable = true;
drivers/gpu/drm/radeon/radeon_combios.c
586
i2c.hw_capable = false;
drivers/gpu/drm/radeon/radeon_combios.c
597
i2c.hw_capable = true;
drivers/gpu/drm/radeon/radeon_combios.c
603
i2c.hw_capable = false;
drivers/gpu/drm/radeon/radeon_combios.c
606
i2c.hw_capable = false;
drivers/gpu/drm/radeon/radeon_combios.c
611
i2c.hw_capable = false;
drivers/gpu/drm/radeon/radeon_combios.c
614
i2c.mm_i2c = false;
drivers/gpu/drm/radeon/radeon_combios.c
616
i2c.i2c_id = ddc;
drivers/gpu/drm/radeon/radeon_combios.c
617
i2c.hpd = RADEON_HPD_NONE;
drivers/gpu/drm/radeon/radeon_combios.c
620
i2c.valid = true;
drivers/gpu/drm/radeon/radeon_combios.c
622
i2c.valid = false;
drivers/gpu/drm/radeon/radeon_combios.c
624
return i2c;
drivers/gpu/drm/radeon/radeon_combios.c
630
struct radeon_i2c_bus_rec i2c;
drivers/gpu/drm/radeon/radeon_combios.c
635
i2c.valid = false;
drivers/gpu/drm/radeon/radeon_combios.c
646
i2c = combios_setup_i2c_bus(rdev, DDC_MONID,
drivers/gpu/drm/radeon/radeon_combios.c
652
return i2c;
drivers/gpu/drm/radeon/radeon_combios.c
658
struct radeon_i2c_bus_rec i2c;
drivers/gpu/drm/radeon/radeon_combios.c
672
i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
drivers/gpu/drm/radeon/radeon_combios.c
673
rdev->i2c_bus[0] = radeon_i2c_create(dev, &i2c, "DVI_DDC");
drivers/gpu/drm/radeon/radeon_combios.c
675
i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
drivers/gpu/drm/radeon/radeon_combios.c
676
rdev->i2c_bus[1] = radeon_i2c_create(dev, &i2c, "VGA_DDC");
drivers/gpu/drm/radeon/radeon_combios.c
679
i2c.valid = true;
drivers/gpu/drm/radeon/radeon_combios.c
680
i2c.hw_capable = true;
drivers/gpu/drm/radeon/radeon_combios.c
681
i2c.mm_i2c = true;
drivers/gpu/drm/radeon/radeon_combios.c
682
i2c.i2c_id = 0xa0;
drivers/gpu/drm/radeon/radeon_combios.c
683
rdev->i2c_bus[2] = radeon_i2c_create(dev, &i2c, "MM_I2C");
drivers/gpu/drm/radeon/radeon_combios.c
692
i2c = combios_setup_i2c_bus(rdev, DDC_CRT2, 0, 0);
drivers/gpu/drm/radeon/radeon_combios.c
693
rdev->i2c_bus[3] = radeon_i2c_create(dev, &i2c, "MONID");
drivers/gpu/drm/radeon/radeon_combios.c
696
i2c = radeon_combios_get_i2c_info_from_table(rdev);
drivers/gpu/drm/radeon/radeon_combios.c
697
if (i2c.valid)
drivers/gpu/drm/radeon/radeon_combios.c
698
rdev->i2c_bus[4] = radeon_i2c_create(dev, &i2c, "GPIOPAD_MASK");
drivers/gpu/drm/radeon/radeon_combios.c
702
i2c = combios_setup_i2c_bus(rdev, DDC_MONID, 0, 0);
drivers/gpu/drm/radeon/radeon_combios.c
703
rdev->i2c_bus[3] = radeon_i2c_create(dev, &i2c, "MONID");
drivers/gpu/drm/radeon/radeon_combios.c
706
i2c = combios_setup_i2c_bus(rdev, DDC_MONID, 0, 0);
drivers/gpu/drm/radeon/radeon_combios.c
707
rdev->i2c_bus[3] = radeon_i2c_create(dev, &i2c, "MONID");
drivers/gpu/drm/radeon/radeon_combios.c
709
i2c = combios_setup_i2c_bus(rdev, DDC_CRT2, 0, 0);
drivers/gpu/drm/radeon/radeon_combios.c
710
rdev->i2c_bus[4] = radeon_i2c_create(dev, &i2c, "CRT2_DDC");
drivers/gpu/drm/radeon/radeon_i2c.c
157
struct radeon_i2c_chan *i2c = i2c_get_adapdata(i2c_adap);
drivers/gpu/drm/radeon/radeon_i2c.c
158
struct radeon_device *rdev = i2c->dev->dev_private;
drivers/gpu/drm/radeon/radeon_i2c.c
159
struct radeon_i2c_bus_rec *rec = &i2c->rec;
drivers/gpu/drm/radeon/radeon_i2c.c
171
mutex_unlock(&i2c->mutex);
drivers/gpu/drm/radeon/radeon_i2c.c
176
struct radeon_i2c_chan *i2c = i2c_priv;
drivers/gpu/drm/radeon/radeon_i2c.c
177
struct radeon_device *rdev = i2c->dev->dev_private;
drivers/gpu/drm/radeon/radeon_i2c.c
178
struct radeon_i2c_bus_rec *rec = &i2c->rec;
drivers/gpu/drm/radeon/radeon_i2c.c
191
struct radeon_i2c_chan *i2c = i2c_priv;
drivers/gpu/drm/radeon/radeon_i2c.c
192
struct radeon_device *rdev = i2c->dev->dev_private;
drivers/gpu/drm/radeon/radeon_i2c.c
193
struct radeon_i2c_bus_rec *rec = &i2c->rec;
drivers/gpu/drm/radeon/radeon_i2c.c
205
struct radeon_i2c_chan *i2c = i2c_priv;
drivers/gpu/drm/radeon/radeon_i2c.c
206
struct radeon_device *rdev = i2c->dev->dev_private;
drivers/gpu/drm/radeon/radeon_i2c.c
207
struct radeon_i2c_bus_rec *rec = &i2c->rec;
drivers/gpu/drm/radeon/radeon_i2c.c
218
struct radeon_i2c_chan *i2c = i2c_priv;
drivers/gpu/drm/radeon/radeon_i2c.c
219
struct radeon_device *rdev = i2c->dev->dev_private;
drivers/gpu/drm/radeon/radeon_i2c.c
220
struct radeon_i2c_bus_rec *rec = &i2c->rec;
drivers/gpu/drm/radeon/radeon_i2c.c
324
struct radeon_i2c_chan *i2c = i2c_get_adapdata(i2c_adap);
drivers/gpu/drm/radeon/radeon_i2c.c
325
struct radeon_device *rdev = i2c->dev->dev_private;
drivers/gpu/drm/radeon/radeon_i2c.c
326
struct radeon_i2c_bus_rec *rec = &i2c->rec;
drivers/gpu/drm/radeon/radeon_i2c.c
577
struct radeon_i2c_chan *i2c = i2c_get_adapdata(i2c_adap);
drivers/gpu/drm/radeon/radeon_i2c.c
578
struct radeon_device *rdev = i2c->dev->dev_private;
drivers/gpu/drm/radeon/radeon_i2c.c
579
struct radeon_i2c_bus_rec *rec = &i2c->rec;
drivers/gpu/drm/radeon/radeon_i2c.c
810
struct radeon_i2c_chan *i2c = i2c_get_adapdata(i2c_adap);
drivers/gpu/drm/radeon/radeon_i2c.c
811
struct radeon_device *rdev = i2c->dev->dev_private;
drivers/gpu/drm/radeon/radeon_i2c.c
812
struct radeon_i2c_bus_rec *rec = &i2c->rec;
drivers/gpu/drm/radeon/radeon_i2c.c
815
mutex_lock(&i2c->mutex);
drivers/gpu/drm/radeon/radeon_i2c.c
87
struct radeon_i2c_chan *i2c = i2c_get_adapdata(i2c_adap);
drivers/gpu/drm/radeon/radeon_i2c.c
88
struct radeon_device *rdev = i2c->dev->dev_private;
drivers/gpu/drm/radeon/radeon_i2c.c
883
mutex_unlock(&i2c->mutex);
drivers/gpu/drm/radeon/radeon_i2c.c
89
struct radeon_i2c_bus_rec *rec = &i2c->rec;
drivers/gpu/drm/radeon/radeon_i2c.c
908
struct radeon_i2c_chan *i2c;
drivers/gpu/drm/radeon/radeon_i2c.c
915
i2c = kzalloc_obj(struct radeon_i2c_chan);
drivers/gpu/drm/radeon/radeon_i2c.c
916
if (i2c == NULL)
drivers/gpu/drm/radeon/radeon_i2c.c
919
i2c->rec = *rec;
drivers/gpu/drm/radeon/radeon_i2c.c
92
mutex_lock(&i2c->mutex);
drivers/gpu/drm/radeon/radeon_i2c.c
920
i2c->adapter.owner = THIS_MODULE;
drivers/gpu/drm/radeon/radeon_i2c.c
921
i2c->adapter.dev.parent = dev->dev;
drivers/gpu/drm/radeon/radeon_i2c.c
922
i2c->dev = dev;
drivers/gpu/drm/radeon/radeon_i2c.c
923
i2c_set_adapdata(&i2c->adapter, i2c);
drivers/gpu/drm/radeon/radeon_i2c.c
924
mutex_init(&i2c->mutex);
drivers/gpu/drm/radeon/radeon_i2c.c
931
snprintf(i2c->adapter.name, sizeof(i2c->adapter.name),
drivers/gpu/drm/radeon/radeon_i2c.c
933
i2c->adapter.algo = &radeon_i2c_algo;
drivers/gpu/drm/radeon/radeon_i2c.c
934
ret = devm_i2c_add_adapter(dev->dev, &i2c->adapter);
drivers/gpu/drm/radeon/radeon_i2c.c
941
snprintf(i2c->adapter.name, sizeof(i2c->adapter.name),
drivers/gpu/drm/radeon/radeon_i2c.c
943
i2c->adapter.algo = &radeon_atom_i2c_algo;
drivers/gpu/drm/radeon/radeon_i2c.c
944
ret = i2c_add_adapter(&i2c->adapter);
drivers/gpu/drm/radeon/radeon_i2c.c
949
snprintf(i2c->adapter.name, sizeof(i2c->adapter.name),
drivers/gpu/drm/radeon/radeon_i2c.c
951
i2c->adapter.algo_data = &i2c->bit;
drivers/gpu/drm/radeon/radeon_i2c.c
952
i2c->bit.pre_xfer = pre_xfer;
drivers/gpu/drm/radeon/radeon_i2c.c
953
i2c->bit.post_xfer = post_xfer;
drivers/gpu/drm/radeon/radeon_i2c.c
954
i2c->bit.setsda = set_data;
drivers/gpu/drm/radeon/radeon_i2c.c
955
i2c->bit.setscl = set_clock;
drivers/gpu/drm/radeon/radeon_i2c.c
956
i2c->bit.getsda = get_data;
drivers/gpu/drm/radeon/radeon_i2c.c
957
i2c->bit.getscl = get_clock;
drivers/gpu/drm/radeon/radeon_i2c.c
958
i2c->bit.udelay = 10;
drivers/gpu/drm/radeon/radeon_i2c.c
959
i2c->bit.timeout = usecs_to_jiffies(2200); /* from VESA */
drivers/gpu/drm/radeon/radeon_i2c.c
960
i2c->bit.data = i2c;
drivers/gpu/drm/radeon/radeon_i2c.c
961
ret = i2c_bit_add_bus(&i2c->adapter);
drivers/gpu/drm/radeon/radeon_i2c.c
968
return i2c;
drivers/gpu/drm/radeon/radeon_i2c.c
970
kfree(i2c);
drivers/gpu/drm/radeon/radeon_mode.h
752
extern void radeon_i2c_destroy(struct radeon_i2c_chan *i2c);
drivers/gpu/drm/radeon/radeon_mode.h
757
extern void radeon_i2c_put_byte(struct radeon_i2c_chan *i2c,
drivers/gpu/drm/rockchip/rk3066_hdmi.c
527
hdmi->i2c->stat = interrupt;
drivers/gpu/drm/rockchip/rk3066_hdmi.c
528
complete(&hdmi->i2c->cmpltn);
drivers/gpu/drm/rockchip/rk3066_hdmi.c
552
ret = wait_for_completion_timeout(&hdmi->i2c->cmpltn, HZ / 10);
drivers/gpu/drm/rockchip/rk3066_hdmi.c
553
if (!ret || hdmi->i2c->stat & HDMI_INTR_EDID_ERR)
drivers/gpu/drm/rockchip/rk3066_hdmi.c
57
struct rk3066_hdmi_i2c *i2c;
drivers/gpu/drm/rockchip/rk3066_hdmi.c
573
reinit_completion(&hdmi->i2c->cmpltn);
drivers/gpu/drm/rockchip/rk3066_hdmi.c
576
hdmi->i2c->segment_addr = msgs->buf[0];
drivers/gpu/drm/rockchip/rk3066_hdmi.c
578
hdmi->i2c->ddc_addr = msgs->buf[0];
drivers/gpu/drm/rockchip/rk3066_hdmi.c
584
hdmi_writeb(hdmi, HDMI_EDID_WORD_ADDR, hdmi->i2c->ddc_addr);
drivers/gpu/drm/rockchip/rk3066_hdmi.c
587
hdmi_writeb(hdmi, HDMI_EDID_SEGMENT_POINTER, hdmi->i2c->segment_addr);
drivers/gpu/drm/rockchip/rk3066_hdmi.c
596
struct rk3066_hdmi_i2c *i2c = hdmi->i2c;
drivers/gpu/drm/rockchip/rk3066_hdmi.c
599
mutex_lock(&i2c->i2c_lock);
drivers/gpu/drm/rockchip/rk3066_hdmi.c
606
i2c->stat = 0;
drivers/gpu/drm/rockchip/rk3066_hdmi.c
628
mutex_unlock(&i2c->i2c_lock);
drivers/gpu/drm/rockchip/rk3066_hdmi.c
646
struct rk3066_hdmi_i2c *i2c;
drivers/gpu/drm/rockchip/rk3066_hdmi.c
649
i2c = devm_kzalloc(hdmi->dev, sizeof(*i2c), GFP_KERNEL);
drivers/gpu/drm/rockchip/rk3066_hdmi.c
650
if (!i2c)
drivers/gpu/drm/rockchip/rk3066_hdmi.c
653
mutex_init(&i2c->i2c_lock);
drivers/gpu/drm/rockchip/rk3066_hdmi.c
654
init_completion(&i2c->cmpltn);
drivers/gpu/drm/rockchip/rk3066_hdmi.c
656
adap = &i2c->adap;
drivers/gpu/drm/rockchip/rk3066_hdmi.c
668
devm_kfree(hdmi->dev, i2c);
drivers/gpu/drm/rockchip/rk3066_hdmi.c
672
hdmi->i2c = i2c;
drivers/gpu/drm/sitronix/st7571-i2c.c
141
MODULE_DEVICE_TABLE(i2c, st7571_id);
drivers/gpu/drm/sun4i/sun4i_hdmi.h
267
struct i2c_adapter *i2c;
drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
211
drm_edid = drm_edid_read_ddc(connector, hdmi->ddc_i2c ?: hdmi->i2c);
drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
691
i2c_del_adapter(hdmi->i2c);
drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
707
i2c_del_adapter(hdmi->i2c);
drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c
313
hdmi->i2c = adap;
drivers/gpu/drm/xe/xe_device_types.h
669
struct xe_i2c *i2c;
drivers/gpu/drm/xe/xe_i2c.c
115
if (i2c->adapter_irq) {
drivers/gpu/drm/xe/xe_i2c.c
118
res = DEFINE_RES_IRQ_NAMED(i2c->adapter_irq, "xe_i2c");
drivers/gpu/drm/xe/xe_i2c.c
125
pdev->dev.parent = i2c->drm_dev;
drivers/gpu/drm/xe/xe_i2c.c
127
i2c->adapter_node = fwnode;
drivers/gpu/drm/xe/xe_i2c.c
128
i2c->pdev = pdev;
drivers/gpu/drm/xe/xe_i2c.c
144
static void xe_i2c_unregister_adapter(struct xe_i2c *i2c)
drivers/gpu/drm/xe/xe_i2c.c
146
platform_device_unregister(i2c->pdev);
drivers/gpu/drm/xe/xe_i2c.c
147
fwnode_remove_software_node(i2c->adapter_node);
drivers/gpu/drm/xe/xe_i2c.c
161
return xe->i2c && xe->i2c->ep.cookie == XE_I2C_EP_COOKIE_DEVICE;
drivers/gpu/drm/xe/xe_i2c.c
166
return xe->i2c && xe->i2c->adapter_irq;
drivers/gpu/drm/xe/xe_i2c.c
183
generic_handle_irq_safe(xe->i2c->adapter_irq);
drivers/gpu/drm/xe/xe_i2c.c
219
struct xe_i2c *i2c = xe->i2c;
drivers/gpu/drm/xe/xe_i2c.c
222
if (!(i2c->ep.capabilities & XE_I2C_EP_CAP_IRQ) ||
drivers/gpu/drm/xe/xe_i2c.c
226
domain = irq_domain_create_linear(dev_fwnode(i2c->drm_dev), 1, &xe_i2c_irq_ops, NULL);
drivers/gpu/drm/xe/xe_i2c.c
230
i2c->adapter_irq = irq_create_mapping(domain, 0);
drivers/gpu/drm/xe/xe_i2c.c
231
i2c->irqdomain = domain;
drivers/gpu/drm/xe/xe_i2c.c
236
static void xe_i2c_remove_irq(struct xe_i2c *i2c)
drivers/gpu/drm/xe/xe_i2c.c
238
if (!i2c->irqdomain)
drivers/gpu/drm/xe/xe_i2c.c
241
irq_dispose_mapping(i2c->adapter_irq);
drivers/gpu/drm/xe/xe_i2c.c
242
irq_domain_remove(i2c->irqdomain);
drivers/gpu/drm/xe/xe_i2c.c
247
struct xe_i2c *i2c = context;
drivers/gpu/drm/xe/xe_i2c.c
249
*val = xe_mmio_read32(i2c->mmio, XE_REG(reg + I2C_MEM_SPACE_OFFSET));
drivers/gpu/drm/xe/xe_i2c.c
256
struct xe_i2c *i2c = context;
drivers/gpu/drm/xe/xe_i2c.c
258
xe_mmio_write32(i2c->mmio, XE_REG(reg + I2C_MEM_SPACE_OFFSET), val);
drivers/gpu/drm/xe/xe_i2c.c
298
struct xe_i2c *i2c = data;
drivers/gpu/drm/xe/xe_i2c.c
302
i2c_unregister_device(i2c->client[i]);
drivers/gpu/drm/xe/xe_i2c.c
304
bus_unregister_notifier(&i2c_bus_type, &i2c->bus_notifier);
drivers/gpu/drm/xe/xe_i2c.c
305
xe_i2c_unregister_adapter(i2c);
drivers/gpu/drm/xe/xe_i2c.c
306
xe_i2c_remove_irq(i2c);
drivers/gpu/drm/xe/xe_i2c.c
322
struct xe_i2c *i2c;
drivers/gpu/drm/xe/xe_i2c.c
335
i2c = devm_kzalloc(drm_dev, sizeof(*i2c), GFP_KERNEL);
drivers/gpu/drm/xe/xe_i2c.c
336
if (!i2c)
drivers/gpu/drm/xe/xe_i2c.c
339
INIT_WORK(&i2c->work, xe_i2c_client_work);
drivers/gpu/drm/xe/xe_i2c.c
340
i2c->mmio = xe_root_tile_mmio(xe);
drivers/gpu/drm/xe/xe_i2c.c
341
i2c->drm_dev = drm_dev;
drivers/gpu/drm/xe/xe_i2c.c
342
i2c->ep = ep;
drivers/gpu/drm/xe/xe_i2c.c
343
xe->i2c = i2c;
drivers/gpu/drm/xe/xe_i2c.c
348
regmap = devm_regmap_init(drm_dev, NULL, i2c, &i2c_regmap_config);
drivers/gpu/drm/xe/xe_i2c.c
352
i2c->bus_notifier.notifier_call = xe_i2c_notifier;
drivers/gpu/drm/xe/xe_i2c.c
353
ret = bus_register_notifier(&i2c_bus_type, &i2c->bus_notifier);
drivers/gpu/drm/xe/xe_i2c.c
361
ret = xe_i2c_register_adapter(i2c);
drivers/gpu/drm/xe/xe_i2c.c
366
return devm_add_action_or_reset(drm_dev, xe_i2c_remove, i2c);
drivers/gpu/drm/xe/xe_i2c.c
369
xe_i2c_remove_irq(i2c);
drivers/gpu/drm/xe/xe_i2c.c
372
bus_unregister_notifier(&i2c_bus_type, &i2c->bus_notifier);
drivers/gpu/drm/xe/xe_i2c.c
66
struct xe_i2c *i2c = container_of(work, struct xe_i2c, work);
drivers/gpu/drm/xe/xe_i2c.c
70
.addr = i2c->ep.addr[1],
drivers/gpu/drm/xe/xe_i2c.c
73
i2c->client[0] = i2c_new_client_device(i2c->adapter, &info);
drivers/gpu/drm/xe/xe_i2c.c
78
struct xe_i2c *i2c = container_of(nb, struct xe_i2c, bus_notifier);
drivers/gpu/drm/xe/xe_i2c.c
83
adapter && dev->parent == &i2c->pdev->dev) {
drivers/gpu/drm/xe/xe_i2c.c
84
i2c->adapter = adapter;
drivers/gpu/drm/xe/xe_i2c.c
85
schedule_work(&i2c->work);
drivers/gpu/drm/xe/xe_i2c.c
92
static int xe_i2c_register_adapter(struct xe_i2c *i2c)
drivers/gpu/drm/xe/xe_i2c.c
94
struct pci_dev *pci = to_pci_dev(i2c->drm_dev);
drivers/hid/i2c-hid/i2c-hid-of.c
151
MODULE_DEVICE_TABLE(i2c, i2c_hid_of_id_table);
drivers/hwmon/ad7414.c
211
MODULE_DEVICE_TABLE(i2c, ad7414_id);
drivers/hwmon/ad7418.c
289
MODULE_DEVICE_TABLE(i2c, ad7418_id);
drivers/hwmon/adc128d818.c
486
MODULE_DEVICE_TABLE(i2c, adc128_id);
drivers/hwmon/adm1025.c
555
MODULE_DEVICE_TABLE(i2c, adm1025_id);
drivers/hwmon/adm1026.c
1863
MODULE_DEVICE_TABLE(i2c, adm1026_id);
drivers/hwmon/adm1029.c
388
MODULE_DEVICE_TABLE(i2c, adm1029_id);
drivers/hwmon/adm1031.c
1062
MODULE_DEVICE_TABLE(i2c, adm1031_id);
drivers/hwmon/adm1177.c
252
MODULE_DEVICE_TABLE(i2c, adm1177_id);
drivers/hwmon/adm9240.c
802
MODULE_DEVICE_TABLE(i2c, adm9240_id);
drivers/hwmon/ads7828.c
183
MODULE_DEVICE_TABLE(i2c, ads7828_device_ids);
drivers/hwmon/adt7410.c
97
MODULE_DEVICE_TABLE(i2c, adt7410_ids);
drivers/hwmon/adt7411.c
676
MODULE_DEVICE_TABLE(i2c, adt7411_id);
drivers/hwmon/adt7462.c
1815
MODULE_DEVICE_TABLE(i2c, adt7462_id);
drivers/hwmon/adt7470.c
1302
MODULE_DEVICE_TABLE(i2c, adt7470_id);
drivers/hwmon/adt7475.c
174
MODULE_DEVICE_TABLE(i2c, adt7475_id);
drivers/hwmon/aht10.c
63
MODULE_DEVICE_TABLE(i2c, aht10_id);
drivers/hwmon/amc6821.c
1090
MODULE_DEVICE_TABLE(i2c, amc6821_id);
drivers/hwmon/asb100.c
219
MODULE_DEVICE_TABLE(i2c, asb100_id);
drivers/hwmon/asc7621.c
1187
MODULE_DEVICE_TABLE(i2c, asc7621_id);
drivers/hwmon/atxp1.c
284
MODULE_DEVICE_TABLE(i2c, atxp1_id);
drivers/hwmon/chipcap2.c
749
MODULE_DEVICE_TABLE(i2c, cc2_id);
drivers/hwmon/dme1737.c
2522
MODULE_DEVICE_TABLE(i2c, dme1737_id);
drivers/hwmon/ds1621.c
377
MODULE_DEVICE_TABLE(i2c, ds1621_id);
drivers/hwmon/ds620.c
240
MODULE_DEVICE_TABLE(i2c, ds620_id);
drivers/hwmon/emc1403.c
656
MODULE_DEVICE_TABLE(i2c, emc1403_idtable);
drivers/hwmon/emc2103.c
630
MODULE_DEVICE_TABLE(i2c, emc2103_ids);
drivers/hwmon/emc2305.c
68
MODULE_DEVICE_TABLE(i2c, emc2305_ids);
drivers/hwmon/emc6w201.c
470
MODULE_DEVICE_TABLE(i2c, emc6w201_id);
drivers/hwmon/f75375s.c
885
MODULE_DEVICE_TABLE(i2c, f75375_id);
drivers/hwmon/fschmd.c
237
MODULE_DEVICE_TABLE(i2c, fschmd_id);
drivers/hwmon/ftsteutates.c
55
MODULE_DEVICE_TABLE(i2c, fts_id);
drivers/hwmon/g760a.c
203
MODULE_DEVICE_TABLE(i2c, g760a_id);
drivers/hwmon/g762.c
52
MODULE_DEVICE_TABLE(i2c, g762_id);
drivers/hwmon/gl518sm.c
648
MODULE_DEVICE_TABLE(i2c, gl518_id);
drivers/hwmon/gl520sm.c
891
MODULE_DEVICE_TABLE(i2c, gl520_id);
drivers/hwmon/hih6130.c
239
MODULE_DEVICE_TABLE(i2c, hih6130_id);
drivers/hwmon/hs3001.c
176
MODULE_DEVICE_TABLE(i2c, hs3001_ids);
drivers/hwmon/htu31.c
328
MODULE_DEVICE_TABLE(i2c, htu31_id);
drivers/hwmon/ina209.c
582
MODULE_DEVICE_TABLE(i2c, ina209_id);
drivers/hwmon/ina238.c
848
MODULE_DEVICE_TABLE(i2c, ina238_id);
drivers/hwmon/ina2xx.c
989
MODULE_DEVICE_TABLE(i2c, ina2xx_id);
drivers/hwmon/ina3221.c
1008
MODULE_DEVICE_TABLE(i2c, ina3221_ids);
drivers/hwmon/isl28022.c
474
MODULE_DEVICE_TABLE(i2c, isl28022_ids);
drivers/hwmon/jc42.c
585
MODULE_DEVICE_TABLE(i2c, jc42_id);
drivers/hwmon/lineage-pem.c
508
MODULE_DEVICE_TABLE(i2c, pem_id);
drivers/hwmon/lm63.c
1139
MODULE_DEVICE_TABLE(i2c, lm63_id);
drivers/hwmon/lm73.c
226
MODULE_DEVICE_TABLE(i2c, lm73_ids);
drivers/hwmon/lm75.c
834
MODULE_DEVICE_TABLE(i2c, lm75_i2c_ids);
drivers/hwmon/lm77.c
343
MODULE_DEVICE_TABLE(i2c, lm77_id);
drivers/hwmon/lm78.c
656
MODULE_DEVICE_TABLE(i2c, lm78_i2c_id);
drivers/hwmon/lm80.c
629
MODULE_DEVICE_TABLE(i2c, lm80_id);
drivers/hwmon/lm83.c
450
MODULE_DEVICE_TABLE(i2c, lm83_id);
drivers/hwmon/lm85.c
1635
MODULE_DEVICE_TABLE(i2c, lm85_id);
drivers/hwmon/lm87.c
988
MODULE_DEVICE_TABLE(i2c, lm87_id);
drivers/hwmon/lm90.c
296
MODULE_DEVICE_TABLE(i2c, lm90_id);
drivers/hwmon/lm92.c
414
MODULE_DEVICE_TABLE(i2c, lm92_id);
drivers/hwmon/lm93.c
2631
MODULE_DEVICE_TABLE(i2c, lm93_id);
drivers/hwmon/lm95234.c
539
MODULE_DEVICE_TABLE(i2c, lm95234_id);
drivers/hwmon/lm95241.c
448
MODULE_DEVICE_TABLE(i2c, lm95241_id);
drivers/hwmon/lm95245.c
553
MODULE_DEVICE_TABLE(i2c, lm95245_id);
drivers/hwmon/ltc2945.c
515
MODULE_DEVICE_TABLE(i2c, ltc2945_id);
drivers/hwmon/ltc2947-i2c.c
18
static int ltc2947_probe(struct i2c_client *i2c)
drivers/hwmon/ltc2947-i2c.c
22
map = devm_regmap_init_i2c(i2c, &ltc2947_regmap_config);
drivers/hwmon/ltc2947-i2c.c
26
return ltc2947_core_probe(map, i2c->name);
drivers/hwmon/ltc2947-i2c.c
33
MODULE_DEVICE_TABLE(i2c, ltc2947_id);
drivers/hwmon/ltc2990.c
104
val = i2c_smbus_read_word_swapped(i2c, reg);
drivers/hwmon/ltc2990.c
146
ret = ltc2990_get_value(data->i2c, attr->index, &value);
drivers/hwmon/ltc2990.c
203
static int ltc2990_i2c_probe(struct i2c_client *i2c)
drivers/hwmon/ltc2990.c
209
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_SMBUS_BYTE_DATA |
drivers/hwmon/ltc2990.c
213
data = devm_kzalloc(&i2c->dev, sizeof(struct ltc2990_data), GFP_KERNEL);
drivers/hwmon/ltc2990.c
217
data->i2c = i2c;
drivers/hwmon/ltc2990.c
219
if (dev_fwnode(&i2c->dev)) {
drivers/hwmon/ltc2990.c
220
ret = device_property_read_u32_array(&i2c->dev,
drivers/hwmon/ltc2990.c
230
ret = i2c_smbus_read_byte_data(i2c, LTC2990_CONTROL);
drivers/hwmon/ltc2990.c
239
ret = i2c_smbus_write_byte_data(i2c, LTC2990_CONTROL,
drivers/hwmon/ltc2990.c
243
dev_err(&i2c->dev, "Error: Failed to set control mode.\n");
drivers/hwmon/ltc2990.c
247
ret = i2c_smbus_write_byte_data(i2c, LTC2990_TRIGGER, 1);
drivers/hwmon/ltc2990.c
249
dev_err(&i2c->dev, "Error: Failed to start acquisition.\n");
drivers/hwmon/ltc2990.c
253
hwmon_dev = devm_hwmon_device_register_with_groups(&i2c->dev,
drivers/hwmon/ltc2990.c
254
i2c->name,
drivers/hwmon/ltc2990.c
265
MODULE_DEVICE_TABLE(i2c, ltc2990_i2c_id);
drivers/hwmon/ltc2990.c
67
struct i2c_client *i2c;
drivers/hwmon/ltc2990.c
72
static int ltc2990_get_value(struct i2c_client *i2c, int index, int *result)
drivers/hwmon/ltc2991.c
415
MODULE_DEVICE_TABLE(i2c, ltc2991_i2c_id);
drivers/hwmon/ltc2992.c
931
MODULE_DEVICE_TABLE(i2c, ltc2992_i2c_id);
drivers/hwmon/ltc4151.c
194
MODULE_DEVICE_TABLE(i2c, ltc4151_id);
drivers/hwmon/ltc4215.c
251
MODULE_DEVICE_TABLE(i2c, ltc4215_id);
drivers/hwmon/ltc4222.c
207
MODULE_DEVICE_TABLE(i2c, ltc4222_id);
drivers/hwmon/ltc4245.c
467
MODULE_DEVICE_TABLE(i2c, ltc4245_id);
drivers/hwmon/ltc4260.c
170
MODULE_DEVICE_TABLE(i2c, ltc4260_id);
drivers/hwmon/ltc4261.c
229
MODULE_DEVICE_TABLE(i2c, ltc4261_id);
drivers/hwmon/ltc4282.c
1635
static void ltc4282_debugfs_init(struct ltc4282_state *st, struct i2c_client *i2c)
drivers/hwmon/ltc4282.c
1637
debugfs_create_file_unsafe("power1_bad_fault_log", 0400, i2c->debugfs, st,
drivers/hwmon/ltc4282.c
1639
debugfs_create_file_unsafe("in0_fet_short_fault_log", 0400, i2c->debugfs, st,
drivers/hwmon/ltc4282.c
1641
debugfs_create_file_unsafe("in0_fet_bad_fault_log", 0400, i2c->debugfs, st,
drivers/hwmon/ltc4282.c
1643
debugfs_create_file_unsafe("in1_crit_fault_log", 0400, i2c->debugfs, st,
drivers/hwmon/ltc4282.c
1645
debugfs_create_file_unsafe("in1_lcrit_fault_log", 0400, i2c->debugfs, st,
drivers/hwmon/ltc4282.c
1647
debugfs_create_file_unsafe("curr1_crit_fault_log", 0400, i2c->debugfs, st,
drivers/hwmon/ltc4282.c
1651
static int ltc4282_probe(struct i2c_client *i2c)
drivers/hwmon/ltc4282.c
1653
struct device *dev = &i2c->dev, *hwmon;
drivers/hwmon/ltc4282.c
1661
st->map = devm_regmap_init_i2c(i2c, &ltc4282_regmap_config);
drivers/hwmon/ltc4282.c
1687
ltc4282_debugfs_init(st, i2c);
drivers/hwmon/max127.c
318
MODULE_DEVICE_TABLE(i2c, max127_id);
drivers/hwmon/max16065.c
604
MODULE_DEVICE_TABLE(i2c, max16065_id);
drivers/hwmon/max1619.c
372
MODULE_DEVICE_TABLE(i2c, max1619_id);
drivers/hwmon/max1668.c
301
MODULE_DEVICE_TABLE(i2c, max1668_id);
drivers/hwmon/max31730.c
351
MODULE_DEVICE_TABLE(i2c, max31730_ids);
drivers/hwmon/max31760.c
561
MODULE_DEVICE_TABLE(i2c, max31760_id);
drivers/hwmon/max31790.c
523
MODULE_DEVICE_TABLE(i2c, max31790_id);
drivers/hwmon/max31827.c
471
MODULE_DEVICE_TABLE(i2c, max31827_i2c_ids);
drivers/hwmon/max6620.c
480
MODULE_DEVICE_TABLE(i2c, max6620_id);
drivers/hwmon/max6621.c
543
MODULE_DEVICE_TABLE(i2c, max6621_id);
drivers/hwmon/max6639.c
785
MODULE_DEVICE_TABLE(i2c, max6639_id);
drivers/hwmon/max6650.c
813
MODULE_DEVICE_TABLE(i2c, max6650_id);
drivers/hwmon/max6697.c
579
MODULE_DEVICE_TABLE(i2c, max6697_id);
drivers/hwmon/mc34vr500.c
241
MODULE_DEVICE_TABLE(i2c, mc34vr500_id);
drivers/hwmon/mcp3021.c
184
MODULE_DEVICE_TABLE(i2c, mcp3021_id);
drivers/hwmon/nct6775-i2c.c
111
MODULE_DEVICE_TABLE(i2c, nct6775_i2c_id);
drivers/hwmon/nct7802.c
1199
MODULE_DEVICE_TABLE(i2c, nct7802_idtable);
drivers/hwmon/nct7904.c
1152
MODULE_DEVICE_TABLE(i2c, nct7904_id);
drivers/hwmon/pcf8591.c
291
MODULE_DEVICE_TABLE(i2c, pcf8591_id);
drivers/hwmon/pmbus/adm1266.c
496
MODULE_DEVICE_TABLE(i2c, adm1266_id);
drivers/hwmon/pmbus/adm1275.c
493
MODULE_DEVICE_TABLE(i2c, adm1275_id);
drivers/hwmon/pmbus/adp1050.c
98
MODULE_DEVICE_TABLE(i2c, adp1050_id);
drivers/hwmon/pmbus/bel-pfe.c
117
MODULE_DEVICE_TABLE(i2c, pfe_device_id);
drivers/hwmon/pmbus/bpa-rs600.c
154
MODULE_DEVICE_TABLE(i2c, bpa_rs600_id);
drivers/hwmon/pmbus/crps.c
16
MODULE_DEVICE_TABLE(i2c, crps_id);
drivers/hwmon/pmbus/delta-ahe50dc-fan.c
109
MODULE_DEVICE_TABLE(i2c, ahe50dc_fan_id);
drivers/hwmon/pmbus/dps920ab.c
197
MODULE_DEVICE_TABLE(i2c, dps920ab_device_id);
drivers/hwmon/pmbus/fsp-3y.c
279
MODULE_DEVICE_TABLE(i2c, fsp3y_id);
drivers/hwmon/pmbus/hac300s.c
118
MODULE_DEVICE_TABLE(i2c, hac300s_id);
drivers/hwmon/pmbus/ibm-cffps.c
480
MODULE_DEVICE_TABLE(i2c, ibm_cffps_id);
drivers/hwmon/pmbus/ina233.c
172
MODULE_DEVICE_TABLE(i2c, ina233_id);
drivers/hwmon/pmbus/inspur-ipsps.c
203
MODULE_DEVICE_TABLE(i2c, ipsps_id);
drivers/hwmon/pmbus/ir35221.c
133
MODULE_DEVICE_TABLE(i2c, ir35221_id);
drivers/hwmon/pmbus/ir36021.c
57
MODULE_DEVICE_TABLE(i2c, ir36021_id);
drivers/hwmon/pmbus/ir38064.c
63
MODULE_DEVICE_TABLE(i2c, ir38064_id);
drivers/hwmon/pmbus/irps5401.c
51
MODULE_DEVICE_TABLE(i2c, irps5401_id);
drivers/hwmon/pmbus/isl68137.c
508
MODULE_DEVICE_TABLE(i2c, raa_dmpvr_id);
drivers/hwmon/pmbus/lm25066.c
452
MODULE_DEVICE_TABLE(i2c, lm25066_id);
drivers/hwmon/pmbus/lt3074.c
101
MODULE_DEVICE_TABLE(i2c, lt3074_id);
drivers/hwmon/pmbus/lt7182s.c
174
MODULE_DEVICE_TABLE(i2c, lt7182s_id);
drivers/hwmon/pmbus/ltc2978.c
572
MODULE_DEVICE_TABLE(i2c, ltc2978_id);
drivers/hwmon/pmbus/ltc3815.c
149
MODULE_DEVICE_TABLE(i2c, ltc3815_id);
drivers/hwmon/pmbus/ltc4286.c
65
MODULE_DEVICE_TABLE(i2c, ltc4286_id);
drivers/hwmon/pmbus/max15301.c
31
MODULE_DEVICE_TABLE(i2c, max15301_id);
drivers/hwmon/pmbus/max16064.c
98
MODULE_DEVICE_TABLE(i2c, max16064_id);
drivers/hwmon/pmbus/max16601.c
272
MODULE_DEVICE_TABLE(i2c, max16601_id);
drivers/hwmon/pmbus/max17616.c
52
MODULE_DEVICE_TABLE(i2c, max17616_id);
drivers/hwmon/pmbus/max20730.c
764
MODULE_DEVICE_TABLE(i2c, max20730_id);
drivers/hwmon/pmbus/max20751.c
39
MODULE_DEVICE_TABLE(i2c, max20751_id);
drivers/hwmon/pmbus/max31785.c
527
MODULE_DEVICE_TABLE(i2c, max31785_id);
drivers/hwmon/pmbus/max34440.c
659
MODULE_DEVICE_TABLE(i2c, max34440_id);
drivers/hwmon/pmbus/max8688.c
178
MODULE_DEVICE_TABLE(i2c, max8688_id);
drivers/hwmon/pmbus/mp2856.c
62
MODULE_DEVICE_TABLE(i2c, mp2856_id);
drivers/hwmon/pmbus/mp2869.c
641
MODULE_DEVICE_TABLE(i2c, mp2869_id);
drivers/hwmon/pmbus/mp2888.c
385
MODULE_DEVICE_TABLE(i2c, mp2888_id);
drivers/hwmon/pmbus/mp2891.c
578
MODULE_DEVICE_TABLE(i2c, mp2891_id);
drivers/hwmon/pmbus/mp2925.c
312
MODULE_DEVICE_TABLE(i2c, mp2925_id);
drivers/hwmon/pmbus/mp29502.c
648
MODULE_DEVICE_TABLE(i2c, mp29502_id);
drivers/hwmon/pmbus/mp2975.c
1090
MODULE_DEVICE_TABLE(i2c, mp2975_id);
drivers/hwmon/pmbus/mp2993.c
239
MODULE_DEVICE_TABLE(i2c, mp2993_id);
drivers/hwmon/pmbus/mp5920.c
73
MODULE_DEVICE_TABLE(i2c, mp5920_id);
drivers/hwmon/pmbus/mp5926.c
163
MODULE_DEVICE_TABLE(i2c, mp5926_id);
drivers/hwmon/pmbus/mp5990.c
155
MODULE_DEVICE_TABLE(i2c, mp5990_id);
drivers/hwmon/pmbus/mp9941.c
297
MODULE_DEVICE_TABLE(i2c, mp9941_id);
drivers/hwmon/pmbus/mp9945.c
221
MODULE_DEVICE_TABLE(i2c, mp9945_id);
drivers/hwmon/pmbus/mpq7932.c
152
MODULE_DEVICE_TABLE(i2c, mpq7932_id);
drivers/hwmon/pmbus/mpq8785.c
119
MODULE_DEVICE_TABLE(i2c, mpq8785_id);
drivers/hwmon/pmbus/pim4328.c
52
MODULE_DEVICE_TABLE(i2c, pim4328_id);
drivers/hwmon/pmbus/pli1209bc.c
124
MODULE_DEVICE_TABLE(i2c, pli1209bc_id);
drivers/hwmon/pmbus/pm6764tr.c
54
MODULE_DEVICE_TABLE(i2c, pm6764tr_id);
drivers/hwmon/pmbus/pmbus.c
250
MODULE_DEVICE_TABLE(i2c, pmbus_id);
drivers/hwmon/pmbus/pxe1610.c
139
MODULE_DEVICE_TABLE(i2c, pxe1610_id);
drivers/hwmon/pmbus/q54sj108a2.c
277
MODULE_DEVICE_TABLE(i2c, q54sj108a2_id);
drivers/hwmon/pmbus/stef48h28.c
54
MODULE_DEVICE_TABLE(i2c, stef48h28_id);
drivers/hwmon/pmbus/stpddc60.c
25
MODULE_DEVICE_TABLE(i2c, stpddc60_id);
drivers/hwmon/pmbus/tda38640.c
201
MODULE_DEVICE_TABLE(i2c, tda38640_id);
drivers/hwmon/pmbus/tps25990.c
393
MODULE_DEVICE_TABLE(i2c, tps25990_i2c_id);
drivers/hwmon/pmbus/tps40422.c
38
MODULE_DEVICE_TABLE(i2c, tps40422_id);
drivers/hwmon/pmbus/tps53679.c
308
MODULE_DEVICE_TABLE(i2c, tps53679_id);
drivers/hwmon/pmbus/tps546d24.c
48
MODULE_DEVICE_TABLE(i2c, tps546d24_id);
drivers/hwmon/pmbus/ucd9000.c
155
MODULE_DEVICE_TABLE(i2c, ucd9000_id);
drivers/hwmon/pmbus/ucd9200.c
35
MODULE_DEVICE_TABLE(i2c, ucd9200_id);
drivers/hwmon/pmbus/xdp710.c
116
MODULE_DEVICE_TABLE(i2c, xdp710_id);
drivers/hwmon/pmbus/xdpe12284.c
173
MODULE_DEVICE_TABLE(i2c, xdpe122_id);
drivers/hwmon/pmbus/xdpe152c4.c
52
MODULE_DEVICE_TABLE(i2c, xdpe152_id);
drivers/hwmon/pmbus/zl6100.c
277
MODULE_DEVICE_TABLE(i2c, zl6100_id);
drivers/hwmon/powr1220.c
314
MODULE_DEVICE_TABLE(i2c, powr1220_ids);
drivers/hwmon/pt5161l.c
623
MODULE_DEVICE_TABLE(i2c, pt5161l_id);
drivers/hwmon/sbtsi_temp.c
227
MODULE_DEVICE_TABLE(i2c, sbtsi_id);
drivers/hwmon/sg2042-mcu.c
339
MODULE_DEVICE_TABLE(i2c, sg2042_mcu_id);
drivers/hwmon/sht21.c
283
MODULE_DEVICE_TABLE(i2c, sht21_id);
drivers/hwmon/sht3x.c
940
MODULE_DEVICE_TABLE(i2c, sht3x_ids);
drivers/hwmon/sht4x.c
430
MODULE_DEVICE_TABLE(i2c, sht4x_id);
drivers/hwmon/shtc1.c
265
MODULE_DEVICE_TABLE(i2c, shtc1_id);
drivers/hwmon/smsc47m192.c
624
MODULE_DEVICE_TABLE(i2c, smsc47m192_id);
drivers/hwmon/spd5118.c
752
MODULE_DEVICE_TABLE(i2c, spd5118_i2c_id);
drivers/hwmon/stts751.c
815
MODULE_DEVICE_TABLE(i2c, stts751_id);
drivers/hwmon/tc654.c
558
MODULE_DEVICE_TABLE(i2c, tc654_id);
drivers/hwmon/tc74.c
157
MODULE_DEVICE_TABLE(i2c, tc74_id);
drivers/hwmon/thmc50.c
414
MODULE_DEVICE_TABLE(i2c, thmc50_id);
drivers/hwmon/tmp102.c
315
MODULE_DEVICE_TABLE(i2c, tmp102_id);
drivers/hwmon/tmp103.c
200
MODULE_DEVICE_TABLE(i2c, tmp103_id);
drivers/hwmon/tmp108.c
545
MODULE_DEVICE_TABLE(i2c, tmp108_i2c_ids);
drivers/hwmon/tmp401.c
100
MODULE_DEVICE_TABLE(i2c, tmp401_id);
drivers/hwmon/tmp421.c
66
MODULE_DEVICE_TABLE(i2c, tmp421_id);
drivers/hwmon/tmp464.c
72
MODULE_DEVICE_TABLE(i2c, tmp464_id);
drivers/hwmon/tmp513.c
618
MODULE_DEVICE_TABLE(i2c, tmp51x_id);
drivers/hwmon/tsc1641.c
727
MODULE_DEVICE_TABLE(i2c, tsc1641_id);
drivers/hwmon/w83773g.c
41
MODULE_DEVICE_TABLE(i2c, w83773_id);
drivers/hwmon/w83781d.c
1568
MODULE_DEVICE_TABLE(i2c, w83781d_ids);
drivers/hwmon/w83791d.c
339
MODULE_DEVICE_TABLE(i2c, w83791d_id);
drivers/hwmon/w83792d.c
302
MODULE_DEVICE_TABLE(i2c, w83792d_id);
drivers/hwmon/w83793.c
297
MODULE_DEVICE_TABLE(i2c, w83793_id);
drivers/hwmon/w83795.c
2250
MODULE_DEVICE_TABLE(i2c, w83795_id);
drivers/hwmon/w83l785ts.c
80
MODULE_DEVICE_TABLE(i2c, w83l785ts_id);
drivers/hwmon/w83l786ng.c
757
MODULE_DEVICE_TABLE(i2c, w83l786ng_id);
drivers/i2c/busses/i2c-cgbc.c
119
struct cgbc_i2c_data *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-cgbc.c
120
struct cgbc_device_data *cgbc = i2c->cgbc;
drivers/i2c/busses/i2c-cgbc.c
136
struct cgbc_i2c_data *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-cgbc.c
137
struct cgbc_device_data *cgbc = i2c->cgbc;
drivers/i2c/busses/i2c-cgbc.c
143
dev_info(i2c->dev, "invalid frequency %u, using default\n", bus_frequency);
drivers/i2c/busses/i2c-cgbc.c
152
return dev_err_probe(i2c->dev, ret,
drivers/i2c/busses/i2c-cgbc.c
160
return dev_err_probe(i2c->dev, ret,
drivers/i2c/busses/i2c-cgbc.c
165
dev_dbg(i2c->dev, "%s is running at %d Hz\n", adap->name, bus_frequency);
drivers/i2c/busses/i2c-cgbc.c
204
struct cgbc_i2c_data *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-cgbc.c
205
struct cgbc_device_data *cgbc = i2c->cgbc;
drivers/i2c/busses/i2c-cgbc.c
206
struct i2c_msg *msg = i2c->msg;
drivers/i2c/busses/i2c-cgbc.c
217
if (i2c->state == CGBC_I2C_STATE_DONE)
drivers/i2c/busses/i2c-cgbc.c
227
if (i2c->state == CGBC_I2C_STATE_INIT ||
drivers/i2c/busses/i2c-cgbc.c
228
(i2c->state == CGBC_I2C_STATE_WRITE && msg->flags & I2C_M_RD))
drivers/i2c/busses/i2c-cgbc.c
231
i2c->state = (msg->flags & I2C_M_RD) ? CGBC_I2C_STATE_READ : CGBC_I2C_STATE_WRITE;
drivers/i2c/busses/i2c-cgbc.c
233
max_len = (i2c->state == CGBC_I2C_STATE_READ) ?
drivers/i2c/busses/i2c-cgbc.c
236
if (msg->len - i2c->pos > max_len) {
drivers/i2c/busses/i2c-cgbc.c
239
len = msg->len - i2c->pos;
drivers/i2c/busses/i2c-cgbc.c
241
if (i2c->nmsgs == 1)
drivers/i2c/busses/i2c-cgbc.c
245
if (i2c->state == CGBC_I2C_STATE_WRITE) {
drivers/i2c/busses/i2c-cgbc.c
250
xfer.data[i] = msg->buf[i2c->pos + i];
drivers/i2c/busses/i2c-cgbc.c
257
} else if (i2c->state == CGBC_I2C_STATE_READ) {
drivers/i2c/busses/i2c-cgbc.c
261
if (i2c->nmsgs > 1 || msg->len - i2c->pos > max_len)
drivers/i2c/busses/i2c-cgbc.c
277
msg->buf + i2c->pos, len, NULL);
drivers/i2c/busses/i2c-cgbc.c
282
if (len == (msg->len - i2c->pos)) {
drivers/i2c/busses/i2c-cgbc.c
283
i2c->msg++;
drivers/i2c/busses/i2c-cgbc.c
284
i2c->nmsgs--;
drivers/i2c/busses/i2c-cgbc.c
285
i2c->pos = 0;
drivers/i2c/busses/i2c-cgbc.c
287
i2c->pos += len;
drivers/i2c/busses/i2c-cgbc.c
290
if (i2c->nmsgs == 0)
drivers/i2c/busses/i2c-cgbc.c
291
i2c->state = CGBC_I2C_STATE_DONE;
drivers/i2c/busses/i2c-cgbc.c
296
i2c->state = CGBC_I2C_STATE_ERROR;
drivers/i2c/busses/i2c-cgbc.c
303
struct cgbc_i2c_data *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-cgbc.c
307
i2c->state = CGBC_I2C_STATE_INIT;
drivers/i2c/busses/i2c-cgbc.c
308
i2c->msg = msgs;
drivers/i2c/busses/i2c-cgbc.c
309
i2c->nmsgs = num;
drivers/i2c/busses/i2c-cgbc.c
310
i2c->pos = 0;
drivers/i2c/busses/i2c-cgbc.c
314
if (i2c->state == CGBC_I2C_STATE_DONE)
drivers/i2c/busses/i2c-cgbc.c
317
if (i2c->state == CGBC_I2C_STATE_ERROR)
drivers/i2c/busses/i2c-cgbc.c
324
i2c->state = CGBC_I2C_STATE_ERROR;
drivers/i2c/busses/i2c-cgbc.c
365
struct cgbc_i2c_data *i2c;
drivers/i2c/busses/i2c-cgbc.c
368
i2c = devm_kzalloc(&pdev->dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-cgbc.c
369
if (!i2c)
drivers/i2c/busses/i2c-cgbc.c
372
i2c->cgbc = cgbc;
drivers/i2c/busses/i2c-cgbc.c
373
i2c->dev = &pdev->dev;
drivers/i2c/busses/i2c-cgbc.c
374
i2c->adap = cgbc_i2c_adapter[pdev->id];
drivers/i2c/busses/i2c-cgbc.c
375
i2c->adap.dev.parent = i2c->dev;
drivers/i2c/busses/i2c-cgbc.c
376
i2c_set_adapdata(&i2c->adap, i2c);
drivers/i2c/busses/i2c-cgbc.c
377
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-cgbc.c
379
ret = cgbc_i2c_set_frequency(&i2c->adap, I2C_MAX_STANDARD_MODE_FREQ);
drivers/i2c/busses/i2c-cgbc.c
383
return i2c_add_numbered_adapter(&i2c->adap);
drivers/i2c/busses/i2c-cgbc.c
388
struct cgbc_i2c_data *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-cgbc.c
390
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-digicolor.c
102
static void dc_i2c_next_read(struct dc_i2c *i2c)
drivers/i2c/busses/i2c-digicolor.c
104
bool last = (i2c->msgbuf_ptr + 1 == i2c->msg->len);
drivers/i2c/busses/i2c-digicolor.c
106
dc_i2c_cmd(i2c, last ? II_CMD_GET_NOACK : II_CMD_GET_ACK);
drivers/i2c/busses/i2c-digicolor.c
109
static void dc_i2c_stop(struct dc_i2c *i2c)
drivers/i2c/busses/i2c-digicolor.c
111
i2c->state = STATE_STOP;
drivers/i2c/busses/i2c-digicolor.c
112
if (i2c->last)
drivers/i2c/busses/i2c-digicolor.c
113
dc_i2c_cmd(i2c, II_CMD_STOP);
drivers/i2c/busses/i2c-digicolor.c
115
complete(&i2c->done);
drivers/i2c/busses/i2c-digicolor.c
118
static u8 dc_i2c_read_byte(struct dc_i2c *i2c)
drivers/i2c/busses/i2c-digicolor.c
120
return readb_relaxed(i2c->regs + II_DATA);
drivers/i2c/busses/i2c-digicolor.c
123
static void dc_i2c_read_buf(struct dc_i2c *i2c)
drivers/i2c/busses/i2c-digicolor.c
125
i2c->msg->buf[i2c->msgbuf_ptr++] = dc_i2c_read_byte(i2c);
drivers/i2c/busses/i2c-digicolor.c
126
dc_i2c_next_read(i2c);
drivers/i2c/busses/i2c-digicolor.c
129
static void dc_i2c_set_irq(struct dc_i2c *i2c, int enable)
drivers/i2c/busses/i2c-digicolor.c
132
writeb_relaxed(1, i2c->regs + II_INTFLAG_CLEAR);
drivers/i2c/busses/i2c-digicolor.c
133
writeb_relaxed(!!enable, i2c->regs + II_INTENABLE);
drivers/i2c/busses/i2c-digicolor.c
136
static int dc_i2c_cmd_status(struct dc_i2c *i2c)
drivers/i2c/busses/i2c-digicolor.c
138
u8 cmd = readb_relaxed(i2c->regs + II_COMMAND);
drivers/i2c/busses/i2c-digicolor.c
143
static void dc_i2c_start_msg(struct dc_i2c *i2c, int first)
drivers/i2c/busses/i2c-digicolor.c
145
struct i2c_msg *msg = i2c->msg;
drivers/i2c/busses/i2c-digicolor.c
148
i2c->state = STATE_START;
drivers/i2c/busses/i2c-digicolor.c
149
dc_i2c_cmd(i2c, first ? II_CMD_START : II_CMD_RESTART);
drivers/i2c/busses/i2c-digicolor.c
151
i2c->state = STATE_READ;
drivers/i2c/busses/i2c-digicolor.c
152
dc_i2c_next_read(i2c);
drivers/i2c/busses/i2c-digicolor.c
154
i2c->state = STATE_WRITE;
drivers/i2c/busses/i2c-digicolor.c
155
dc_i2c_write_buf(i2c);
drivers/i2c/busses/i2c-digicolor.c
161
struct dc_i2c *i2c = dev_id;
drivers/i2c/busses/i2c-digicolor.c
162
int cmd_status = dc_i2c_cmd_status(i2c);
drivers/i2c/busses/i2c-digicolor.c
165
writeb_relaxed(1, i2c->regs + II_INTFLAG_CLEAR);
drivers/i2c/busses/i2c-digicolor.c
167
spin_lock(&i2c->lock);
drivers/i2c/busses/i2c-digicolor.c
171
i2c->error = -EIO;
drivers/i2c/busses/i2c-digicolor.c
172
complete(&i2c->done);
drivers/i2c/busses/i2c-digicolor.c
176
switch (i2c->state) {
drivers/i2c/busses/i2c-digicolor.c
178
addr_cmd = dc_i2c_addr_cmd(i2c->msg);
drivers/i2c/busses/i2c-digicolor.c
179
dc_i2c_write_byte(i2c, addr_cmd);
drivers/i2c/busses/i2c-digicolor.c
180
i2c->state = STATE_ADDR;
drivers/i2c/busses/i2c-digicolor.c
183
if (i2c->msg->flags & I2C_M_RD) {
drivers/i2c/busses/i2c-digicolor.c
184
dc_i2c_next_read(i2c);
drivers/i2c/busses/i2c-digicolor.c
185
i2c->state = STATE_READ;
drivers/i2c/busses/i2c-digicolor.c
188
i2c->state = STATE_WRITE;
drivers/i2c/busses/i2c-digicolor.c
191
if (i2c->msgbuf_ptr < i2c->msg->len)
drivers/i2c/busses/i2c-digicolor.c
192
dc_i2c_write_buf(i2c);
drivers/i2c/busses/i2c-digicolor.c
194
dc_i2c_stop(i2c);
drivers/i2c/busses/i2c-digicolor.c
197
if (i2c->msgbuf_ptr < i2c->msg->len)
drivers/i2c/busses/i2c-digicolor.c
198
dc_i2c_read_buf(i2c);
drivers/i2c/busses/i2c-digicolor.c
200
dc_i2c_stop(i2c);
drivers/i2c/busses/i2c-digicolor.c
203
i2c->state = STATE_IDLE;
drivers/i2c/busses/i2c-digicolor.c
204
complete(&i2c->done);
drivers/i2c/busses/i2c-digicolor.c
209
spin_unlock(&i2c->lock);
drivers/i2c/busses/i2c-digicolor.c
213
static int dc_i2c_xfer_msg(struct dc_i2c *i2c, struct i2c_msg *msg, int first,
drivers/i2c/busses/i2c-digicolor.c
219
spin_lock_irqsave(&i2c->lock, flags);
drivers/i2c/busses/i2c-digicolor.c
220
i2c->msg = msg;
drivers/i2c/busses/i2c-digicolor.c
221
i2c->msgbuf_ptr = 0;
drivers/i2c/busses/i2c-digicolor.c
222
i2c->last = last;
drivers/i2c/busses/i2c-digicolor.c
223
i2c->error = 0;
drivers/i2c/busses/i2c-digicolor.c
225
reinit_completion(&i2c->done);
drivers/i2c/busses/i2c-digicolor.c
226
dc_i2c_set_irq(i2c, 1);
drivers/i2c/busses/i2c-digicolor.c
227
dc_i2c_start_msg(i2c, first);
drivers/i2c/busses/i2c-digicolor.c
228
spin_unlock_irqrestore(&i2c->lock, flags);
drivers/i2c/busses/i2c-digicolor.c
230
time_left = wait_for_completion_timeout(&i2c->done, time_left);
drivers/i2c/busses/i2c-digicolor.c
231
dc_i2c_set_irq(i2c, 0);
drivers/i2c/busses/i2c-digicolor.c
233
i2c->state = STATE_IDLE;
drivers/i2c/busses/i2c-digicolor.c
237
if (i2c->error)
drivers/i2c/busses/i2c-digicolor.c
238
return i2c->error;
drivers/i2c/busses/i2c-digicolor.c
245
struct dc_i2c *i2c = adap->algo_data;
drivers/i2c/busses/i2c-digicolor.c
249
ret = dc_i2c_xfer_msg(i2c, &msgs[i], i == 0, i == num - 1);
drivers/i2c/busses/i2c-digicolor.c
257
static int dc_i2c_init_hw(struct dc_i2c *i2c)
drivers/i2c/busses/i2c-digicolor.c
259
unsigned long clk_rate = clk_get_rate(i2c->clk);
drivers/i2c/busses/i2c-digicolor.c
262
writeb_relaxed(II_CONTROL_LOCAL_RESET, i2c->regs + II_CONTROL);
drivers/i2c/busses/i2c-digicolor.c
264
writeb_relaxed(0, i2c->regs + II_CONTROL);
drivers/i2c/busses/i2c-digicolor.c
267
clocktime = DIV_ROUND_UP(clk_rate, 64 * i2c->frequency);
drivers/i2c/busses/i2c-digicolor.c
269
dev_err(i2c->dev, "can't set bus speed of %u Hz\n",
drivers/i2c/busses/i2c-digicolor.c
270
i2c->frequency);
drivers/i2c/busses/i2c-digicolor.c
273
writeb_relaxed(clocktime - 1, i2c->regs + II_CLOCKTIME);
drivers/i2c/busses/i2c-digicolor.c
291
struct dc_i2c *i2c;
drivers/i2c/busses/i2c-digicolor.c
294
i2c = devm_kzalloc(&pdev->dev, sizeof(struct dc_i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-digicolor.c
295
if (!i2c)
drivers/i2c/busses/i2c-digicolor.c
299
&i2c->frequency))
drivers/i2c/busses/i2c-digicolor.c
300
i2c->frequency = I2C_MAX_STANDARD_MODE_FREQ;
drivers/i2c/busses/i2c-digicolor.c
302
i2c->dev = &pdev->dev;
drivers/i2c/busses/i2c-digicolor.c
303
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-digicolor.c
305
spin_lock_init(&i2c->lock);
drivers/i2c/busses/i2c-digicolor.c
306
init_completion(&i2c->done);
drivers/i2c/busses/i2c-digicolor.c
308
i2c->clk = devm_clk_get(&pdev->dev, NULL);
drivers/i2c/busses/i2c-digicolor.c
309
if (IS_ERR(i2c->clk))
drivers/i2c/busses/i2c-digicolor.c
310
return PTR_ERR(i2c->clk);
drivers/i2c/busses/i2c-digicolor.c
312
i2c->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/i2c/busses/i2c-digicolor.c
313
if (IS_ERR(i2c->regs))
drivers/i2c/busses/i2c-digicolor.c
314
return PTR_ERR(i2c->regs);
drivers/i2c/busses/i2c-digicolor.c
321
dev_name(&pdev->dev), i2c);
drivers/i2c/busses/i2c-digicolor.c
325
strscpy(i2c->adap.name, "Conexant Digicolor I2C adapter",
drivers/i2c/busses/i2c-digicolor.c
326
sizeof(i2c->adap.name));
drivers/i2c/busses/i2c-digicolor.c
327
i2c->adap.owner = THIS_MODULE;
drivers/i2c/busses/i2c-digicolor.c
328
i2c->adap.algo = &dc_i2c_algorithm;
drivers/i2c/busses/i2c-digicolor.c
329
i2c->adap.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-digicolor.c
330
i2c->adap.dev.of_node = np;
drivers/i2c/busses/i2c-digicolor.c
331
i2c->adap.algo_data = i2c;
drivers/i2c/busses/i2c-digicolor.c
333
ret = dc_i2c_init_hw(i2c);
drivers/i2c/busses/i2c-digicolor.c
337
ret = clk_prepare_enable(i2c->clk);
drivers/i2c/busses/i2c-digicolor.c
341
ret = i2c_add_adapter(&i2c->adap);
drivers/i2c/busses/i2c-digicolor.c
343
clk_disable_unprepare(i2c->clk);
drivers/i2c/busses/i2c-digicolor.c
352
struct dc_i2c *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-digicolor.c
354
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-digicolor.c
355
clk_disable_unprepare(i2c->clk);
drivers/i2c/busses/i2c-digicolor.c
71
static void dc_i2c_cmd(struct dc_i2c *i2c, u8 cmd)
drivers/i2c/busses/i2c-digicolor.c
73
writeb_relaxed(cmd | II_COMMAND_GO, i2c->regs + II_COMMAND);
drivers/i2c/busses/i2c-digicolor.c
86
static void dc_i2c_data(struct dc_i2c *i2c, u8 data)
drivers/i2c/busses/i2c-digicolor.c
88
writeb_relaxed(data, i2c->regs + II_DATA);
drivers/i2c/busses/i2c-digicolor.c
91
static void dc_i2c_write_byte(struct dc_i2c *i2c, u8 byte)
drivers/i2c/busses/i2c-digicolor.c
93
dc_i2c_data(i2c, byte);
drivers/i2c/busses/i2c-digicolor.c
94
dc_i2c_cmd(i2c, II_CMD_SEND_ACK);
drivers/i2c/busses/i2c-digicolor.c
97
static void dc_i2c_write_buf(struct dc_i2c *i2c)
drivers/i2c/busses/i2c-digicolor.c
99
dc_i2c_write_byte(i2c, i2c->msg->buf[i2c->msgbuf_ptr++]);
drivers/i2c/busses/i2c-exynos5.c
1003
struct exynos5_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-exynos5.c
1006
ret = clk_prepare_enable(i2c->pclk);
drivers/i2c/busses/i2c-exynos5.c
1010
ret = clk_prepare_enable(i2c->clk);
drivers/i2c/busses/i2c-exynos5.c
1014
ret = exynos5_hsi2c_clock_setup(i2c);
drivers/i2c/busses/i2c-exynos5.c
1018
exynos5_i2c_init(i2c);
drivers/i2c/busses/i2c-exynos5.c
1019
clk_disable(i2c->clk);
drivers/i2c/busses/i2c-exynos5.c
1020
clk_disable(i2c->pclk);
drivers/i2c/busses/i2c-exynos5.c
1021
i2c_mark_adapter_resumed(&i2c->adap);
drivers/i2c/busses/i2c-exynos5.c
1026
clk_disable_unprepare(i2c->clk);
drivers/i2c/busses/i2c-exynos5.c
1028
clk_disable_unprepare(i2c->pclk);
drivers/i2c/busses/i2c-exynos5.c
272
static void exynos5_i2c_clr_pend_irq(struct exynos5_i2c *i2c)
drivers/i2c/busses/i2c-exynos5.c
274
writel(readl(i2c->regs + HSI2C_INT_STATUS),
drivers/i2c/busses/i2c-exynos5.c
275
i2c->regs + HSI2C_INT_STATUS);
drivers/i2c/busses/i2c-exynos5.c
288
static int exynos5_i2c_set_timing(struct exynos5_i2c *i2c, bool hs_timings)
drivers/i2c/busses/i2c-exynos5.c
300
unsigned int clkin = clk_get_rate(i2c->clk);
drivers/i2c/busses/i2c-exynos5.c
301
unsigned int op_clk = hs_timings ? i2c->op_clock :
drivers/i2c/busses/i2c-exynos5.c
302
(i2c->op_clock >= I2C_MAX_FAST_MODE_PLUS_FREQ) ? I2C_MAX_STANDARD_MODE_FREQ :
drivers/i2c/busses/i2c-exynos5.c
303
i2c->op_clock;
drivers/i2c/busses/i2c-exynos5.c
320
if (i2c->variant->hw == I2C_TYPE_EXYNOSAUTOV9) {
drivers/i2c/busses/i2c-exynos5.c
321
div = ((clkin / (16 * i2c->op_clock)) - 1);
drivers/i2c/busses/i2c-exynos5.c
324
writel(i2c_timing_s3, i2c->regs + HSI2C_TIMING_HS3);
drivers/i2c/busses/i2c-exynos5.c
326
writel(i2c_timing_s3, i2c->regs + HSI2C_TIMING_FS3);
drivers/i2c/busses/i2c-exynos5.c
371
t_ftl_cycle = (readl(i2c->regs + HSI2C_CONF) >> 16) & 0x7;
drivers/i2c/busses/i2c-exynos5.c
372
if (i2c->variant->hw == I2C_TYPE_EXYNOS8895)
drivers/i2c/busses/i2c-exynos5.c
374
else if (i2c->variant->hw == I2C_TYPE_EXYNOS7)
drivers/i2c/busses/i2c-exynos5.c
380
if (i2c->variant->hw == I2C_TYPE_EXYNOS8895)
drivers/i2c/busses/i2c-exynos5.c
386
dev_err(i2c->dev, "%s clock set-up failed\n",
drivers/i2c/busses/i2c-exynos5.c
416
dev_dbg(i2c->dev, "tSTART_SU: %X, tSTART_HD: %X, tSTOP_SU: %X\n",
drivers/i2c/busses/i2c-exynos5.c
418
dev_dbg(i2c->dev, "tDATA_SU: %X, tSCL_L: %X, tSCL_H: %X\n",
drivers/i2c/busses/i2c-exynos5.c
420
dev_dbg(i2c->dev, "nClkDiv: %X, tSR_RELEASE: %X\n",
drivers/i2c/busses/i2c-exynos5.c
422
dev_dbg(i2c->dev, "tDATA_HD: %X\n", t_data_hd);
drivers/i2c/busses/i2c-exynos5.c
425
writel(i2c_timing_s1, i2c->regs + HSI2C_TIMING_HS1);
drivers/i2c/busses/i2c-exynos5.c
426
writel(i2c_timing_s2, i2c->regs + HSI2C_TIMING_HS2);
drivers/i2c/busses/i2c-exynos5.c
427
writel(i2c_timing_s3, i2c->regs + HSI2C_TIMING_HS3);
drivers/i2c/busses/i2c-exynos5.c
429
writel(i2c_timing_s1, i2c->regs + HSI2C_TIMING_FS1);
drivers/i2c/busses/i2c-exynos5.c
430
writel(i2c_timing_s2, i2c->regs + HSI2C_TIMING_FS2);
drivers/i2c/busses/i2c-exynos5.c
431
writel(i2c_timing_s3, i2c->regs + HSI2C_TIMING_FS3);
drivers/i2c/busses/i2c-exynos5.c
433
writel(i2c_timing_sla, i2c->regs + HSI2C_TIMING_SLA);
drivers/i2c/busses/i2c-exynos5.c
438
static int exynos5_hsi2c_clock_setup(struct exynos5_i2c *i2c)
drivers/i2c/busses/i2c-exynos5.c
441
int ret = exynos5_i2c_set_timing(i2c, false);
drivers/i2c/busses/i2c-exynos5.c
443
if (ret < 0 || i2c->op_clock < I2C_MAX_FAST_MODE_PLUS_FREQ)
drivers/i2c/busses/i2c-exynos5.c
446
return exynos5_i2c_set_timing(i2c, true);
drivers/i2c/busses/i2c-exynos5.c
453
static void exynos5_i2c_init(struct exynos5_i2c *i2c)
drivers/i2c/busses/i2c-exynos5.c
455
u32 i2c_conf = readl(i2c->regs + HSI2C_CONF);
drivers/i2c/busses/i2c-exynos5.c
456
u32 i2c_timeout = readl(i2c->regs + HSI2C_TIMEOUT);
drivers/i2c/busses/i2c-exynos5.c
460
writel(i2c_timeout, i2c->regs + HSI2C_TIMEOUT);
drivers/i2c/busses/i2c-exynos5.c
463
i2c->regs + HSI2C_CTL);
drivers/i2c/busses/i2c-exynos5.c
464
writel(HSI2C_TRAILING_COUNT, i2c->regs + HSI2C_TRAILIG_CTL);
drivers/i2c/busses/i2c-exynos5.c
466
if (i2c->op_clock >= I2C_MAX_FAST_MODE_PLUS_FREQ) {
drivers/i2c/busses/i2c-exynos5.c
467
writel(HSI2C_MASTER_ID(MASTER_ID(i2c->adap.nr)),
drivers/i2c/busses/i2c-exynos5.c
468
i2c->regs + HSI2C_ADDR);
drivers/i2c/busses/i2c-exynos5.c
472
writel(i2c_conf | HSI2C_AUTO_MODE, i2c->regs + HSI2C_CONF);
drivers/i2c/busses/i2c-exynos5.c
475
static void exynos5_i2c_reset(struct exynos5_i2c *i2c)
drivers/i2c/busses/i2c-exynos5.c
480
i2c_ctl = readl(i2c->regs + HSI2C_CTL);
drivers/i2c/busses/i2c-exynos5.c
482
writel(i2c_ctl, i2c->regs + HSI2C_CTL);
drivers/i2c/busses/i2c-exynos5.c
484
i2c_ctl = readl(i2c->regs + HSI2C_CTL);
drivers/i2c/busses/i2c-exynos5.c
486
writel(i2c_ctl, i2c->regs + HSI2C_CTL);
drivers/i2c/busses/i2c-exynos5.c
489
exynos5_hsi2c_clock_setup(i2c);
drivers/i2c/busses/i2c-exynos5.c
491
exynos5_i2c_init(i2c);
drivers/i2c/busses/i2c-exynos5.c
503
struct exynos5_i2c *i2c = dev_id;
drivers/i2c/busses/i2c-exynos5.c
508
i2c->state = -EINVAL;
drivers/i2c/busses/i2c-exynos5.c
510
spin_lock(&i2c->lock);
drivers/i2c/busses/i2c-exynos5.c
512
int_status = readl(i2c->regs + HSI2C_INT_STATUS);
drivers/i2c/busses/i2c-exynos5.c
513
writel(int_status, i2c->regs + HSI2C_INT_STATUS);
drivers/i2c/busses/i2c-exynos5.c
516
switch (i2c->variant->hw) {
drivers/i2c/busses/i2c-exynos5.c
523
i2c->trans_done = 1;
drivers/i2c/busses/i2c-exynos5.c
524
i2c->state = 0;
drivers/i2c/busses/i2c-exynos5.c
526
dev_dbg(i2c->dev, "Deal with arbitration lose\n");
drivers/i2c/busses/i2c-exynos5.c
527
i2c->state = -EAGAIN;
drivers/i2c/busses/i2c-exynos5.c
530
dev_dbg(i2c->dev, "No ACK from device\n");
drivers/i2c/busses/i2c-exynos5.c
531
i2c->state = -ENXIO;
drivers/i2c/busses/i2c-exynos5.c
534
dev_dbg(i2c->dev, "No device\n");
drivers/i2c/busses/i2c-exynos5.c
535
i2c->state = -ENXIO;
drivers/i2c/busses/i2c-exynos5.c
538
dev_dbg(i2c->dev, "Accessing device timed out\n");
drivers/i2c/busses/i2c-exynos5.c
539
i2c->state = -ETIMEDOUT;
drivers/i2c/busses/i2c-exynos5.c
548
trans_status = readl(i2c->regs + HSI2C_TRANS_STATUS);
drivers/i2c/busses/i2c-exynos5.c
550
dev_dbg(i2c->dev, "No ACK from device\n");
drivers/i2c/busses/i2c-exynos5.c
551
i2c->state = -ENXIO;
drivers/i2c/busses/i2c-exynos5.c
554
dev_dbg(i2c->dev, "No device\n");
drivers/i2c/busses/i2c-exynos5.c
555
i2c->state = -ENXIO;
drivers/i2c/busses/i2c-exynos5.c
558
dev_dbg(i2c->dev, "Deal with arbitration lose\n");
drivers/i2c/busses/i2c-exynos5.c
559
i2c->state = -EAGAIN;
drivers/i2c/busses/i2c-exynos5.c
562
dev_dbg(i2c->dev, "Accessing device timed out\n");
drivers/i2c/busses/i2c-exynos5.c
563
i2c->state = -ETIMEDOUT;
drivers/i2c/busses/i2c-exynos5.c
566
i2c->trans_done = 1;
drivers/i2c/busses/i2c-exynos5.c
567
i2c->state = 0;
drivers/i2c/busses/i2c-exynos5.c
573
if ((i2c->msg->flags & I2C_M_RD) && (int_status &
drivers/i2c/busses/i2c-exynos5.c
575
fifo_status = readl(i2c->regs + HSI2C_FIFO_STATUS);
drivers/i2c/busses/i2c-exynos5.c
577
len = min(fifo_level, i2c->msg->len - i2c->msg_ptr);
drivers/i2c/busses/i2c-exynos5.c
581
readl(i2c->regs + HSI2C_RX_DATA);
drivers/i2c/busses/i2c-exynos5.c
582
i2c->msg->buf[i2c->msg_ptr++] = byte;
drivers/i2c/busses/i2c-exynos5.c
585
i2c->state = 0;
drivers/i2c/busses/i2c-exynos5.c
587
fifo_status = readl(i2c->regs + HSI2C_FIFO_STATUS);
drivers/i2c/busses/i2c-exynos5.c
590
len = i2c->variant->fifo_depth - fifo_level;
drivers/i2c/busses/i2c-exynos5.c
591
if (len > (i2c->msg->len - i2c->msg_ptr)) {
drivers/i2c/busses/i2c-exynos5.c
592
u32 int_en = readl(i2c->regs + HSI2C_INT_ENABLE);
drivers/i2c/busses/i2c-exynos5.c
595
writel(int_en, i2c->regs + HSI2C_INT_ENABLE);
drivers/i2c/busses/i2c-exynos5.c
596
len = i2c->msg->len - i2c->msg_ptr;
drivers/i2c/busses/i2c-exynos5.c
600
byte = i2c->msg->buf[i2c->msg_ptr++];
drivers/i2c/busses/i2c-exynos5.c
601
writel(byte, i2c->regs + HSI2C_TX_DATA);
drivers/i2c/busses/i2c-exynos5.c
604
i2c->state = 0;
drivers/i2c/busses/i2c-exynos5.c
608
if ((i2c->trans_done && (i2c->msg->len == i2c->msg_ptr)) ||
drivers/i2c/busses/i2c-exynos5.c
609
(i2c->state < 0)) {
drivers/i2c/busses/i2c-exynos5.c
610
writel(0, i2c->regs + HSI2C_INT_ENABLE);
drivers/i2c/busses/i2c-exynos5.c
611
exynos5_i2c_clr_pend_irq(i2c);
drivers/i2c/busses/i2c-exynos5.c
612
complete(&i2c->msg_complete);
drivers/i2c/busses/i2c-exynos5.c
615
spin_unlock(&i2c->lock);
drivers/i2c/busses/i2c-exynos5.c
628
static int exynos5_i2c_wait_bus_idle(struct exynos5_i2c *i2c)
drivers/i2c/busses/i2c-exynos5.c
636
trans_status = readl(i2c->regs + HSI2C_TRANS_STATUS);
drivers/i2c/busses/i2c-exynos5.c
646
static void exynos5_i2c_bus_recover(struct exynos5_i2c *i2c)
drivers/i2c/busses/i2c-exynos5.c
650
val = readl(i2c->regs + HSI2C_CTL) | HSI2C_RXCHON;
drivers/i2c/busses/i2c-exynos5.c
651
writel(val, i2c->regs + HSI2C_CTL);
drivers/i2c/busses/i2c-exynos5.c
652
val = readl(i2c->regs + HSI2C_CONF) & ~HSI2C_AUTO_MODE;
drivers/i2c/busses/i2c-exynos5.c
653
writel(val, i2c->regs + HSI2C_CONF);
drivers/i2c/busses/i2c-exynos5.c
660
writel(HSI2C_CMD_READ_DATA, i2c->regs + HSI2C_MANUAL_CMD);
drivers/i2c/busses/i2c-exynos5.c
661
exynos5_i2c_wait_bus_idle(i2c);
drivers/i2c/busses/i2c-exynos5.c
662
writel(HSI2C_CMD_SEND_STOP, i2c->regs + HSI2C_MANUAL_CMD);
drivers/i2c/busses/i2c-exynos5.c
663
exynos5_i2c_wait_bus_idle(i2c);
drivers/i2c/busses/i2c-exynos5.c
665
val = readl(i2c->regs + HSI2C_CTL) & ~HSI2C_RXCHON;
drivers/i2c/busses/i2c-exynos5.c
666
writel(val, i2c->regs + HSI2C_CTL);
drivers/i2c/busses/i2c-exynos5.c
667
val = readl(i2c->regs + HSI2C_CONF) | HSI2C_AUTO_MODE;
drivers/i2c/busses/i2c-exynos5.c
668
writel(val, i2c->regs + HSI2C_CONF);
drivers/i2c/busses/i2c-exynos5.c
671
static void exynos5_i2c_bus_check(struct exynos5_i2c *i2c)
drivers/i2c/busses/i2c-exynos5.c
675
if (i2c->variant->hw == I2C_TYPE_EXYNOS5)
drivers/i2c/busses/i2c-exynos5.c
685
u32 st = readl(i2c->regs + HSI2C_TRANS_STATUS);
drivers/i2c/busses/i2c-exynos5.c
693
exynos5_i2c_bus_recover(i2c);
drivers/i2c/busses/i2c-exynos5.c
707
static void exynos5_i2c_message_start(struct exynos5_i2c *i2c, int stop)
drivers/i2c/busses/i2c-exynos5.c
717
if (i2c->variant->hw == I2C_TYPE_EXYNOS5)
drivers/i2c/busses/i2c-exynos5.c
722
i2c_ctl = readl(i2c->regs + HSI2C_CTL);
drivers/i2c/busses/i2c-exynos5.c
726
if (i2c->msg->flags & I2C_M_RD) {
drivers/i2c/busses/i2c-exynos5.c
731
trig_lvl = (i2c->msg->len > i2c->variant->fifo_depth) ?
drivers/i2c/busses/i2c-exynos5.c
732
(i2c->variant->fifo_depth * 3 / 4) : i2c->msg->len;
drivers/i2c/busses/i2c-exynos5.c
740
trig_lvl = (i2c->msg->len > i2c->variant->fifo_depth) ?
drivers/i2c/busses/i2c-exynos5.c
741
(i2c->variant->fifo_depth * 1 / 4) : i2c->msg->len;
drivers/i2c/busses/i2c-exynos5.c
747
i2c_addr = HSI2C_SLV_ADDR_MAS(i2c->msg->addr);
drivers/i2c/busses/i2c-exynos5.c
749
if (i2c->op_clock >= I2C_MAX_FAST_MODE_PLUS_FREQ)
drivers/i2c/busses/i2c-exynos5.c
750
i2c_addr |= HSI2C_MASTER_ID(MASTER_ID(i2c->adap.nr));
drivers/i2c/busses/i2c-exynos5.c
752
writel(i2c_addr, i2c->regs + HSI2C_ADDR);
drivers/i2c/busses/i2c-exynos5.c
754
writel(fifo_ctl, i2c->regs + HSI2C_FIFO_CTL);
drivers/i2c/busses/i2c-exynos5.c
755
writel(i2c_ctl, i2c->regs + HSI2C_CTL);
drivers/i2c/busses/i2c-exynos5.c
757
exynos5_i2c_bus_check(i2c);
drivers/i2c/busses/i2c-exynos5.c
763
spin_lock_irqsave(&i2c->lock, flags);
drivers/i2c/busses/i2c-exynos5.c
764
writel(int_en, i2c->regs + HSI2C_INT_ENABLE);
drivers/i2c/busses/i2c-exynos5.c
768
i2c_auto_conf |= i2c->msg->len;
drivers/i2c/busses/i2c-exynos5.c
770
writel(i2c_auto_conf, i2c->regs + HSI2C_AUTO_CONF);
drivers/i2c/busses/i2c-exynos5.c
771
spin_unlock_irqrestore(&i2c->lock, flags);
drivers/i2c/busses/i2c-exynos5.c
774
static bool exynos5_i2c_poll_irqs_timeout(struct exynos5_i2c *i2c,
drivers/i2c/busses/i2c-exynos5.c
780
!((i2c->trans_done && (i2c->msg->len == i2c->msg_ptr)) ||
drivers/i2c/busses/i2c-exynos5.c
781
(i2c->state < 0))) {
drivers/i2c/busses/i2c-exynos5.c
782
while (readl(i2c->regs + HSI2C_INT_ENABLE) &
drivers/i2c/busses/i2c-exynos5.c
783
readl(i2c->regs + HSI2C_INT_STATUS))
drivers/i2c/busses/i2c-exynos5.c
784
exynos5_i2c_irq(i2c->irq, i2c);
drivers/i2c/busses/i2c-exynos5.c
790
static int exynos5_i2c_xfer_msg(struct exynos5_i2c *i2c,
drivers/i2c/busses/i2c-exynos5.c
796
i2c->msg = msgs;
drivers/i2c/busses/i2c-exynos5.c
797
i2c->msg_ptr = 0;
drivers/i2c/busses/i2c-exynos5.c
798
i2c->trans_done = 0;
drivers/i2c/busses/i2c-exynos5.c
800
reinit_completion(&i2c->msg_complete);
drivers/i2c/busses/i2c-exynos5.c
802
exynos5_i2c_message_start(i2c, stop);
drivers/i2c/busses/i2c-exynos5.c
804
if (!i2c->atomic)
drivers/i2c/busses/i2c-exynos5.c
805
time_left = wait_for_completion_timeout(&i2c->msg_complete,
drivers/i2c/busses/i2c-exynos5.c
808
time_left = exynos5_i2c_poll_irqs_timeout(i2c,
drivers/i2c/busses/i2c-exynos5.c
814
ret = i2c->state;
drivers/i2c/busses/i2c-exynos5.c
821
ret = exynos5_i2c_wait_bus_idle(i2c);
drivers/i2c/busses/i2c-exynos5.c
824
exynos5_i2c_reset(i2c);
drivers/i2c/busses/i2c-exynos5.c
826
dev_warn(i2c->dev, "%s timeout\n",
drivers/i2c/busses/i2c-exynos5.c
837
struct exynos5_i2c *i2c = adap->algo_data;
drivers/i2c/busses/i2c-exynos5.c
840
ret = clk_enable(i2c->pclk);
drivers/i2c/busses/i2c-exynos5.c
844
ret = clk_enable(i2c->clk);
drivers/i2c/busses/i2c-exynos5.c
849
ret = exynos5_i2c_xfer_msg(i2c, msgs + i, i + 1 == num);
drivers/i2c/busses/i2c-exynos5.c
854
clk_disable(i2c->clk);
drivers/i2c/busses/i2c-exynos5.c
856
clk_disable(i2c->pclk);
drivers/i2c/busses/i2c-exynos5.c
864
struct exynos5_i2c *i2c = adap->algo_data;
drivers/i2c/busses/i2c-exynos5.c
867
disable_irq(i2c->irq);
drivers/i2c/busses/i2c-exynos5.c
868
i2c->atomic = true;
drivers/i2c/busses/i2c-exynos5.c
870
i2c->atomic = false;
drivers/i2c/busses/i2c-exynos5.c
871
enable_irq(i2c->irq);
drivers/i2c/busses/i2c-exynos5.c
890
struct exynos5_i2c *i2c;
drivers/i2c/busses/i2c-exynos5.c
893
i2c = devm_kzalloc(&pdev->dev, sizeof(struct exynos5_i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-exynos5.c
894
if (!i2c)
drivers/i2c/busses/i2c-exynos5.c
897
if (of_property_read_u32(np, "clock-frequency", &i2c->op_clock))
drivers/i2c/busses/i2c-exynos5.c
898
i2c->op_clock = I2C_MAX_STANDARD_MODE_FREQ;
drivers/i2c/busses/i2c-exynos5.c
900
strscpy(i2c->adap.name, "exynos5-i2c", sizeof(i2c->adap.name));
drivers/i2c/busses/i2c-exynos5.c
901
i2c->adap.owner = THIS_MODULE;
drivers/i2c/busses/i2c-exynos5.c
902
i2c->adap.algo = &exynos5_i2c_algorithm;
drivers/i2c/busses/i2c-exynos5.c
903
i2c->adap.retries = 3;
drivers/i2c/busses/i2c-exynos5.c
905
i2c->dev = &pdev->dev;
drivers/i2c/busses/i2c-exynos5.c
906
i2c->clk = devm_clk_get(&pdev->dev, "hsi2c");
drivers/i2c/busses/i2c-exynos5.c
907
if (IS_ERR(i2c->clk)) {
drivers/i2c/busses/i2c-exynos5.c
912
i2c->pclk = devm_clk_get_optional(&pdev->dev, "hsi2c_pclk");
drivers/i2c/busses/i2c-exynos5.c
913
if (IS_ERR(i2c->pclk)) {
drivers/i2c/busses/i2c-exynos5.c
914
return dev_err_probe(&pdev->dev, PTR_ERR(i2c->pclk),
drivers/i2c/busses/i2c-exynos5.c
918
ret = clk_prepare_enable(i2c->pclk);
drivers/i2c/busses/i2c-exynos5.c
922
ret = clk_prepare_enable(i2c->clk);
drivers/i2c/busses/i2c-exynos5.c
926
i2c->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/i2c/busses/i2c-exynos5.c
927
if (IS_ERR(i2c->regs)) {
drivers/i2c/busses/i2c-exynos5.c
928
ret = PTR_ERR(i2c->regs);
drivers/i2c/busses/i2c-exynos5.c
932
i2c->adap.dev.of_node = np;
drivers/i2c/busses/i2c-exynos5.c
933
i2c->adap.algo_data = i2c;
drivers/i2c/busses/i2c-exynos5.c
934
i2c->adap.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-exynos5.c
937
exynos5_i2c_clr_pend_irq(i2c);
drivers/i2c/busses/i2c-exynos5.c
939
spin_lock_init(&i2c->lock);
drivers/i2c/busses/i2c-exynos5.c
940
init_completion(&i2c->msg_complete);
drivers/i2c/busses/i2c-exynos5.c
942
i2c->irq = ret = platform_get_irq(pdev, 0);
drivers/i2c/busses/i2c-exynos5.c
946
ret = devm_request_irq(&pdev->dev, i2c->irq, exynos5_i2c_irq,
drivers/i2c/busses/i2c-exynos5.c
947
IRQF_NO_SUSPEND, dev_name(&pdev->dev), i2c);
drivers/i2c/busses/i2c-exynos5.c
949
dev_err(&pdev->dev, "cannot request HS-I2C IRQ %d\n", i2c->irq);
drivers/i2c/busses/i2c-exynos5.c
953
i2c->variant = of_device_get_match_data(&pdev->dev);
drivers/i2c/busses/i2c-exynos5.c
955
ret = exynos5_hsi2c_clock_setup(i2c);
drivers/i2c/busses/i2c-exynos5.c
959
exynos5_i2c_reset(i2c);
drivers/i2c/busses/i2c-exynos5.c
961
ret = i2c_add_adapter(&i2c->adap);
drivers/i2c/busses/i2c-exynos5.c
965
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-exynos5.c
967
clk_disable(i2c->clk);
drivers/i2c/busses/i2c-exynos5.c
968
clk_disable(i2c->pclk);
drivers/i2c/busses/i2c-exynos5.c
973
clk_disable_unprepare(i2c->clk);
drivers/i2c/busses/i2c-exynos5.c
976
clk_disable_unprepare(i2c->pclk);
drivers/i2c/busses/i2c-exynos5.c
982
struct exynos5_i2c *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-exynos5.c
984
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-exynos5.c
986
clk_unprepare(i2c->clk);
drivers/i2c/busses/i2c-exynos5.c
987
clk_unprepare(i2c->pclk);
drivers/i2c/busses/i2c-exynos5.c
992
struct exynos5_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-exynos5.c
994
i2c_mark_adapter_suspended(&i2c->adap);
drivers/i2c/busses/i2c-exynos5.c
995
clk_unprepare(i2c->clk);
drivers/i2c/busses/i2c-exynos5.c
996
clk_unprepare(i2c->pclk);
drivers/i2c/busses/i2c-fsi.c
186
static int fsi_i2c_dev_init(struct fsi_i2c_ctrl *i2c)
drivers/i2c/busses/i2c-fsi.c
193
rc = fsi_i2c_write_reg(i2c->fsi, I2C_FSI_INT_MASK, &interrupt);
drivers/i2c/busses/i2c-fsi.c
198
rc = fsi_i2c_write_reg(i2c->fsi, I2C_FSI_MODE, &mode);
drivers/i2c/busses/i2c-fsi.c
202
rc = fsi_i2c_read_reg(i2c->fsi, I2C_FSI_ESTAT, &extended_status);
drivers/i2c/busses/i2c-fsi.c
206
i2c->fifo_size = FIELD_GET(I2C_ESTAT_FIFO_SZ, extended_status);
drivers/i2c/busses/i2c-fsi.c
208
i2c->fifo_size - I2C_FIFO_HI_LVL);
drivers/i2c/busses/i2c-fsi.c
211
return fsi_i2c_write_reg(i2c->fsi, I2C_FSI_WATER_MARK, &watermark);
drivers/i2c/busses/i2c-fsi.c
239
struct fsi_i2c_ctrl *i2c = port->ctrl;
drivers/i2c/busses/i2c-fsi.c
253
return fsi_i2c_write_reg(i2c->fsi, I2C_FSI_CMD, &cmd);
drivers/i2c/busses/i2c-fsi.c
271
struct fsi_i2c_ctrl *i2c = port->ctrl;
drivers/i2c/busses/i2c-fsi.c
272
int bytes_to_write = i2c->fifo_size - fifo_count;
drivers/i2c/busses/i2c-fsi.c
280
rc = fsi_device_write(i2c->fsi, I2C_FSI_FIFO,
drivers/i2c/busses/i2c-fsi.c
297
struct fsi_i2c_ctrl *i2c = port->ctrl;
drivers/i2c/busses/i2c-fsi.c
308
rc = fsi_device_read(i2c->fsi, I2C_FSI_FIFO,
drivers/i2c/busses/i2c-fsi.c
317
rc = fsi_device_read(i2c->fsi, I2C_FSI_FIFO, &dummy,
drivers/i2c/busses/i2c-fsi.c
333
struct fsi_i2c_ctrl *i2c = port->ctrl;
drivers/i2c/busses/i2c-fsi.c
335
fsi_i2c_read_reg(i2c->fsi, I2C_FSI_STAT, &stat);
drivers/i2c/busses/i2c-fsi.c
344
struct fsi_i2c_ctrl *i2c = port->ctrl;
drivers/i2c/busses/i2c-fsi.c
347
fsi_i2c_write_reg(i2c->fsi, I2C_FSI_SET_SCL, &dummy);
drivers/i2c/busses/i2c-fsi.c
349
fsi_i2c_write_reg(i2c->fsi, I2C_FSI_RESET_SCL, &dummy);
drivers/i2c/busses/i2c-fsi.c
356
struct fsi_i2c_ctrl *i2c = port->ctrl;
drivers/i2c/busses/i2c-fsi.c
358
fsi_i2c_read_reg(i2c->fsi, I2C_FSI_STAT, &stat);
drivers/i2c/busses/i2c-fsi.c
367
struct fsi_i2c_ctrl *i2c = port->ctrl;
drivers/i2c/busses/i2c-fsi.c
370
fsi_i2c_write_reg(i2c->fsi, I2C_FSI_SET_SDA, &dummy);
drivers/i2c/busses/i2c-fsi.c
372
fsi_i2c_write_reg(i2c->fsi, I2C_FSI_RESET_SDA, &dummy);
drivers/i2c/busses/i2c-fsi.c
380
struct fsi_i2c_ctrl *i2c = port->ctrl;
drivers/i2c/busses/i2c-fsi.c
382
rc = fsi_i2c_read_reg(i2c->fsi, I2C_FSI_MODE, &mode);
drivers/i2c/busses/i2c-fsi.c
387
fsi_i2c_write_reg(i2c->fsi, I2C_FSI_MODE, &mode);
drivers/i2c/busses/i2c-fsi.c
395
struct fsi_i2c_ctrl *i2c = port->ctrl;
drivers/i2c/busses/i2c-fsi.c
397
rc = fsi_i2c_read_reg(i2c->fsi, I2C_FSI_MODE, &mode);
drivers/i2c/busses/i2c-fsi.c
402
fsi_i2c_write_reg(i2c->fsi, I2C_FSI_MODE, &mode);
drivers/i2c/busses/i2c-fsi.c
405
static int fsi_i2c_reset_bus(struct fsi_i2c_ctrl *i2c,
drivers/i2c/busses/i2c-fsi.c
415
rc = fsi_i2c_write_reg(i2c->fsi, I2C_FSI_RESET_ERR, &dummy);
drivers/i2c/busses/i2c-fsi.c
422
rc = fsi_i2c_read_reg(i2c->fsi, I2C_FSI_STAT, &stat);
drivers/i2c/busses/i2c-fsi.c
430
rc = fsi_i2c_write_reg(i2c->fsi, I2C_FSI_RESET_I2C, &dummy);
drivers/i2c/busses/i2c-fsi.c
435
return fsi_i2c_dev_init(i2c);
drivers/i2c/busses/i2c-fsi.c
438
static int fsi_i2c_reset_engine(struct fsi_i2c_ctrl *i2c, u16 port)
drivers/i2c/busses/i2c-fsi.c
444
rc = fsi_i2c_write_reg(i2c->fsi, I2C_FSI_RESET_I2C, &dummy);
drivers/i2c/busses/i2c-fsi.c
449
rc = fsi_i2c_dev_init(i2c);
drivers/i2c/busses/i2c-fsi.c
453
rc = fsi_i2c_read_reg(i2c->fsi, I2C_FSI_MODE, &mode);
drivers/i2c/busses/i2c-fsi.c
461
rc = fsi_i2c_write_reg(i2c->fsi, I2C_FSI_MODE, &mode);
drivers/i2c/busses/i2c-fsi.c
468
rc = fsi_i2c_write_reg(i2c->fsi, I2C_FSI_PORT_BUSY, &dummy);
drivers/i2c/busses/i2c-fsi.c
481
struct fsi_i2c_ctrl *i2c = port->ctrl;
drivers/i2c/busses/i2c-fsi.c
482
struct fsi_device *fsi = i2c->fsi;
drivers/i2c/busses/i2c-fsi.c
484
rc = fsi_i2c_reset_engine(i2c, port->port);
drivers/i2c/busses/i2c-fsi.c
494
rc = fsi_i2c_reset_bus(i2c, port);
drivers/i2c/busses/i2c-fsi.c
680
struct fsi_i2c_ctrl *i2c;
drivers/i2c/busses/i2c-fsi.c
686
i2c = devm_kzalloc(dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-fsi.c
687
if (!i2c)
drivers/i2c/busses/i2c-fsi.c
690
mutex_init(&i2c->lock);
drivers/i2c/busses/i2c-fsi.c
691
i2c->fsi = to_fsi_dev(dev);
drivers/i2c/busses/i2c-fsi.c
692
INIT_LIST_HEAD(&i2c->ports);
drivers/i2c/busses/i2c-fsi.c
694
rc = fsi_i2c_dev_init(i2c);
drivers/i2c/busses/i2c-fsi.c
698
rc = fsi_i2c_read_reg(i2c->fsi, I2C_FSI_STAT, &stat);
drivers/i2c/busses/i2c-fsi.c
716
port->ctrl = i2c;
drivers/i2c/busses/i2c-fsi.c
737
list_add(&port->list, &i2c->ports);
drivers/i2c/busses/i2c-fsi.c
740
fsi_set_drvdata(fsi_dev, i2c);
drivers/i2c/busses/i2c-fsi.c
747
struct fsi_i2c_ctrl *i2c = fsi_get_drvdata(fsi_dev);
drivers/i2c/busses/i2c-fsi.c
750
list_for_each_entry_safe(port, tmp, &i2c->ports, list) {
drivers/i2c/busses/i2c-icy.c
124
struct icy_i2c *i2c;
drivers/i2c/busses/i2c-icy.c
131
i2c = devm_kzalloc(&z->dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-icy.c
132
if (!i2c)
drivers/i2c/busses/i2c-icy.c
139
dev_set_drvdata(&z->dev, i2c);
drivers/i2c/busses/i2c-icy.c
140
i2c->adapter.dev.parent = &z->dev;
drivers/i2c/busses/i2c-icy.c
141
i2c->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-icy.c
143
i2c->adapter.algo_data = algo_data;
drivers/i2c/busses/i2c-icy.c
144
strscpy(i2c->adapter.name, "ICY I2C Zorro adapter",
drivers/i2c/busses/i2c-icy.c
145
sizeof(i2c->adapter.name));
drivers/i2c/busses/i2c-icy.c
149
4, i2c->adapter.name))
drivers/i2c/busses/i2c-icy.c
153
i2c->reg_s0 = ZTWO_VADDR(z->resource.start);
drivers/i2c/busses/i2c-icy.c
154
i2c->reg_s1 = ZTWO_VADDR(z->resource.start + 2);
drivers/i2c/busses/i2c-icy.c
156
algo_data->data = i2c;
drivers/i2c/busses/i2c-icy.c
163
if (i2c_pcf_add_bus(&i2c->adapter)) {
drivers/i2c/busses/i2c-icy.c
180
i2c->ltc2990_client = i2c_new_scanned_device(&i2c->adapter,
drivers/i2c/busses/i2c-icy.c
189
struct icy_i2c *i2c = dev_get_drvdata(&z->dev);
drivers/i2c/busses/i2c-icy.c
191
i2c_unregister_device(i2c->ltc2990_client);
drivers/i2c/busses/i2c-icy.c
192
i2c_del_adapter(&i2c->adapter);
drivers/i2c/busses/i2c-icy.c
65
struct icy_i2c *i2c = (struct icy_i2c *)data;
drivers/i2c/busses/i2c-icy.c
67
u8 __iomem *address = ctl ? i2c->reg_s1 : i2c->reg_s0;
drivers/i2c/busses/i2c-icy.c
74
struct icy_i2c *i2c = (struct icy_i2c *)data;
drivers/i2c/busses/i2c-icy.c
76
u8 __iomem *address = ctl ? i2c->reg_s1 : i2c->reg_s0;
drivers/i2c/busses/i2c-img-scb.c
1001
spin_unlock(&i2c->lock);
drivers/i2c/busses/i2c-img-scb.c
1007
static int img_i2c_reset_bus(struct img_i2c *i2c)
drivers/i2c/busses/i2c-img-scb.c
1012
spin_lock_irqsave(&i2c->lock, flags);
drivers/i2c/busses/i2c-img-scb.c
1013
reinit_completion(&i2c->msg_complete);
drivers/i2c/busses/i2c-img-scb.c
1014
img_i2c_reset_start(i2c);
drivers/i2c/busses/i2c-img-scb.c
1015
spin_unlock_irqrestore(&i2c->lock, flags);
drivers/i2c/busses/i2c-img-scb.c
1017
time_left = wait_for_completion_timeout(&i2c->msg_complete,
drivers/i2c/busses/i2c-img-scb.c
1027
struct img_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-img-scb.c
1032
if (i2c->mode == MODE_SUSPEND) {
drivers/i2c/busses/i2c-img-scb.c
1037
if (i2c->mode == MODE_FATAL)
drivers/i2c/busses/i2c-img-scb.c
1068
spin_lock_irqsave(&i2c->lock, flags);
drivers/i2c/busses/i2c-img-scb.c
1074
i2c->msg = *msg;
drivers/i2c/busses/i2c-img-scb.c
1075
i2c->msg_status = 0;
drivers/i2c/busses/i2c-img-scb.c
1084
i2c->last_msg = (i == num - 1);
drivers/i2c/busses/i2c-img-scb.c
1085
reinit_completion(&i2c->msg_complete);
drivers/i2c/busses/i2c-img-scb.c
1093
img_i2c_writel(i2c, SCB_INT_CLEAR_REG, ~0);
drivers/i2c/busses/i2c-img-scb.c
1094
img_i2c_writel(i2c, SCB_CLEAR_REG, ~0);
drivers/i2c/busses/i2c-img-scb.c
1097
img_i2c_atomic_start(i2c);
drivers/i2c/busses/i2c-img-scb.c
1103
img_i2c_transaction_halt(i2c, !i2c->last_msg);
drivers/i2c/busses/i2c-img-scb.c
1106
img_i2c_read(i2c);
drivers/i2c/busses/i2c-img-scb.c
1108
img_i2c_write(i2c);
drivers/i2c/busses/i2c-img-scb.c
1118
img_i2c_transaction_halt(i2c, false);
drivers/i2c/busses/i2c-img-scb.c
1119
img_i2c_transaction_halt(i2c, !i2c->last_msg);
drivers/i2c/busses/i2c-img-scb.c
1121
spin_unlock_irqrestore(&i2c->lock, flags);
drivers/i2c/busses/i2c-img-scb.c
1123
time_left = wait_for_completion_timeout(&i2c->msg_complete,
drivers/i2c/busses/i2c-img-scb.c
1125
timer_delete_sync(&i2c->check_timer);
drivers/i2c/busses/i2c-img-scb.c
1128
i2c->msg_status = -ETIMEDOUT;
drivers/i2c/busses/i2c-img-scb.c
1130
if (i2c->msg_status)
drivers/i2c/busses/i2c-img-scb.c
1136
return i2c->msg_status ? i2c->msg_status : num;
drivers/i2c/busses/i2c-img-scb.c
1149
static int img_i2c_init(struct img_i2c *i2c)
drivers/i2c/busses/i2c-img-scb.c
1157
ret = pm_runtime_resume_and_get(i2c->adap.dev.parent);
drivers/i2c/busses/i2c-img-scb.c
1161
rev = img_i2c_readl(i2c, SCB_CORE_REV_REG);
drivers/i2c/busses/i2c-img-scb.c
1163
dev_info(i2c->adap.dev.parent,
drivers/i2c/busses/i2c-img-scb.c
1167
pm_runtime_put_autosuspend(i2c->adap.dev.parent);
drivers/i2c/busses/i2c-img-scb.c
1172
i2c->need_wr_rd_fence = true;
drivers/i2c/busses/i2c-img-scb.c
1177
if (i2c->bitrate <= timings[i].max_bitrate) {
drivers/i2c/busses/i2c-img-scb.c
1182
if (i2c->bitrate > timings[ARRAY_SIZE(timings) - 1].max_bitrate) {
drivers/i2c/busses/i2c-img-scb.c
1183
dev_warn(i2c->adap.dev.parent,
drivers/i2c/busses/i2c-img-scb.c
1185
i2c->bitrate,
drivers/i2c/busses/i2c-img-scb.c
1188
i2c->bitrate = timing.max_bitrate;
drivers/i2c/busses/i2c-img-scb.c
1191
bitrate_khz = i2c->bitrate / 1000;
drivers/i2c/busses/i2c-img-scb.c
1192
clk_khz = clk_get_rate(i2c->scb_clk) / 1000;
drivers/i2c/busses/i2c-img-scb.c
1228
img_i2c_writel(i2c, SCB_CLK_SET_REG, data);
drivers/i2c/busses/i2c-img-scb.c
1260
img_i2c_writel(i2c, SCB_TIME_TCKH_REG, tckh);
drivers/i2c/busses/i2c-img-scb.c
1261
img_i2c_writel(i2c, SCB_TIME_TCKL_REG, tckl);
drivers/i2c/busses/i2c-img-scb.c
1270
img_i2c_writel(i2c, SCB_TIME_TSDH_REG, data);
drivers/i2c/busses/i2c-img-scb.c
1279
img_i2c_writel(i2c, SCB_TIME_TPL_REG, data);
drivers/i2c/busses/i2c-img-scb.c
1285
img_i2c_writel(i2c, SCB_TIME_TPH_REG, data);
drivers/i2c/busses/i2c-img-scb.c
1288
img_i2c_writel(i2c, SCB_TIME_TSDL_REG, data + tsdh + 2);
drivers/i2c/busses/i2c-img-scb.c
1294
img_i2c_writel(i2c, SCB_TIME_TP2S_REG, data);
drivers/i2c/busses/i2c-img-scb.c
1296
img_i2c_writel(i2c, SCB_TIME_TBI_REG, TIMEOUT_TBI);
drivers/i2c/busses/i2c-img-scb.c
1297
img_i2c_writel(i2c, SCB_TIME_TSL_REG, TIMEOUT_TSL);
drivers/i2c/busses/i2c-img-scb.c
1298
img_i2c_writel(i2c, SCB_TIME_TDL_REG, TIMEOUT_TDL);
drivers/i2c/busses/i2c-img-scb.c
1301
img_i2c_soft_reset(i2c);
drivers/i2c/busses/i2c-img-scb.c
1304
img_i2c_writel(i2c, SCB_INT_MASK_REG, 0);
drivers/i2c/busses/i2c-img-scb.c
1307
img_i2c_writel(i2c, SCB_INT_CLEAR_REG, ~0);
drivers/i2c/busses/i2c-img-scb.c
1310
img_i2c_writel(i2c, SCB_CLEAR_REG, ~0);
drivers/i2c/busses/i2c-img-scb.c
1313
img_i2c_writel(i2c, SCB_INT_MASK_REG, i2c->int_enable);
drivers/i2c/busses/i2c-img-scb.c
1316
ret = img_i2c_reset_bus(i2c);
drivers/i2c/busses/i2c-img-scb.c
1318
pm_runtime_put_autosuspend(i2c->adap.dev.parent);
drivers/i2c/busses/i2c-img-scb.c
1326
struct img_i2c *i2c;
drivers/i2c/busses/i2c-img-scb.c
1330
i2c = devm_kzalloc(&pdev->dev, sizeof(struct img_i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-img-scb.c
1331
if (!i2c)
drivers/i2c/busses/i2c-img-scb.c
1334
i2c->base = devm_platform_ioremap_resource(pdev, 0);
drivers/i2c/busses/i2c-img-scb.c
1335
if (IS_ERR(i2c->base))
drivers/i2c/busses/i2c-img-scb.c
1336
return PTR_ERR(i2c->base);
drivers/i2c/busses/i2c-img-scb.c
1342
i2c->sys_clk = devm_clk_get(&pdev->dev, "sys");
drivers/i2c/busses/i2c-img-scb.c
1343
if (IS_ERR(i2c->sys_clk)) {
drivers/i2c/busses/i2c-img-scb.c
1345
return PTR_ERR(i2c->sys_clk);
drivers/i2c/busses/i2c-img-scb.c
1348
i2c->scb_clk = devm_clk_get(&pdev->dev, "scb");
drivers/i2c/busses/i2c-img-scb.c
1349
if (IS_ERR(i2c->scb_clk)) {
drivers/i2c/busses/i2c-img-scb.c
1351
return PTR_ERR(i2c->scb_clk);
drivers/i2c/busses/i2c-img-scb.c
1355
pdev->name, i2c);
drivers/i2c/busses/i2c-img-scb.c
1362
timer_setup(&i2c->check_timer, img_i2c_check_timer, 0);
drivers/i2c/busses/i2c-img-scb.c
1364
i2c->bitrate = timings[0].max_bitrate;
drivers/i2c/busses/i2c-img-scb.c
1366
i2c->bitrate = val;
drivers/i2c/busses/i2c-img-scb.c
1368
i2c_set_adapdata(&i2c->adap, i2c);
drivers/i2c/busses/i2c-img-scb.c
1369
i2c->adap.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-img-scb.c
1370
i2c->adap.dev.of_node = node;
drivers/i2c/busses/i2c-img-scb.c
1371
i2c->adap.owner = THIS_MODULE;
drivers/i2c/busses/i2c-img-scb.c
1372
i2c->adap.algo = &img_i2c_algo;
drivers/i2c/busses/i2c-img-scb.c
1373
i2c->adap.retries = 5;
drivers/i2c/busses/i2c-img-scb.c
1374
i2c->adap.nr = pdev->id;
drivers/i2c/busses/i2c-img-scb.c
1375
snprintf(i2c->adap.name, sizeof(i2c->adap.name), "IMG SCB I2C");
drivers/i2c/busses/i2c-img-scb.c
1377
img_i2c_switch_mode(i2c, MODE_INACTIVE);
drivers/i2c/busses/i2c-img-scb.c
1378
spin_lock_init(&i2c->lock);
drivers/i2c/busses/i2c-img-scb.c
1379
init_completion(&i2c->msg_complete);
drivers/i2c/busses/i2c-img-scb.c
1381
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-img-scb.c
1392
ret = img_i2c_init(i2c);
drivers/i2c/busses/i2c-img-scb.c
1396
ret = i2c_add_numbered_adapter(&i2c->adap);
drivers/i2c/busses/i2c-img-scb.c
1412
struct img_i2c *i2c = platform_get_drvdata(dev);
drivers/i2c/busses/i2c-img-scb.c
1414
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-img-scb.c
1422
struct img_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-img-scb.c
1424
clk_disable_unprepare(i2c->scb_clk);
drivers/i2c/busses/i2c-img-scb.c
1425
clk_disable_unprepare(i2c->sys_clk);
drivers/i2c/busses/i2c-img-scb.c
1432
struct img_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-img-scb.c
1435
ret = clk_prepare_enable(i2c->sys_clk);
drivers/i2c/busses/i2c-img-scb.c
1441
ret = clk_prepare_enable(i2c->scb_clk);
drivers/i2c/busses/i2c-img-scb.c
1444
clk_disable_unprepare(i2c->sys_clk);
drivers/i2c/busses/i2c-img-scb.c
1453
struct img_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-img-scb.c
1460
img_i2c_switch_mode(i2c, MODE_SUSPEND);
drivers/i2c/busses/i2c-img-scb.c
1467
struct img_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-img-scb.c
1474
img_i2c_init(i2c);
drivers/i2c/busses/i2c-img-scb.c
414
static void img_i2c_writel(struct img_i2c *i2c, u32 offset, u32 value)
drivers/i2c/busses/i2c-img-scb.c
416
writel(value, i2c->base + offset);
drivers/i2c/busses/i2c-img-scb.c
419
static u32 img_i2c_readl(struct img_i2c *i2c, u32 offset)
drivers/i2c/busses/i2c-img-scb.c
421
return readl(i2c->base + offset);
drivers/i2c/busses/i2c-img-scb.c
436
static void img_i2c_wr_rd_fence(struct img_i2c *i2c)
drivers/i2c/busses/i2c-img-scb.c
438
if (i2c->need_wr_rd_fence) {
drivers/i2c/busses/i2c-img-scb.c
439
img_i2c_writel(i2c, SCB_CORE_REV_REG, 0);
drivers/i2c/busses/i2c-img-scb.c
440
img_i2c_writel(i2c, SCB_CORE_REV_REG, 0);
drivers/i2c/busses/i2c-img-scb.c
444
static void img_i2c_switch_mode(struct img_i2c *i2c, enum img_i2c_mode mode)
drivers/i2c/busses/i2c-img-scb.c
446
i2c->mode = mode;
drivers/i2c/busses/i2c-img-scb.c
447
i2c->int_enable = img_i2c_int_enable_by_mode[mode];
drivers/i2c/busses/i2c-img-scb.c
448
i2c->line_status = 0;
drivers/i2c/busses/i2c-img-scb.c
451
static void img_i2c_raw_op(struct img_i2c *i2c)
drivers/i2c/busses/i2c-img-scb.c
453
i2c->raw_timeout = 0;
drivers/i2c/busses/i2c-img-scb.c
454
img_i2c_writel(i2c, SCB_OVERRIDE_REG,
drivers/i2c/busses/i2c-img-scb.c
460
((i2c->at_cur_cmd & OVERRIDE_CMD_MASK) << OVERRIDE_CMD_SHIFT) |
drivers/i2c/busses/i2c-img-scb.c
461
(i2c->at_cur_data << OVERRIDE_DATA_SHIFT));
drivers/i2c/busses/i2c-img-scb.c
472
static void img_i2c_atomic_op(struct img_i2c *i2c, int cmd, u8 data)
drivers/i2c/busses/i2c-img-scb.c
474
i2c->at_cur_cmd = cmd;
drivers/i2c/busses/i2c-img-scb.c
475
i2c->at_cur_data = data;
drivers/i2c/busses/i2c-img-scb.c
478
if (cmd == CMD_GEN_DATA && i2c->mode == MODE_ATOMIC) {
drivers/i2c/busses/i2c-img-scb.c
479
u32 line_status = img_i2c_readl(i2c, SCB_STATUS_REG);
drivers/i2c/busses/i2c-img-scb.c
483
img_i2c_switch_mode(i2c, MODE_RAW);
drivers/i2c/busses/i2c-img-scb.c
484
img_i2c_raw_op(i2c);
drivers/i2c/busses/i2c-img-scb.c
489
dev_dbg(i2c->adap.dev.parent,
drivers/i2c/busses/i2c-img-scb.c
492
i2c->at_t_done = (cmd == CMD_RET_DATA || cmd == CMD_RET_ACK);
drivers/i2c/busses/i2c-img-scb.c
493
i2c->at_slave_event = false;
drivers/i2c/busses/i2c-img-scb.c
494
i2c->line_status = 0;
drivers/i2c/busses/i2c-img-scb.c
496
img_i2c_writel(i2c, SCB_OVERRIDE_REG,
drivers/i2c/busses/i2c-img-scb.c
504
static void img_i2c_atomic_start(struct img_i2c *i2c)
drivers/i2c/busses/i2c-img-scb.c
506
img_i2c_switch_mode(i2c, MODE_ATOMIC);
drivers/i2c/busses/i2c-img-scb.c
507
img_i2c_writel(i2c, SCB_INT_MASK_REG, i2c->int_enable);
drivers/i2c/busses/i2c-img-scb.c
508
img_i2c_atomic_op(i2c, CMD_GEN_START, 0x00);
drivers/i2c/busses/i2c-img-scb.c
511
static void img_i2c_soft_reset(struct img_i2c *i2c)
drivers/i2c/busses/i2c-img-scb.c
513
i2c->t_halt = false;
drivers/i2c/busses/i2c-img-scb.c
514
img_i2c_writel(i2c, SCB_CONTROL_REG, 0);
drivers/i2c/busses/i2c-img-scb.c
515
img_i2c_writel(i2c, SCB_CONTROL_REG,
drivers/i2c/busses/i2c-img-scb.c
530
static void img_i2c_transaction_halt(struct img_i2c *i2c, bool t_halt)
drivers/i2c/busses/i2c-img-scb.c
534
if (i2c->t_halt == t_halt)
drivers/i2c/busses/i2c-img-scb.c
536
i2c->t_halt = t_halt;
drivers/i2c/busses/i2c-img-scb.c
537
val = img_i2c_readl(i2c, SCB_CONTROL_REG);
drivers/i2c/busses/i2c-img-scb.c
542
img_i2c_writel(i2c, SCB_CONTROL_REG, val);
drivers/i2c/busses/i2c-img-scb.c
546
static void img_i2c_read_fifo(struct img_i2c *i2c)
drivers/i2c/busses/i2c-img-scb.c
548
while (i2c->msg.len) {
drivers/i2c/busses/i2c-img-scb.c
552
img_i2c_wr_rd_fence(i2c);
drivers/i2c/busses/i2c-img-scb.c
553
fifo_status = img_i2c_readl(i2c, SCB_FIFO_STATUS_REG);
drivers/i2c/busses/i2c-img-scb.c
557
data = img_i2c_readl(i2c, SCB_READ_DATA_REG);
drivers/i2c/busses/i2c-img-scb.c
558
*i2c->msg.buf = data;
drivers/i2c/busses/i2c-img-scb.c
560
img_i2c_writel(i2c, SCB_READ_FIFO_REG, 0xff);
drivers/i2c/busses/i2c-img-scb.c
561
i2c->msg.len--;
drivers/i2c/busses/i2c-img-scb.c
562
i2c->msg.buf++;
drivers/i2c/busses/i2c-img-scb.c
567
static void img_i2c_write_fifo(struct img_i2c *i2c)
drivers/i2c/busses/i2c-img-scb.c
569
while (i2c->msg.len) {
drivers/i2c/busses/i2c-img-scb.c
572
img_i2c_wr_rd_fence(i2c);
drivers/i2c/busses/i2c-img-scb.c
573
fifo_status = img_i2c_readl(i2c, SCB_FIFO_STATUS_REG);
drivers/i2c/busses/i2c-img-scb.c
577
img_i2c_writel(i2c, SCB_WRITE_DATA_REG, *i2c->msg.buf);
drivers/i2c/busses/i2c-img-scb.c
578
i2c->msg.len--;
drivers/i2c/busses/i2c-img-scb.c
579
i2c->msg.buf++;
drivers/i2c/busses/i2c-img-scb.c
583
if (!i2c->msg.len)
drivers/i2c/busses/i2c-img-scb.c
584
i2c->int_enable &= ~INT_FIFO_EMPTYING;
drivers/i2c/busses/i2c-img-scb.c
588
static void img_i2c_read(struct img_i2c *i2c)
drivers/i2c/busses/i2c-img-scb.c
590
img_i2c_switch_mode(i2c, MODE_AUTOMATIC);
drivers/i2c/busses/i2c-img-scb.c
591
if (!i2c->last_msg)
drivers/i2c/busses/i2c-img-scb.c
592
i2c->int_enable |= INT_SLAVE_EVENT;
drivers/i2c/busses/i2c-img-scb.c
594
img_i2c_writel(i2c, SCB_INT_MASK_REG, i2c->int_enable);
drivers/i2c/busses/i2c-img-scb.c
595
img_i2c_writel(i2c, SCB_READ_ADDR_REG, i2c->msg.addr);
drivers/i2c/busses/i2c-img-scb.c
596
img_i2c_writel(i2c, SCB_READ_COUNT_REG, i2c->msg.len);
drivers/i2c/busses/i2c-img-scb.c
598
mod_timer(&i2c->check_timer, jiffies + msecs_to_jiffies(1));
drivers/i2c/busses/i2c-img-scb.c
602
static void img_i2c_write(struct img_i2c *i2c)
drivers/i2c/busses/i2c-img-scb.c
604
img_i2c_switch_mode(i2c, MODE_AUTOMATIC);
drivers/i2c/busses/i2c-img-scb.c
605
if (!i2c->last_msg)
drivers/i2c/busses/i2c-img-scb.c
606
i2c->int_enable |= INT_SLAVE_EVENT;
drivers/i2c/busses/i2c-img-scb.c
608
img_i2c_writel(i2c, SCB_WRITE_ADDR_REG, i2c->msg.addr);
drivers/i2c/busses/i2c-img-scb.c
609
img_i2c_writel(i2c, SCB_WRITE_COUNT_REG, i2c->msg.len);
drivers/i2c/busses/i2c-img-scb.c
611
mod_timer(&i2c->check_timer, jiffies + msecs_to_jiffies(1));
drivers/i2c/busses/i2c-img-scb.c
612
img_i2c_write_fifo(i2c);
drivers/i2c/busses/i2c-img-scb.c
615
img_i2c_writel(i2c, SCB_INT_MASK_REG, i2c->int_enable);
drivers/i2c/busses/i2c-img-scb.c
623
static void img_i2c_complete_transaction(struct img_i2c *i2c, int status)
drivers/i2c/busses/i2c-img-scb.c
625
img_i2c_switch_mode(i2c, MODE_INACTIVE);
drivers/i2c/busses/i2c-img-scb.c
627
i2c->msg_status = status;
drivers/i2c/busses/i2c-img-scb.c
628
img_i2c_transaction_halt(i2c, false);
drivers/i2c/busses/i2c-img-scb.c
630
complete(&i2c->msg_complete);
drivers/i2c/busses/i2c-img-scb.c
633
static unsigned int img_i2c_raw_atomic_delay_handler(struct img_i2c *i2c,
drivers/i2c/busses/i2c-img-scb.c
637
img_i2c_atomic_op(i2c, i2c->at_cur_cmd, i2c->at_cur_data);
drivers/i2c/busses/i2c-img-scb.c
638
img_i2c_switch_mode(i2c, MODE_ATOMIC);
drivers/i2c/busses/i2c-img-scb.c
642
static unsigned int img_i2c_raw(struct img_i2c *i2c, u32 int_status,
drivers/i2c/busses/i2c-img-scb.c
646
if (i2c->raw_timeout == 0)
drivers/i2c/busses/i2c-img-scb.c
647
return img_i2c_raw_atomic_delay_handler(i2c,
drivers/i2c/busses/i2c-img-scb.c
649
--i2c->raw_timeout;
drivers/i2c/busses/i2c-img-scb.c
654
static unsigned int img_i2c_sequence(struct img_i2c *i2c, u32 int_status)
drivers/i2c/busses/i2c-img-scb.c
667
i2c->at_slave_event = true;
drivers/i2c/busses/i2c-img-scb.c
669
i2c->at_t_done = true;
drivers/i2c/busses/i2c-img-scb.c
671
if (!i2c->at_slave_event || !i2c->at_t_done)
drivers/i2c/busses/i2c-img-scb.c
675
if (i2c->at_cur_cmd >= 0 &&
drivers/i2c/busses/i2c-img-scb.c
676
i2c->at_cur_cmd < ARRAY_SIZE(continue_bits)) {
drivers/i2c/busses/i2c-img-scb.c
677
unsigned int cont_bits = continue_bits[i2c->at_cur_cmd];
drivers/i2c/busses/i2c-img-scb.c
681
if (!(i2c->line_status & cont_bits))
drivers/i2c/busses/i2c-img-scb.c
687
next_cmd = *i2c->seq;
drivers/i2c/busses/i2c-img-scb.c
690
img_i2c_writel(i2c, SCB_OVERRIDE_REG, 0);
drivers/i2c/busses/i2c-img-scb.c
695
++i2c->seq;
drivers/i2c/busses/i2c-img-scb.c
696
next_data = *i2c->seq;
drivers/i2c/busses/i2c-img-scb.c
698
++i2c->seq;
drivers/i2c/busses/i2c-img-scb.c
699
img_i2c_atomic_op(i2c, next_cmd, next_data);
drivers/i2c/busses/i2c-img-scb.c
704
static void img_i2c_reset_start(struct img_i2c *i2c)
drivers/i2c/busses/i2c-img-scb.c
707
img_i2c_switch_mode(i2c, MODE_SEQUENCE);
drivers/i2c/busses/i2c-img-scb.c
708
img_i2c_writel(i2c, SCB_INT_MASK_REG, i2c->int_enable);
drivers/i2c/busses/i2c-img-scb.c
709
i2c->seq = img_i2c_reset_seq;
drivers/i2c/busses/i2c-img-scb.c
710
i2c->at_slave_event = true;
drivers/i2c/busses/i2c-img-scb.c
711
i2c->at_t_done = true;
drivers/i2c/busses/i2c-img-scb.c
712
i2c->at_cur_cmd = -1;
drivers/i2c/busses/i2c-img-scb.c
715
img_i2c_sequence(i2c, 0);
drivers/i2c/busses/i2c-img-scb.c
718
static void img_i2c_stop_start(struct img_i2c *i2c)
drivers/i2c/busses/i2c-img-scb.c
721
img_i2c_switch_mode(i2c, MODE_SEQUENCE);
drivers/i2c/busses/i2c-img-scb.c
722
img_i2c_writel(i2c, SCB_INT_MASK_REG, i2c->int_enable);
drivers/i2c/busses/i2c-img-scb.c
723
i2c->seq = img_i2c_stop_seq;
drivers/i2c/busses/i2c-img-scb.c
724
i2c->at_slave_event = true;
drivers/i2c/busses/i2c-img-scb.c
725
i2c->at_t_done = true;
drivers/i2c/busses/i2c-img-scb.c
726
i2c->at_cur_cmd = -1;
drivers/i2c/busses/i2c-img-scb.c
729
img_i2c_sequence(i2c, 0);
drivers/i2c/busses/i2c-img-scb.c
732
static unsigned int img_i2c_atomic(struct img_i2c *i2c,
drivers/i2c/busses/i2c-img-scb.c
740
i2c->at_slave_event = true;
drivers/i2c/busses/i2c-img-scb.c
742
i2c->at_t_done = true;
drivers/i2c/busses/i2c-img-scb.c
744
if (!i2c->at_slave_event || !i2c->at_t_done)
drivers/i2c/busses/i2c-img-scb.c
746
if (i2c->line_status & LINESTAT_ABORT_DET) {
drivers/i2c/busses/i2c-img-scb.c
747
dev_dbg(i2c->adap.dev.parent, "abort condition detected\n");
drivers/i2c/busses/i2c-img-scb.c
749
i2c->msg_status = -EIO;
drivers/i2c/busses/i2c-img-scb.c
754
switch (i2c->at_cur_cmd) {
drivers/i2c/busses/i2c-img-scb.c
757
next_data = i2c_8bit_addr_from_msg(&i2c->msg);
drivers/i2c/busses/i2c-img-scb.c
760
if (i2c->line_status & LINESTAT_INPUT_HELD_V)
drivers/i2c/busses/i2c-img-scb.c
764
if (i2c->line_status & LINESTAT_ACK_DET ||
drivers/i2c/busses/i2c-img-scb.c
765
(i2c->line_status & LINESTAT_NACK_DET &&
drivers/i2c/busses/i2c-img-scb.c
766
i2c->msg.flags & I2C_M_IGNORE_NAK)) {
drivers/i2c/busses/i2c-img-scb.c
767
if (i2c->msg.len == 0) {
drivers/i2c/busses/i2c-img-scb.c
769
} else if (i2c->msg.flags & I2C_M_RD) {
drivers/i2c/busses/i2c-img-scb.c
773
next_data = *i2c->msg.buf;
drivers/i2c/busses/i2c-img-scb.c
774
--i2c->msg.len;
drivers/i2c/busses/i2c-img-scb.c
775
++i2c->msg.buf;
drivers/i2c/busses/i2c-img-scb.c
777
} else if (i2c->line_status & LINESTAT_NACK_DET) {
drivers/i2c/busses/i2c-img-scb.c
778
i2c->msg_status = -EIO;
drivers/i2c/busses/i2c-img-scb.c
783
if (i2c->line_status & LINESTAT_INPUT_HELD_V) {
drivers/i2c/busses/i2c-img-scb.c
784
*i2c->msg.buf = (i2c->line_status &
drivers/i2c/busses/i2c-img-scb.c
787
--i2c->msg.len;
drivers/i2c/busses/i2c-img-scb.c
788
++i2c->msg.buf;
drivers/i2c/busses/i2c-img-scb.c
789
if (i2c->msg.len)
drivers/i2c/busses/i2c-img-scb.c
796
if (i2c->line_status & LINESTAT_ACK_DET) {
drivers/i2c/busses/i2c-img-scb.c
799
i2c->msg_status = -EIO;
drivers/i2c/busses/i2c-img-scb.c
807
img_i2c_writel(i2c, SCB_OVERRIDE_REG, 0);
drivers/i2c/busses/i2c-img-scb.c
810
dev_err(i2c->adap.dev.parent, "bad atomic command %d\n",
drivers/i2c/busses/i2c-img-scb.c
811
i2c->at_cur_cmd);
drivers/i2c/busses/i2c-img-scb.c
812
i2c->msg_status = -EIO;
drivers/i2c/busses/i2c-img-scb.c
820
if (next_cmd == CMD_GEN_STOP && !i2c->msg_status &&
drivers/i2c/busses/i2c-img-scb.c
821
!i2c->last_msg)
drivers/i2c/busses/i2c-img-scb.c
823
img_i2c_atomic_op(i2c, next_cmd, next_data);
drivers/i2c/busses/i2c-img-scb.c
834
struct img_i2c *i2c = timer_container_of(i2c, t, check_timer);
drivers/i2c/busses/i2c-img-scb.c
838
spin_lock_irqsave(&i2c->lock, flags);
drivers/i2c/busses/i2c-img-scb.c
839
line_status = img_i2c_readl(i2c, SCB_STATUS_REG);
drivers/i2c/busses/i2c-img-scb.c
843
dev_dbg(i2c->adap.dev.parent,
drivers/i2c/busses/i2c-img-scb.c
846
img_i2c_writel(i2c, SCB_INT_MASK_REG,
drivers/i2c/busses/i2c-img-scb.c
847
i2c->int_enable | INT_SLAVE_EVENT);
drivers/i2c/busses/i2c-img-scb.c
850
spin_unlock_irqrestore(&i2c->lock, flags);
drivers/i2c/busses/i2c-img-scb.c
853
static unsigned int img_i2c_auto(struct img_i2c *i2c,
drivers/i2c/busses/i2c-img-scb.c
861
dev_dbg(i2c->adap.dev.parent, "abort condition detected\n");
drivers/i2c/busses/i2c-img-scb.c
863
if ((i2c->msg.flags & I2C_M_RD) &&
drivers/i2c/busses/i2c-img-scb.c
865
img_i2c_read_fifo(i2c);
drivers/i2c/busses/i2c-img-scb.c
867
i2c->msg_status = -EIO;
drivers/i2c/busses/i2c-img-scb.c
868
img_i2c_stop_start(i2c);
drivers/i2c/busses/i2c-img-scb.c
873
if (!i2c->last_msg && line_status & LINESTAT_START_BIT_DET) {
drivers/i2c/busses/i2c-img-scb.c
874
img_i2c_transaction_halt(i2c, !i2c->last_msg);
drivers/i2c/busses/i2c-img-scb.c
876
i2c->int_enable &= ~INT_SLAVE_EVENT;
drivers/i2c/busses/i2c-img-scb.c
879
mod_timer(&i2c->check_timer, jiffies + msecs_to_jiffies(1));
drivers/i2c/busses/i2c-img-scb.c
883
if (i2c->msg.flags & I2C_M_RD)
drivers/i2c/busses/i2c-img-scb.c
884
img_i2c_read_fifo(i2c);
drivers/i2c/busses/i2c-img-scb.c
888
if (i2c->msg.flags & I2C_M_RD) {
drivers/i2c/busses/i2c-img-scb.c
890
img_i2c_read_fifo(i2c);
drivers/i2c/busses/i2c-img-scb.c
891
if (i2c->msg.len == 0)
drivers/i2c/busses/i2c-img-scb.c
897
i2c->msg.len == 0)
drivers/i2c/busses/i2c-img-scb.c
899
img_i2c_write_fifo(i2c);
drivers/i2c/busses/i2c-img-scb.c
907
img_i2c_transaction_halt(i2c, false);
drivers/i2c/busses/i2c-img-scb.c
908
img_i2c_transaction_halt(i2c, !i2c->last_msg);
drivers/i2c/busses/i2c-img-scb.c
916
struct img_i2c *i2c = dev_id;
drivers/i2c/busses/i2c-img-scb.c
922
int_status = img_i2c_readl(i2c, SCB_INT_STATUS_REG);
drivers/i2c/busses/i2c-img-scb.c
924
img_i2c_writel(i2c, SCB_INT_CLEAR_REG, int_status);
drivers/i2c/busses/i2c-img-scb.c
930
line_status = img_i2c_readl(i2c, SCB_STATUS_REG);
drivers/i2c/busses/i2c-img-scb.c
932
img_i2c_writel(i2c, SCB_CLEAR_REG,
drivers/i2c/busses/i2c-img-scb.c
935
img_i2c_wr_rd_fence(i2c);
drivers/i2c/busses/i2c-img-scb.c
938
spin_lock(&i2c->lock);
drivers/i2c/busses/i2c-img-scb.c
941
i2c->line_status &= ~LINESTAT_INPUT_DATA;
drivers/i2c/busses/i2c-img-scb.c
942
i2c->line_status |= line_status;
drivers/i2c/busses/i2c-img-scb.c
952
dev_crit(i2c->adap.dev.parent,
drivers/i2c/busses/i2c-img-scb.c
954
(i2c->msg.flags & I2C_M_RD) ? "reading" : "writing",
drivers/i2c/busses/i2c-img-scb.c
955
i2c->msg.addr);
drivers/i2c/busses/i2c-img-scb.c
960
if (i2c->mode == MODE_ATOMIC)
drivers/i2c/busses/i2c-img-scb.c
961
hret = img_i2c_atomic(i2c, int_status, line_status);
drivers/i2c/busses/i2c-img-scb.c
962
else if (i2c->mode == MODE_AUTOMATIC)
drivers/i2c/busses/i2c-img-scb.c
963
hret = img_i2c_auto(i2c, int_status, line_status);
drivers/i2c/busses/i2c-img-scb.c
964
else if (i2c->mode == MODE_SEQUENCE)
drivers/i2c/busses/i2c-img-scb.c
965
hret = img_i2c_sequence(i2c, int_status);
drivers/i2c/busses/i2c-img-scb.c
966
else if (i2c->mode == MODE_WAITSTOP && (int_status & INT_SLAVE_EVENT) &&
drivers/i2c/busses/i2c-img-scb.c
969
else if (i2c->mode == MODE_RAW)
drivers/i2c/busses/i2c-img-scb.c
970
hret = img_i2c_raw(i2c, int_status, line_status);
drivers/i2c/busses/i2c-img-scb.c
975
img_i2c_writel(i2c, SCB_INT_CLEAR_REG, int_status & INT_LEVEL);
drivers/i2c/busses/i2c-img-scb.c
983
if (!i2c->last_msg || i2c->line_status & LINESTAT_STOP_BIT_DET)
drivers/i2c/busses/i2c-img-scb.c
986
img_i2c_switch_mode(i2c, MODE_WAITSTOP);
drivers/i2c/busses/i2c-img-scb.c
993
img_i2c_complete_transaction(i2c, status);
drivers/i2c/busses/i2c-img-scb.c
995
img_i2c_switch_mode(i2c, MODE_FATAL);
drivers/i2c/busses/i2c-img-scb.c
999
img_i2c_writel(i2c, SCB_INT_MASK_REG, i2c->int_enable);
drivers/i2c/busses/i2c-jz4780.c
171
static inline unsigned short jz4780_i2c_readw(struct jz4780_i2c *i2c,
drivers/i2c/busses/i2c-jz4780.c
174
return readw(i2c->iomem + offset);
drivers/i2c/busses/i2c-jz4780.c
177
static inline void jz4780_i2c_writew(struct jz4780_i2c *i2c,
drivers/i2c/busses/i2c-jz4780.c
180
writew(val, i2c->iomem + offset);
drivers/i2c/busses/i2c-jz4780.c
183
static int jz4780_i2c_disable(struct jz4780_i2c *i2c)
drivers/i2c/busses/i2c-jz4780.c
188
jz4780_i2c_writew(i2c, JZ4780_I2C_ENB, 0);
drivers/i2c/busses/i2c-jz4780.c
191
regval = jz4780_i2c_readw(i2c, JZ4780_I2C_ENSTA);
drivers/i2c/busses/i2c-jz4780.c
198
dev_err(&i2c->adap.dev, "disable failed: ENSTA=0x%04x\n", regval);
drivers/i2c/busses/i2c-jz4780.c
202
static int jz4780_i2c_enable(struct jz4780_i2c *i2c)
drivers/i2c/busses/i2c-jz4780.c
207
jz4780_i2c_writew(i2c, JZ4780_I2C_ENB, 1);
drivers/i2c/busses/i2c-jz4780.c
210
regval = jz4780_i2c_readw(i2c, JZ4780_I2C_ENSTA);
drivers/i2c/busses/i2c-jz4780.c
217
dev_err(&i2c->adap.dev, "enable failed: ENSTA=0x%04x\n", regval);
drivers/i2c/busses/i2c-jz4780.c
221
static int jz4780_i2c_set_target(struct jz4780_i2c *i2c, unsigned char address)
drivers/i2c/busses/i2c-jz4780.c
227
regval = jz4780_i2c_readw(i2c, JZ4780_I2C_STA);
drivers/i2c/busses/i2c-jz4780.c
236
jz4780_i2c_writew(i2c, JZ4780_I2C_TAR, address);
drivers/i2c/busses/i2c-jz4780.c
240
dev_err(&i2c->adap.dev,
drivers/i2c/busses/i2c-jz4780.c
247
static int jz4780_i2c_set_speed(struct jz4780_i2c *i2c)
drivers/i2c/busses/i2c-jz4780.c
249
int dev_clk_khz = clk_get_rate(i2c->clk) / 1000;
drivers/i2c/busses/i2c-jz4780.c
256
int i2c_clk = i2c->speed;
drivers/i2c/busses/i2c-jz4780.c
258
if (jz4780_i2c_disable(i2c))
drivers/i2c/busses/i2c-jz4780.c
259
dev_dbg(&i2c->adap.dev, "i2c not disabled\n");
drivers/i2c/busses/i2c-jz4780.c
285
jz4780_i2c_writew(i2c, JZ4780_I2C_CTRL, tmp);
drivers/i2c/busses/i2c-jz4780.c
287
jz4780_i2c_writew(i2c, JZ4780_I2C_SHCNT,
drivers/i2c/busses/i2c-jz4780.c
289
jz4780_i2c_writew(i2c, JZ4780_I2C_SLCNT,
drivers/i2c/busses/i2c-jz4780.c
294
jz4780_i2c_writew(i2c, JZ4780_I2C_CTRL, tmp);
drivers/i2c/busses/i2c-jz4780.c
296
jz4780_i2c_writew(i2c, JZ4780_I2C_FHCNT,
drivers/i2c/busses/i2c-jz4780.c
298
jz4780_i2c_writew(i2c, JZ4780_I2C_FLCNT,
drivers/i2c/busses/i2c-jz4780.c
337
jz4780_i2c_writew(i2c, JZ4780_I2C_SDASU, setup_time);
drivers/i2c/busses/i2c-jz4780.c
344
if (i2c->cdata->version >= ID_X1000) {
drivers/i2c/busses/i2c-jz4780.c
345
jz4780_i2c_writew(i2c, X1000_I2C_SDAHD, hold_time);
drivers/i2c/busses/i2c-jz4780.c
348
jz4780_i2c_writew(i2c, JZ4780_I2C_SDAHD, hold_time);
drivers/i2c/busses/i2c-jz4780.c
352
if (i2c->cdata->version >= ID_X1000)
drivers/i2c/busses/i2c-jz4780.c
353
jz4780_i2c_writew(i2c, X1000_I2C_SDAHD, 0);
drivers/i2c/busses/i2c-jz4780.c
355
jz4780_i2c_writew(i2c, JZ4780_I2C_SDAHD, 0);
drivers/i2c/busses/i2c-jz4780.c
361
static int jz4780_i2c_cleanup(struct jz4780_i2c *i2c)
drivers/i2c/busses/i2c-jz4780.c
367
spin_lock_irqsave(&i2c->lock, flags);
drivers/i2c/busses/i2c-jz4780.c
370
if (i2c->cdata->version < ID_X1000) {
drivers/i2c/busses/i2c-jz4780.c
371
tmp = jz4780_i2c_readw(i2c, JZ4780_I2C_CTRL);
drivers/i2c/busses/i2c-jz4780.c
373
jz4780_i2c_writew(i2c, JZ4780_I2C_CTRL, tmp);
drivers/i2c/busses/i2c-jz4780.c
377
jz4780_i2c_writew(i2c, JZ4780_I2C_INTM, 0);
drivers/i2c/busses/i2c-jz4780.c
380
jz4780_i2c_readw(i2c, JZ4780_I2C_CTXABRT);
drivers/i2c/busses/i2c-jz4780.c
381
jz4780_i2c_readw(i2c, JZ4780_I2C_CINTR);
drivers/i2c/busses/i2c-jz4780.c
384
tmp = jz4780_i2c_readw(i2c, JZ4780_I2C_CTRL);
drivers/i2c/busses/i2c-jz4780.c
386
jz4780_i2c_writew(i2c, JZ4780_I2C_CTRL, tmp);
drivers/i2c/busses/i2c-jz4780.c
389
jz4780_i2c_writew(i2c, JZ4780_I2C_CTRL, tmp);
drivers/i2c/busses/i2c-jz4780.c
391
spin_unlock_irqrestore(&i2c->lock, flags);
drivers/i2c/busses/i2c-jz4780.c
393
ret = jz4780_i2c_disable(i2c);
drivers/i2c/busses/i2c-jz4780.c
395
dev_err(&i2c->adap.dev,
drivers/i2c/busses/i2c-jz4780.c
398
if (unlikely(jz4780_i2c_readw(i2c, JZ4780_I2C_INTM)
drivers/i2c/busses/i2c-jz4780.c
399
& jz4780_i2c_readw(i2c, JZ4780_I2C_INTST)))
drivers/i2c/busses/i2c-jz4780.c
400
dev_err(&i2c->adap.dev,
drivers/i2c/busses/i2c-jz4780.c
406
static int jz4780_i2c_prepare(struct jz4780_i2c *i2c)
drivers/i2c/busses/i2c-jz4780.c
408
jz4780_i2c_set_speed(i2c);
drivers/i2c/busses/i2c-jz4780.c
409
return jz4780_i2c_enable(i2c);
drivers/i2c/busses/i2c-jz4780.c
412
static void jz4780_i2c_send_rcmd(struct jz4780_i2c *i2c,
drivers/i2c/busses/i2c-jz4780.c
419
jz4780_i2c_writew(i2c, JZ4780_I2C_DC, JZ4780_I2C_DC_READ);
drivers/i2c/busses/i2c-jz4780.c
421
if ((cmd_left == 0) && (i2c->cdata->version >= ID_X1000))
drivers/i2c/busses/i2c-jz4780.c
422
jz4780_i2c_writew(i2c, JZ4780_I2C_DC,
drivers/i2c/busses/i2c-jz4780.c
425
jz4780_i2c_writew(i2c, JZ4780_I2C_DC, JZ4780_I2C_DC_READ);
drivers/i2c/busses/i2c-jz4780.c
428
static void jz4780_i2c_trans_done(struct jz4780_i2c *i2c)
drivers/i2c/busses/i2c-jz4780.c
430
jz4780_i2c_writew(i2c, JZ4780_I2C_INTM, 0);
drivers/i2c/busses/i2c-jz4780.c
431
complete(&i2c->trans_waitq);
drivers/i2c/busses/i2c-jz4780.c
439
struct jz4780_i2c *i2c = dev_id;
drivers/i2c/busses/i2c-jz4780.c
441
spin_lock(&i2c->lock);
drivers/i2c/busses/i2c-jz4780.c
442
intmsk = jz4780_i2c_readw(i2c, JZ4780_I2C_INTM);
drivers/i2c/busses/i2c-jz4780.c
443
intst = jz4780_i2c_readw(i2c, JZ4780_I2C_INTST);
drivers/i2c/busses/i2c-jz4780.c
448
jz4780_i2c_trans_done(i2c);
drivers/i2c/busses/i2c-jz4780.c
453
dev_dbg(&i2c->adap.dev, "received fifo overflow!\n");
drivers/i2c/busses/i2c-jz4780.c
454
jz4780_i2c_trans_done(i2c);
drivers/i2c/busses/i2c-jz4780.c
462
if (i2c->is_write == 0) {
drivers/i2c/busses/i2c-jz4780.c
465
while ((jz4780_i2c_readw(i2c, JZ4780_I2C_STA)
drivers/i2c/busses/i2c-jz4780.c
467
*(i2c->rbuf++) = jz4780_i2c_readw(i2c, JZ4780_I2C_DC)
drivers/i2c/busses/i2c-jz4780.c
469
i2c->rd_data_xfered++;
drivers/i2c/busses/i2c-jz4780.c
470
if (i2c->rd_data_xfered == i2c->rd_total_len) {
drivers/i2c/busses/i2c-jz4780.c
471
jz4780_i2c_trans_done(i2c);
drivers/i2c/busses/i2c-jz4780.c
476
rd_left = i2c->rd_total_len - i2c->rd_data_xfered;
drivers/i2c/busses/i2c-jz4780.c
478
if (rd_left <= i2c->cdata->fifosize)
drivers/i2c/busses/i2c-jz4780.c
479
jz4780_i2c_writew(i2c, JZ4780_I2C_RXTL, rd_left - 1);
drivers/i2c/busses/i2c-jz4780.c
483
if (i2c->is_write == 0) {
drivers/i2c/busses/i2c-jz4780.c
484
int cmd_left = i2c->rd_total_len - i2c->rd_cmd_xfered;
drivers/i2c/busses/i2c-jz4780.c
485
int max_send = (i2c->cdata->fifosize - 1)
drivers/i2c/busses/i2c-jz4780.c
486
- (i2c->rd_cmd_xfered
drivers/i2c/busses/i2c-jz4780.c
487
- i2c->rd_data_xfered);
drivers/i2c/busses/i2c-jz4780.c
490
if (i2c->rd_cmd_xfered != 0)
drivers/i2c/busses/i2c-jz4780.c
492
i2c->cdata->fifosize
drivers/i2c/busses/i2c-jz4780.c
493
- i2c->cdata->tx_level - 1);
drivers/i2c/busses/i2c-jz4780.c
496
i2c->rd_cmd_xfered += cmd_to_send;
drivers/i2c/busses/i2c-jz4780.c
497
cmd_left = i2c->rd_total_len -
drivers/i2c/busses/i2c-jz4780.c
498
i2c->rd_cmd_xfered;
drivers/i2c/busses/i2c-jz4780.c
499
jz4780_i2c_send_rcmd(i2c,
drivers/i2c/busses/i2c-jz4780.c
505
intmsk = jz4780_i2c_readw(i2c, JZ4780_I2C_INTM);
drivers/i2c/busses/i2c-jz4780.c
507
jz4780_i2c_writew(i2c, JZ4780_I2C_INTM, intmsk);
drivers/i2c/busses/i2c-jz4780.c
509
if (i2c->cdata->version < ID_X1000) {
drivers/i2c/busses/i2c-jz4780.c
510
tmp = jz4780_i2c_readw(i2c,
drivers/i2c/busses/i2c-jz4780.c
513
jz4780_i2c_writew(i2c,
drivers/i2c/busses/i2c-jz4780.c
521
i2c_sta = jz4780_i2c_readw(i2c, JZ4780_I2C_STA);
drivers/i2c/busses/i2c-jz4780.c
524
(i2c->wt_len > 0)) {
drivers/i2c/busses/i2c-jz4780.c
525
i2c_sta = jz4780_i2c_readw(i2c, JZ4780_I2C_STA);
drivers/i2c/busses/i2c-jz4780.c
526
data = *i2c->wbuf;
drivers/i2c/busses/i2c-jz4780.c
528
if ((i2c->wt_len == 1) && (!i2c->stop_hold) &&
drivers/i2c/busses/i2c-jz4780.c
529
(i2c->cdata->version >= ID_X1000))
drivers/i2c/busses/i2c-jz4780.c
531
jz4780_i2c_writew(i2c, JZ4780_I2C_DC, data);
drivers/i2c/busses/i2c-jz4780.c
532
i2c->wbuf++;
drivers/i2c/busses/i2c-jz4780.c
533
i2c->wt_len--;
drivers/i2c/busses/i2c-jz4780.c
536
if (i2c->wt_len == 0) {
drivers/i2c/busses/i2c-jz4780.c
537
if ((!i2c->stop_hold) && (i2c->cdata->version <
drivers/i2c/busses/i2c-jz4780.c
539
tmp = jz4780_i2c_readw(i2c,
drivers/i2c/busses/i2c-jz4780.c
542
jz4780_i2c_writew(i2c,
drivers/i2c/busses/i2c-jz4780.c
546
jz4780_i2c_trans_done(i2c);
drivers/i2c/busses/i2c-jz4780.c
553
spin_unlock(&i2c->lock);
drivers/i2c/busses/i2c-jz4780.c
557
static void jz4780_i2c_txabrt(struct jz4780_i2c *i2c, int src)
drivers/i2c/busses/i2c-jz4780.c
559
dev_dbg(&i2c->adap.dev, "txabrt: 0x%08x, cmd: %d, send: %d, recv: %d\n",
drivers/i2c/busses/i2c-jz4780.c
560
src, i2c->cmd, i2c->cmd_buf[i2c->cmd], i2c->data_buf[i2c->cmd]);
drivers/i2c/busses/i2c-jz4780.c
563
static inline int jz4780_i2c_xfer_read(struct jz4780_i2c *i2c,
drivers/i2c/busses/i2c-jz4780.c
575
spin_lock_irqsave(&i2c->lock, flags);
drivers/i2c/busses/i2c-jz4780.c
577
i2c->stop_hold = 0;
drivers/i2c/busses/i2c-jz4780.c
578
i2c->is_write = 0;
drivers/i2c/busses/i2c-jz4780.c
579
i2c->rbuf = buf;
drivers/i2c/busses/i2c-jz4780.c
580
i2c->rd_total_len = len;
drivers/i2c/busses/i2c-jz4780.c
581
i2c->rd_data_xfered = 0;
drivers/i2c/busses/i2c-jz4780.c
582
i2c->rd_cmd_xfered = 0;
drivers/i2c/busses/i2c-jz4780.c
584
if (len <= i2c->cdata->fifosize)
drivers/i2c/busses/i2c-jz4780.c
585
jz4780_i2c_writew(i2c, JZ4780_I2C_RXTL, len - 1);
drivers/i2c/busses/i2c-jz4780.c
587
jz4780_i2c_writew(i2c, JZ4780_I2C_RXTL, i2c->cdata->rx_level);
drivers/i2c/busses/i2c-jz4780.c
589
jz4780_i2c_writew(i2c, JZ4780_I2C_TXTL, i2c->cdata->tx_level);
drivers/i2c/busses/i2c-jz4780.c
591
jz4780_i2c_writew(i2c, JZ4780_I2C_INTM,
drivers/i2c/busses/i2c-jz4780.c
595
if (i2c->cdata->version < ID_X1000) {
drivers/i2c/busses/i2c-jz4780.c
596
tmp = jz4780_i2c_readw(i2c, JZ4780_I2C_CTRL);
drivers/i2c/busses/i2c-jz4780.c
598
jz4780_i2c_writew(i2c, JZ4780_I2C_CTRL, tmp);
drivers/i2c/busses/i2c-jz4780.c
601
spin_unlock_irqrestore(&i2c->lock, flags);
drivers/i2c/busses/i2c-jz4780.c
603
time_left = wait_for_completion_timeout(&i2c->trans_waitq,
drivers/i2c/busses/i2c-jz4780.c
607
dev_err(&i2c->adap.dev, "irq read timeout\n");
drivers/i2c/busses/i2c-jz4780.c
608
dev_dbg(&i2c->adap.dev, "send cmd count:%d %d\n",
drivers/i2c/busses/i2c-jz4780.c
609
i2c->cmd, i2c->cmd_buf[i2c->cmd]);
drivers/i2c/busses/i2c-jz4780.c
610
dev_dbg(&i2c->adap.dev, "receive data count:%d %d\n",
drivers/i2c/busses/i2c-jz4780.c
611
i2c->cmd, i2c->data_buf[i2c->cmd]);
drivers/i2c/busses/i2c-jz4780.c
615
tmp = jz4780_i2c_readw(i2c, JZ4780_I2C_TXABRT);
drivers/i2c/busses/i2c-jz4780.c
617
jz4780_i2c_txabrt(i2c, tmp);
drivers/i2c/busses/i2c-jz4780.c
624
static inline int jz4780_i2c_xfer_write(struct jz4780_i2c *i2c,
drivers/i2c/busses/i2c-jz4780.c
634
spin_lock_irqsave(&i2c->lock, flags);
drivers/i2c/busses/i2c-jz4780.c
637
i2c->stop_hold = 1;
drivers/i2c/busses/i2c-jz4780.c
639
i2c->stop_hold = 0;
drivers/i2c/busses/i2c-jz4780.c
641
i2c->is_write = 1;
drivers/i2c/busses/i2c-jz4780.c
642
i2c->wbuf = buf;
drivers/i2c/busses/i2c-jz4780.c
643
i2c->wt_len = len;
drivers/i2c/busses/i2c-jz4780.c
645
jz4780_i2c_writew(i2c, JZ4780_I2C_TXTL, i2c->cdata->tx_level);
drivers/i2c/busses/i2c-jz4780.c
647
jz4780_i2c_writew(i2c, JZ4780_I2C_INTM, JZ4780_I2C_INTM_MTXEMP
drivers/i2c/busses/i2c-jz4780.c
650
if (i2c->cdata->version < ID_X1000) {
drivers/i2c/busses/i2c-jz4780.c
651
tmp = jz4780_i2c_readw(i2c, JZ4780_I2C_CTRL);
drivers/i2c/busses/i2c-jz4780.c
653
jz4780_i2c_writew(i2c, JZ4780_I2C_CTRL, tmp);
drivers/i2c/busses/i2c-jz4780.c
656
spin_unlock_irqrestore(&i2c->lock, flags);
drivers/i2c/busses/i2c-jz4780.c
658
time_left = wait_for_completion_timeout(&i2c->trans_waitq,
drivers/i2c/busses/i2c-jz4780.c
660
if (time_left && !i2c->stop_hold) {
drivers/i2c/busses/i2c-jz4780.c
666
i2c_sta = jz4780_i2c_readw(i2c, JZ4780_I2C_STA);
drivers/i2c/busses/i2c-jz4780.c
677
dev_err(&i2c->adap.dev, "write wait timeout\n");
drivers/i2c/busses/i2c-jz4780.c
681
tmp = jz4780_i2c_readw(i2c, JZ4780_I2C_TXABRT);
drivers/i2c/busses/i2c-jz4780.c
683
jz4780_i2c_txabrt(i2c, tmp);
drivers/i2c/busses/i2c-jz4780.c
695
struct jz4780_i2c *i2c = adap->algo_data;
drivers/i2c/busses/i2c-jz4780.c
697
ret = jz4780_i2c_prepare(i2c);
drivers/i2c/busses/i2c-jz4780.c
699
dev_err(&i2c->adap.dev, "I2C prepare failed\n");
drivers/i2c/busses/i2c-jz4780.c
703
if (msg->addr != jz4780_i2c_readw(i2c, JZ4780_I2C_TAR)) {
drivers/i2c/busses/i2c-jz4780.c
704
ret = jz4780_i2c_set_target(i2c, msg->addr);
drivers/i2c/busses/i2c-jz4780.c
710
ret = jz4780_i2c_xfer_read(i2c, msg->buf, msg->len,
drivers/i2c/busses/i2c-jz4780.c
713
ret = jz4780_i2c_xfer_write(i2c, msg->buf, msg->len,
drivers/i2c/busses/i2c-jz4780.c
723
jz4780_i2c_cleanup(i2c);
drivers/i2c/busses/i2c-jz4780.c
766
struct jz4780_i2c *i2c;
drivers/i2c/busses/i2c-jz4780.c
768
i2c = devm_kzalloc(&pdev->dev, sizeof(struct jz4780_i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-jz4780.c
769
if (!i2c)
drivers/i2c/busses/i2c-jz4780.c
772
i2c->cdata = device_get_match_data(&pdev->dev);
drivers/i2c/busses/i2c-jz4780.c
773
if (!i2c->cdata) {
drivers/i2c/busses/i2c-jz4780.c
778
i2c->adap.owner = THIS_MODULE;
drivers/i2c/busses/i2c-jz4780.c
779
i2c->adap.algo = &jz4780_i2c_algorithm;
drivers/i2c/busses/i2c-jz4780.c
780
i2c->adap.algo_data = i2c;
drivers/i2c/busses/i2c-jz4780.c
781
i2c->adap.retries = 5;
drivers/i2c/busses/i2c-jz4780.c
782
i2c->adap.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-jz4780.c
783
i2c->adap.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-jz4780.c
784
sprintf(i2c->adap.name, "%s", pdev->name);
drivers/i2c/busses/i2c-jz4780.c
786
init_completion(&i2c->trans_waitq);
drivers/i2c/busses/i2c-jz4780.c
787
spin_lock_init(&i2c->lock);
drivers/i2c/busses/i2c-jz4780.c
789
i2c->iomem = devm_platform_ioremap_resource(pdev, 0);
drivers/i2c/busses/i2c-jz4780.c
790
if (IS_ERR(i2c->iomem))
drivers/i2c/busses/i2c-jz4780.c
791
return PTR_ERR(i2c->iomem);
drivers/i2c/busses/i2c-jz4780.c
793
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-jz4780.c
795
i2c->clk = devm_clk_get_enabled(&pdev->dev, NULL);
drivers/i2c/busses/i2c-jz4780.c
796
if (IS_ERR(i2c->clk))
drivers/i2c/busses/i2c-jz4780.c
797
return PTR_ERR(i2c->clk);
drivers/i2c/busses/i2c-jz4780.c
806
i2c->speed = clk_freq / 1000;
drivers/i2c/busses/i2c-jz4780.c
807
if (i2c->speed == 0) {
drivers/i2c/busses/i2c-jz4780.c
812
jz4780_i2c_set_speed(i2c);
drivers/i2c/busses/i2c-jz4780.c
814
dev_info(&pdev->dev, "Bus frequency is %d KHz\n", i2c->speed);
drivers/i2c/busses/i2c-jz4780.c
816
if (i2c->cdata->version < ID_X1000) {
drivers/i2c/busses/i2c-jz4780.c
817
tmp = jz4780_i2c_readw(i2c, JZ4780_I2C_CTRL);
drivers/i2c/busses/i2c-jz4780.c
819
jz4780_i2c_writew(i2c, JZ4780_I2C_CTRL, tmp);
drivers/i2c/busses/i2c-jz4780.c
822
jz4780_i2c_writew(i2c, JZ4780_I2C_INTM, 0x0);
drivers/i2c/busses/i2c-jz4780.c
827
i2c->irq = ret;
drivers/i2c/busses/i2c-jz4780.c
829
ret = devm_request_irq(&pdev->dev, i2c->irq, jz4780_i2c_irq, 0,
drivers/i2c/busses/i2c-jz4780.c
830
dev_name(&pdev->dev), i2c);
drivers/i2c/busses/i2c-jz4780.c
834
ret = i2c_add_adapter(&i2c->adap);
drivers/i2c/busses/i2c-jz4780.c
843
struct jz4780_i2c *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-jz4780.c
845
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-k1.c
133
static void spacemit_i2c_enable(struct spacemit_i2c_dev *i2c)
drivers/i2c/busses/i2c-k1.c
137
val = readl(i2c->base + SPACEMIT_ICR);
drivers/i2c/busses/i2c-k1.c
139
writel(val, i2c->base + SPACEMIT_ICR);
drivers/i2c/busses/i2c-k1.c
142
static void spacemit_i2c_disable(struct spacemit_i2c_dev *i2c)
drivers/i2c/busses/i2c-k1.c
146
val = readl(i2c->base + SPACEMIT_ICR);
drivers/i2c/busses/i2c-k1.c
148
writel(val, i2c->base + SPACEMIT_ICR);
drivers/i2c/busses/i2c-k1.c
151
static void spacemit_i2c_reset(struct spacemit_i2c_dev *i2c)
drivers/i2c/busses/i2c-k1.c
153
writel(SPACEMIT_CR_UR, i2c->base + SPACEMIT_ICR);
drivers/i2c/busses/i2c-k1.c
155
writel(0, i2c->base + SPACEMIT_ICR);
drivers/i2c/busses/i2c-k1.c
158
static int spacemit_i2c_handle_err(struct spacemit_i2c_dev *i2c)
drivers/i2c/busses/i2c-k1.c
160
dev_dbg(i2c->dev, "i2c error status: 0x%08x\n", i2c->status);
drivers/i2c/busses/i2c-k1.c
163
if (i2c->status & SPACEMIT_SR_ALD) {
drivers/i2c/busses/i2c-k1.c
164
spacemit_i2c_reset(i2c);
drivers/i2c/busses/i2c-k1.c
169
if (i2c->status & SPACEMIT_SR_BED)
drivers/i2c/busses/i2c-k1.c
170
spacemit_i2c_reset(i2c);
drivers/i2c/busses/i2c-k1.c
172
return i2c->status & SPACEMIT_SR_ACKNAK ? -ENXIO : -EIO;
drivers/i2c/busses/i2c-k1.c
175
static void spacemit_i2c_conditionally_reset_bus(struct spacemit_i2c_dev *i2c)
drivers/i2c/busses/i2c-k1.c
181
status = readl(i2c->base + SPACEMIT_IBMR);
drivers/i2c/busses/i2c-k1.c
185
spacemit_i2c_reset(i2c);
drivers/i2c/busses/i2c-k1.c
189
status = readl(i2c->base + SPACEMIT_IBMR);
drivers/i2c/busses/i2c-k1.c
195
i2c->base + SPACEMIT_IRCR);
drivers/i2c/busses/i2c-k1.c
196
writel(SPACEMIT_CR_RSTREQ, i2c->base + SPACEMIT_ICR);
drivers/i2c/busses/i2c-k1.c
201
status = readl(i2c->base + SPACEMIT_IBMR);
drivers/i2c/busses/i2c-k1.c
203
dev_warn_ratelimited(i2c->dev, "unit reset failed\n");
drivers/i2c/busses/i2c-k1.c
206
static int spacemit_i2c_wait_bus_idle(struct spacemit_i2c_dev *i2c)
drivers/i2c/busses/i2c-k1.c
211
val = readl(i2c->base + SPACEMIT_ISR);
drivers/i2c/busses/i2c-k1.c
215
ret = readl_poll_timeout(i2c->base + SPACEMIT_ISR,
drivers/i2c/busses/i2c-k1.c
219
spacemit_i2c_reset(i2c);
drivers/i2c/busses/i2c-k1.c
224
static void spacemit_i2c_check_bus_release(struct spacemit_i2c_dev *i2c)
drivers/i2c/busses/i2c-k1.c
227
if (readl(i2c->base + SPACEMIT_ISR) & SPACEMIT_SR_EBB) {
drivers/i2c/busses/i2c-k1.c
228
spacemit_i2c_conditionally_reset_bus(i2c);
drivers/i2c/busses/i2c-k1.c
234
spacemit_i2c_clear_int_status(struct spacemit_i2c_dev *i2c, u32 mask)
drivers/i2c/busses/i2c-k1.c
236
writel(mask & SPACEMIT_I2C_INT_STATUS_MASK, i2c->base + SPACEMIT_ISR);
drivers/i2c/busses/i2c-k1.c
239
static void spacemit_i2c_init(struct spacemit_i2c_dev *i2c)
drivers/i2c/busses/i2c-k1.c
261
if (i2c->clock_freq == SPACEMIT_I2C_MAX_FAST_MODE_FREQ)
drivers/i2c/busses/i2c-k1.c
273
writel(val, i2c->base + SPACEMIT_ICR);
drivers/i2c/busses/i2c-k1.c
279
val = readl(i2c->base + SPACEMIT_IRCR);
drivers/i2c/busses/i2c-k1.c
281
writel(val, i2c->base + SPACEMIT_IRCR);
drivers/i2c/busses/i2c-k1.c
283
spacemit_i2c_clear_int_status(i2c, SPACEMIT_I2C_INT_STATUS_MASK);
drivers/i2c/busses/i2c-k1.c
286
static void spacemit_i2c_start(struct spacemit_i2c_dev *i2c)
drivers/i2c/busses/i2c-k1.c
289
struct i2c_msg *cur_msg = i2c->msgs + i2c->msg_idx;
drivers/i2c/busses/i2c-k1.c
291
i2c->read = !!(cur_msg->flags & I2C_M_RD);
drivers/i2c/busses/i2c-k1.c
293
i2c->state = SPACEMIT_STATE_START;
drivers/i2c/busses/i2c-k1.c
299
writel(target_addr_rw, i2c->base + SPACEMIT_IDBR);
drivers/i2c/busses/i2c-k1.c
302
val = readl(i2c->base + SPACEMIT_ICR);
drivers/i2c/busses/i2c-k1.c
305
writel(val, i2c->base + SPACEMIT_ICR);
drivers/i2c/busses/i2c-k1.c
308
static int spacemit_i2c_xfer_msg(struct spacemit_i2c_dev *i2c)
drivers/i2c/busses/i2c-k1.c
313
for (i2c->msg_idx = 0; i2c->msg_idx < i2c->msg_num; i2c->msg_idx++) {
drivers/i2c/busses/i2c-k1.c
314
msg = &i2c->msgs[i2c->msg_idx];
drivers/i2c/busses/i2c-k1.c
315
i2c->msg_buf = msg->buf;
drivers/i2c/busses/i2c-k1.c
316
i2c->unprocessed = msg->len;
drivers/i2c/busses/i2c-k1.c
317
i2c->status = 0;
drivers/i2c/busses/i2c-k1.c
319
reinit_completion(&i2c->complete);
drivers/i2c/busses/i2c-k1.c
321
spacemit_i2c_start(i2c);
drivers/i2c/busses/i2c-k1.c
323
time_left = wait_for_completion_timeout(&i2c->complete,
drivers/i2c/busses/i2c-k1.c
324
i2c->adapt.timeout);
drivers/i2c/busses/i2c-k1.c
326
dev_err(i2c->dev, "msg completion timeout\n");
drivers/i2c/busses/i2c-k1.c
327
spacemit_i2c_conditionally_reset_bus(i2c);
drivers/i2c/busses/i2c-k1.c
328
spacemit_i2c_reset(i2c);
drivers/i2c/busses/i2c-k1.c
332
if (i2c->status & SPACEMIT_SR_ERR)
drivers/i2c/busses/i2c-k1.c
333
return spacemit_i2c_handle_err(i2c);
drivers/i2c/busses/i2c-k1.c
339
static bool spacemit_i2c_is_last_msg(struct spacemit_i2c_dev *i2c)
drivers/i2c/busses/i2c-k1.c
341
if (i2c->msg_idx != i2c->msg_num - 1)
drivers/i2c/busses/i2c-k1.c
344
if (i2c->read)
drivers/i2c/busses/i2c-k1.c
345
return i2c->unprocessed == 1;
drivers/i2c/busses/i2c-k1.c
347
return !i2c->unprocessed;
drivers/i2c/busses/i2c-k1.c
350
static void spacemit_i2c_handle_write(struct spacemit_i2c_dev *i2c)
drivers/i2c/busses/i2c-k1.c
353
if (i2c->status & SPACEMIT_SR_MSD)
drivers/i2c/busses/i2c-k1.c
356
if (i2c->unprocessed) {
drivers/i2c/busses/i2c-k1.c
357
writel(*i2c->msg_buf++, i2c->base + SPACEMIT_IDBR);
drivers/i2c/busses/i2c-k1.c
358
i2c->unprocessed--;
drivers/i2c/busses/i2c-k1.c
363
i2c->state = SPACEMIT_STATE_IDLE;
drivers/i2c/busses/i2c-k1.c
364
complete(&i2c->complete);
drivers/i2c/busses/i2c-k1.c
367
static void spacemit_i2c_handle_read(struct spacemit_i2c_dev *i2c)
drivers/i2c/busses/i2c-k1.c
369
if (i2c->unprocessed) {
drivers/i2c/busses/i2c-k1.c
370
*i2c->msg_buf++ = readl(i2c->base + SPACEMIT_IDBR);
drivers/i2c/busses/i2c-k1.c
371
i2c->unprocessed--;
drivers/i2c/busses/i2c-k1.c
375
if (i2c->status & (SPACEMIT_SR_MSD | SPACEMIT_SR_ACKNAK))
drivers/i2c/busses/i2c-k1.c
379
if (i2c->unprocessed)
drivers/i2c/busses/i2c-k1.c
383
i2c->state = SPACEMIT_STATE_IDLE;
drivers/i2c/busses/i2c-k1.c
384
complete(&i2c->complete);
drivers/i2c/busses/i2c-k1.c
387
static void spacemit_i2c_handle_start(struct spacemit_i2c_dev *i2c)
drivers/i2c/busses/i2c-k1.c
389
i2c->state = i2c->read ? SPACEMIT_STATE_READ : SPACEMIT_STATE_WRITE;
drivers/i2c/busses/i2c-k1.c
390
if (i2c->state == SPACEMIT_STATE_WRITE)
drivers/i2c/busses/i2c-k1.c
391
spacemit_i2c_handle_write(i2c);
drivers/i2c/busses/i2c-k1.c
394
static void spacemit_i2c_err_check(struct spacemit_i2c_dev *i2c)
drivers/i2c/busses/i2c-k1.c
402
if (!(i2c->status & (SPACEMIT_SR_ERR | SPACEMIT_SR_MSD)))
drivers/i2c/busses/i2c-k1.c
412
val = readl(i2c->base + SPACEMIT_ICR);
drivers/i2c/busses/i2c-k1.c
414
writel(val, i2c->base + SPACEMIT_ICR);
drivers/i2c/busses/i2c-k1.c
416
spacemit_i2c_clear_int_status(i2c, SPACEMIT_I2C_INT_STATUS_MASK);
drivers/i2c/busses/i2c-k1.c
418
i2c->state = SPACEMIT_STATE_IDLE;
drivers/i2c/busses/i2c-k1.c
419
complete(&i2c->complete);
drivers/i2c/busses/i2c-k1.c
424
struct spacemit_i2c_dev *i2c = devid;
drivers/i2c/busses/i2c-k1.c
427
status = readl(i2c->base + SPACEMIT_ISR);
drivers/i2c/busses/i2c-k1.c
431
i2c->status = status;
drivers/i2c/busses/i2c-k1.c
433
spacemit_i2c_clear_int_status(i2c, status);
drivers/i2c/busses/i2c-k1.c
435
if (i2c->status & SPACEMIT_SR_ERR)
drivers/i2c/busses/i2c-k1.c
438
val = readl(i2c->base + SPACEMIT_ICR);
drivers/i2c/busses/i2c-k1.c
441
switch (i2c->state) {
drivers/i2c/busses/i2c-k1.c
443
spacemit_i2c_handle_start(i2c);
drivers/i2c/busses/i2c-k1.c
446
spacemit_i2c_handle_read(i2c);
drivers/i2c/busses/i2c-k1.c
449
spacemit_i2c_handle_write(i2c);
drivers/i2c/busses/i2c-k1.c
455
if (i2c->state != SPACEMIT_STATE_IDLE) {
drivers/i2c/busses/i2c-k1.c
458
if (spacemit_i2c_is_last_msg(i2c)) {
drivers/i2c/busses/i2c-k1.c
462
if (i2c->read)
drivers/i2c/busses/i2c-k1.c
465
writel(val, i2c->base + SPACEMIT_ICR);
drivers/i2c/busses/i2c-k1.c
469
spacemit_i2c_err_check(i2c);
drivers/i2c/busses/i2c-k1.c
473
static void spacemit_i2c_calc_timeout(struct spacemit_i2c_dev *i2c)
drivers/i2c/busses/i2c-k1.c
478
for (; idx < i2c->msg_num; idx++)
drivers/i2c/busses/i2c-k1.c
479
cnt += (i2c->msgs + idx)->len + 1;
drivers/i2c/busses/i2c-k1.c
485
timeout = cnt * 9 * USEC_PER_SEC / i2c->clock_freq;
drivers/i2c/busses/i2c-k1.c
487
i2c->adapt.timeout = usecs_to_jiffies(timeout + USEC_PER_SEC / 10) / i2c->msg_num;
drivers/i2c/busses/i2c-k1.c
492
struct spacemit_i2c_dev *i2c = i2c_get_adapdata(adapt);
drivers/i2c/busses/i2c-k1.c
495
i2c->msgs = msgs;
drivers/i2c/busses/i2c-k1.c
496
i2c->msg_num = num;
drivers/i2c/busses/i2c-k1.c
498
spacemit_i2c_calc_timeout(i2c);
drivers/i2c/busses/i2c-k1.c
500
spacemit_i2c_init(i2c);
drivers/i2c/busses/i2c-k1.c
502
spacemit_i2c_enable(i2c);
drivers/i2c/busses/i2c-k1.c
504
ret = spacemit_i2c_wait_bus_idle(i2c);
drivers/i2c/busses/i2c-k1.c
506
ret = spacemit_i2c_xfer_msg(i2c);
drivers/i2c/busses/i2c-k1.c
508
dev_dbg(i2c->dev, "i2c transfer error: %d\n", ret);
drivers/i2c/busses/i2c-k1.c
510
spacemit_i2c_check_bus_release(i2c);
drivers/i2c/busses/i2c-k1.c
513
spacemit_i2c_disable(i2c);
drivers/i2c/busses/i2c-k1.c
516
dev_err(i2c->dev, "i2c transfer failed, ret %d err 0x%lx\n",
drivers/i2c/busses/i2c-k1.c
517
ret, i2c->status & SPACEMIT_SR_ERR);
drivers/i2c/busses/i2c-k1.c
537
struct spacemit_i2c_dev *i2c;
drivers/i2c/busses/i2c-k1.c
541
i2c = devm_kzalloc(dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-k1.c
542
if (!i2c)
drivers/i2c/busses/i2c-k1.c
545
ret = of_property_read_u32(of_node, "clock-frequency", &i2c->clock_freq);
drivers/i2c/busses/i2c-k1.c
550
if (!i2c->clock_freq || i2c->clock_freq > SPACEMIT_I2C_MAX_FAST_MODE_FREQ) {
drivers/i2c/busses/i2c-k1.c
552
i2c->clock_freq, SPACEMIT_I2C_MAX_FAST_MODE_FREQ);
drivers/i2c/busses/i2c-k1.c
553
i2c->clock_freq = SPACEMIT_I2C_MAX_FAST_MODE_FREQ;
drivers/i2c/busses/i2c-k1.c
554
} else if (i2c->clock_freq < SPACEMIT_I2C_MAX_STANDARD_MODE_FREQ) {
drivers/i2c/busses/i2c-k1.c
556
i2c->clock_freq, SPACEMIT_I2C_MAX_STANDARD_MODE_FREQ);
drivers/i2c/busses/i2c-k1.c
557
i2c->clock_freq = SPACEMIT_I2C_MAX_STANDARD_MODE_FREQ;
drivers/i2c/busses/i2c-k1.c
560
i2c->dev = &pdev->dev;
drivers/i2c/busses/i2c-k1.c
562
i2c->base = devm_platform_ioremap_resource(pdev, 0);
drivers/i2c/busses/i2c-k1.c
563
if (IS_ERR(i2c->base))
drivers/i2c/busses/i2c-k1.c
564
return dev_err_probe(dev, PTR_ERR(i2c->base), "failed to do ioremap");
drivers/i2c/busses/i2c-k1.c
566
i2c->irq = platform_get_irq(pdev, 0);
drivers/i2c/busses/i2c-k1.c
567
if (i2c->irq < 0)
drivers/i2c/busses/i2c-k1.c
568
return dev_err_probe(dev, i2c->irq, "failed to get irq resource");
drivers/i2c/busses/i2c-k1.c
570
ret = devm_request_irq(i2c->dev, i2c->irq, spacemit_i2c_irq_handler,
drivers/i2c/busses/i2c-k1.c
571
IRQF_NO_SUSPEND, dev_name(i2c->dev), i2c);
drivers/i2c/busses/i2c-k1.c
588
spacemit_i2c_reset(i2c);
drivers/i2c/busses/i2c-k1.c
590
i2c_set_adapdata(&i2c->adapt, i2c);
drivers/i2c/busses/i2c-k1.c
591
i2c->adapt.owner = THIS_MODULE;
drivers/i2c/busses/i2c-k1.c
592
i2c->adapt.algo = &spacemit_i2c_algo;
drivers/i2c/busses/i2c-k1.c
593
i2c->adapt.dev.parent = i2c->dev;
drivers/i2c/busses/i2c-k1.c
594
i2c->adapt.nr = pdev->id;
drivers/i2c/busses/i2c-k1.c
596
i2c->adapt.dev.of_node = of_node;
drivers/i2c/busses/i2c-k1.c
598
strscpy(i2c->adapt.name, "spacemit-i2c-adapter", sizeof(i2c->adapt.name));
drivers/i2c/busses/i2c-k1.c
600
init_completion(&i2c->complete);
drivers/i2c/busses/i2c-k1.c
602
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-k1.c
604
ret = i2c_add_numbered_adapter(&i2c->adapt);
drivers/i2c/busses/i2c-k1.c
613
struct spacemit_i2c_dev *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-k1.c
615
i2c_del_adapter(&i2c->adapt);
drivers/i2c/busses/i2c-kempld.c
103
i2c->state = STATE_ERROR;
drivers/i2c/busses/i2c-kempld.c
108
if (i2c->state == STATE_INIT) {
drivers/i2c/busses/i2c-kempld.c
112
i2c->state = STATE_ADDR;
drivers/i2c/busses/i2c-kempld.c
115
if (i2c->state == STATE_ADDR) {
drivers/i2c/busses/i2c-kempld.c
117
if (i2c->msg->flags & I2C_M_TEN) {
drivers/i2c/busses/i2c-kempld.c
119
i2c->state = STATE_ADDR10;
drivers/i2c/busses/i2c-kempld.c
121
addr = i2c_8bit_addr_from_msg(i2c->msg);
drivers/i2c/busses/i2c-kempld.c
122
i2c->state = STATE_START;
drivers/i2c/busses/i2c-kempld.c
132
if (i2c->state == STATE_ADDR10) {
drivers/i2c/busses/i2c-kempld.c
134
i2c->state = STATE_START;
drivers/i2c/busses/i2c-kempld.c
142
if (i2c->state == STATE_START || i2c->state == STATE_WRITE) {
drivers/i2c/busses/i2c-kempld.c
143
i2c->state = (msg->flags & I2C_M_RD) ? STATE_READ : STATE_WRITE;
drivers/i2c/busses/i2c-kempld.c
146
i2c->state = STATE_ERROR;
drivers/i2c/busses/i2c-kempld.c
151
msg->buf[i2c->pos++] = kempld_read8(pld, KEMPLD_I2C_DATA);
drivers/i2c/busses/i2c-kempld.c
154
if (i2c->pos >= msg->len) {
drivers/i2c/busses/i2c-kempld.c
155
i2c->nmsgs--;
drivers/i2c/busses/i2c-kempld.c
156
i2c->msg++;
drivers/i2c/busses/i2c-kempld.c
157
i2c->pos = 0;
drivers/i2c/busses/i2c-kempld.c
158
msg = i2c->msg;
drivers/i2c/busses/i2c-kempld.c
160
if (i2c->nmsgs) {
drivers/i2c/busses/i2c-kempld.c
162
i2c->state = STATE_ADDR;
drivers/i2c/busses/i2c-kempld.c
165
i2c->state = (msg->flags & I2C_M_RD)
drivers/i2c/busses/i2c-kempld.c
169
i2c->state = STATE_DONE;
drivers/i2c/busses/i2c-kempld.c
175
if (i2c->state == STATE_READ) {
drivers/i2c/busses/i2c-kempld.c
176
kempld_write8(pld, KEMPLD_I2C_CMD, i2c->pos == (msg->len - 1) ?
drivers/i2c/busses/i2c-kempld.c
179
kempld_write8(pld, KEMPLD_I2C_DATA, msg->buf[i2c->pos++]);
drivers/i2c/busses/i2c-kempld.c
189
struct kempld_i2c_data *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-kempld.c
190
struct kempld_device_data *pld = i2c->pld;
drivers/i2c/busses/i2c-kempld.c
194
i2c->msg = msgs;
drivers/i2c/busses/i2c-kempld.c
195
i2c->pos = 0;
drivers/i2c/busses/i2c-kempld.c
196
i2c->nmsgs = num;
drivers/i2c/busses/i2c-kempld.c
197
i2c->state = STATE_INIT;
drivers/i2c/busses/i2c-kempld.c
202
ret = kempld_i2c_process(i2c);
drivers/i2c/busses/i2c-kempld.c
205
if (i2c->state == STATE_DONE || i2c->state == STATE_ERROR)
drivers/i2c/busses/i2c-kempld.c
206
return (i2c->state == STATE_DONE) ? num : ret;
drivers/i2c/busses/i2c-kempld.c
214
i2c->state = STATE_ERROR;
drivers/i2c/busses/i2c-kempld.c
222
static void kempld_i2c_device_init(struct kempld_i2c_data *i2c)
drivers/i2c/busses/i2c-kempld.c
224
struct kempld_device_data *pld = i2c->pld;
drivers/i2c/busses/i2c-kempld.c
293
struct kempld_i2c_data *i2c;
drivers/i2c/busses/i2c-kempld.c
297
i2c = devm_kzalloc(&pdev->dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-kempld.c
298
if (!i2c)
drivers/i2c/busses/i2c-kempld.c
301
i2c->pld = pld;
drivers/i2c/busses/i2c-kempld.c
302
i2c->dev = &pdev->dev;
drivers/i2c/busses/i2c-kempld.c
303
i2c->adap = kempld_i2c_adapter;
drivers/i2c/busses/i2c-kempld.c
304
i2c->adap.dev.parent = i2c->dev;
drivers/i2c/busses/i2c-kempld.c
305
ACPI_COMPANION_SET(&i2c->adap.dev, ACPI_COMPANION(&pdev->dev));
drivers/i2c/busses/i2c-kempld.c
306
i2c_set_adapdata(&i2c->adap, i2c);
drivers/i2c/busses/i2c-kempld.c
307
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-kempld.c
313
i2c->was_active = true;
drivers/i2c/busses/i2c-kempld.c
315
kempld_i2c_device_init(i2c);
drivers/i2c/busses/i2c-kempld.c
320
i2c->adap.nr = i2c_bus;
drivers/i2c/busses/i2c-kempld.c
321
ret = i2c_add_numbered_adapter(&i2c->adap);
drivers/i2c/busses/i2c-kempld.c
325
dev_info(i2c->dev, "I2C bus initialized at %dkHz\n",
drivers/i2c/busses/i2c-kempld.c
333
struct kempld_i2c_data *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-kempld.c
334
struct kempld_device_data *pld = i2c->pld;
drivers/i2c/busses/i2c-kempld.c
342
if (!i2c->was_active) {
drivers/i2c/busses/i2c-kempld.c
349
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-kempld.c
354
struct kempld_i2c_data *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-kempld.c
355
struct kempld_device_data *pld = i2c->pld;
drivers/i2c/busses/i2c-kempld.c
369
struct kempld_i2c_data *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-kempld.c
370
struct kempld_device_data *pld = i2c->pld;
drivers/i2c/busses/i2c-kempld.c
373
kempld_i2c_device_init(i2c);
drivers/i2c/busses/i2c-kempld.c
82
static int kempld_i2c_process(struct kempld_i2c_data *i2c)
drivers/i2c/busses/i2c-kempld.c
84
struct kempld_device_data *pld = i2c->pld;
drivers/i2c/busses/i2c-kempld.c
86
struct i2c_msg *msg = i2c->msg;
drivers/i2c/busses/i2c-kempld.c
93
if (i2c->state == STATE_DONE || i2c->state == STATE_ERROR) {
drivers/i2c/busses/i2c-kempld.c
96
if (i2c->state == STATE_ERROR)
drivers/i2c/busses/i2c-lpc2k.c
102
while (readl(i2c->base + LPC24XX_I2STAT) != M_I2C_IDLE) {
drivers/i2c/busses/i2c-lpc2k.c
105
i2c_lpc2k_reset(i2c);
drivers/i2c/busses/i2c-lpc2k.c
115
static void i2c_lpc2k_pump_msg(struct lpc2k_i2c *i2c)
drivers/i2c/busses/i2c-lpc2k.c
124
status = readl(i2c->base + LPC24XX_I2STAT);
drivers/i2c/busses/i2c-lpc2k.c
130
data = i2c_8bit_addr_from_msg(i2c->msg);
drivers/i2c/busses/i2c-lpc2k.c
132
writel(data, i2c->base + LPC24XX_I2DAT);
drivers/i2c/busses/i2c-lpc2k.c
133
writel(LPC24XX_STA, i2c->base + LPC24XX_I2CONCLR);
drivers/i2c/busses/i2c-lpc2k.c
142
if (i2c->msg_idx < i2c->msg->len) {
drivers/i2c/busses/i2c-lpc2k.c
143
writel(i2c->msg->buf[i2c->msg_idx],
drivers/i2c/busses/i2c-lpc2k.c
144
i2c->base + LPC24XX_I2DAT);
drivers/i2c/busses/i2c-lpc2k.c
145
} else if (i2c->is_last) {
drivers/i2c/busses/i2c-lpc2k.c
147
writel(LPC24XX_STO_AA, i2c->base + LPC24XX_I2CONSET);
drivers/i2c/busses/i2c-lpc2k.c
148
writel(LPC24XX_SI, i2c->base + LPC24XX_I2CONCLR);
drivers/i2c/busses/i2c-lpc2k.c
149
i2c->msg_status = 0;
drivers/i2c/busses/i2c-lpc2k.c
150
disable_irq_nosync(i2c->irq);
drivers/i2c/busses/i2c-lpc2k.c
152
i2c->msg_status = 0;
drivers/i2c/busses/i2c-lpc2k.c
153
disable_irq_nosync(i2c->irq);
drivers/i2c/busses/i2c-lpc2k.c
156
i2c->msg_idx++;
drivers/i2c/busses/i2c-lpc2k.c
161
if (i2c->msg->len == 1) {
drivers/i2c/busses/i2c-lpc2k.c
163
writel(LPC24XX_AA, i2c->base + LPC24XX_I2CONCLR);
drivers/i2c/busses/i2c-lpc2k.c
166
writel(LPC24XX_AA, i2c->base + LPC24XX_I2CONSET);
drivers/i2c/busses/i2c-lpc2k.c
169
writel(LPC24XX_STA, i2c->base + LPC24XX_I2CONCLR);
drivers/i2c/busses/i2c-lpc2k.c
180
if (i2c->msg_idx < i2c->msg->len) {
drivers/i2c/busses/i2c-lpc2k.c
181
i2c->msg->buf[i2c->msg_idx] =
drivers/i2c/busses/i2c-lpc2k.c
182
readl(i2c->base + LPC24XX_I2DAT);
drivers/i2c/busses/i2c-lpc2k.c
186
if (i2c->msg_idx >= i2c->msg->len - 1 && i2c->is_last) {
drivers/i2c/busses/i2c-lpc2k.c
187
writel(LPC24XX_STO_AA, i2c->base + LPC24XX_I2CONSET);
drivers/i2c/busses/i2c-lpc2k.c
188
writel(LPC24XX_SI, i2c->base + LPC24XX_I2CONCLR);
drivers/i2c/busses/i2c-lpc2k.c
189
i2c->msg_status = 0;
drivers/i2c/busses/i2c-lpc2k.c
193
if (i2c->msg_idx >= i2c->msg->len - 1) {
drivers/i2c/busses/i2c-lpc2k.c
194
i2c->msg_status = 0;
drivers/i2c/busses/i2c-lpc2k.c
195
disable_irq_nosync(i2c->irq);
drivers/i2c/busses/i2c-lpc2k.c
202
if (i2c->msg_idx >= i2c->msg->len - 2) {
drivers/i2c/busses/i2c-lpc2k.c
204
writel(LPC24XX_AA, i2c->base + LPC24XX_I2CONCLR);
drivers/i2c/busses/i2c-lpc2k.c
207
writel(LPC24XX_AA, i2c->base + LPC24XX_I2CONSET);
drivers/i2c/busses/i2c-lpc2k.c
210
writel(LPC24XX_STA, i2c->base + LPC24XX_I2CONCLR);
drivers/i2c/busses/i2c-lpc2k.c
211
i2c->msg_idx++;
drivers/i2c/busses/i2c-lpc2k.c
218
writel(LPC24XX_STO_AA, i2c->base + LPC24XX_I2CONSET);
drivers/i2c/busses/i2c-lpc2k.c
219
i2c->msg_status = -ENXIO;
drivers/i2c/busses/i2c-lpc2k.c
220
disable_irq_nosync(i2c->irq);
drivers/i2c/busses/i2c-lpc2k.c
225
i2c->msg_status = -EAGAIN;
drivers/i2c/busses/i2c-lpc2k.c
228
writel(LPC24XX_STA | LPC24XX_STO, i2c->base + LPC24XX_I2CONCLR);
drivers/i2c/busses/i2c-lpc2k.c
229
disable_irq_nosync(i2c->irq);
drivers/i2c/busses/i2c-lpc2k.c
234
i2c->msg_status = -EIO;
drivers/i2c/busses/i2c-lpc2k.c
235
disable_irq_nosync(i2c->irq);
drivers/i2c/busses/i2c-lpc2k.c
240
if (i2c->msg_status != -EBUSY)
drivers/i2c/busses/i2c-lpc2k.c
241
wake_up(&i2c->wait);
drivers/i2c/busses/i2c-lpc2k.c
247
if (i2c->msg_status != 0)
drivers/i2c/busses/i2c-lpc2k.c
248
writel(LPC24XX_SI, i2c->base + LPC24XX_I2CONCLR);
drivers/i2c/busses/i2c-lpc2k.c
251
static int lpc2k_process_msg(struct lpc2k_i2c *i2c, int msgidx)
drivers/i2c/busses/i2c-lpc2k.c
255
writel(LPC24XX_STA, i2c->base + LPC24XX_I2CONSET);
drivers/i2c/busses/i2c-lpc2k.c
262
if (unlikely(i2c->msg->flags & I2C_M_NOSTART)) {
drivers/i2c/busses/i2c-lpc2k.c
263
WARN_ON(i2c->msg->len == 0);
drivers/i2c/busses/i2c-lpc2k.c
265
if (!(i2c->msg->flags & I2C_M_RD)) {
drivers/i2c/busses/i2c-lpc2k.c
267
writel(i2c->msg->buf[0],
drivers/i2c/busses/i2c-lpc2k.c
268
i2c->base + LPC24XX_I2DAT);
drivers/i2c/busses/i2c-lpc2k.c
269
i2c->msg_idx++;
drivers/i2c/busses/i2c-lpc2k.c
273
writel(LPC24XX_STA, i2c->base + LPC24XX_I2CONSET);
drivers/i2c/busses/i2c-lpc2k.c
276
writel(LPC24XX_SI, i2c->base + LPC24XX_I2CONCLR);
drivers/i2c/busses/i2c-lpc2k.c
279
enable_irq(i2c->irq);
drivers/i2c/busses/i2c-lpc2k.c
282
if (wait_event_timeout(i2c->wait, i2c->msg_status != -EBUSY,
drivers/i2c/busses/i2c-lpc2k.c
284
disable_irq_nosync(i2c->irq);
drivers/i2c/busses/i2c-lpc2k.c
289
return i2c->msg_status;
drivers/i2c/busses/i2c-lpc2k.c
295
struct lpc2k_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-lpc2k.c
300
stat = readl(i2c->base + LPC24XX_I2STAT);
drivers/i2c/busses/i2c-lpc2k.c
303
return i2c_lpc2k_clear_arb(i2c);
drivers/i2c/busses/i2c-lpc2k.c
309
i2c->msg = &msgs[i];
drivers/i2c/busses/i2c-lpc2k.c
310
i2c->msg_idx = 0;
drivers/i2c/busses/i2c-lpc2k.c
311
i2c->msg_status = -EBUSY;
drivers/i2c/busses/i2c-lpc2k.c
312
i2c->is_last = (i == (msg_num - 1));
drivers/i2c/busses/i2c-lpc2k.c
314
ret = lpc2k_process_msg(i2c, i);
drivers/i2c/busses/i2c-lpc2k.c
324
struct lpc2k_i2c *i2c = dev_id;
drivers/i2c/busses/i2c-lpc2k.c
326
if (readl(i2c->base + LPC24XX_I2CONSET) & LPC24XX_SI) {
drivers/i2c/busses/i2c-lpc2k.c
327
i2c_lpc2k_pump_msg(i2c);
drivers/i2c/busses/i2c-lpc2k.c
347
struct lpc2k_i2c *i2c;
drivers/i2c/busses/i2c-lpc2k.c
353
i2c = devm_kzalloc(&pdev->dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-lpc2k.c
354
if (!i2c)
drivers/i2c/busses/i2c-lpc2k.c
357
i2c->base = devm_platform_ioremap_resource(pdev, 0);
drivers/i2c/busses/i2c-lpc2k.c
358
if (IS_ERR(i2c->base))
drivers/i2c/busses/i2c-lpc2k.c
359
return PTR_ERR(i2c->base);
drivers/i2c/busses/i2c-lpc2k.c
361
i2c->irq = platform_get_irq(pdev, 0);
drivers/i2c/busses/i2c-lpc2k.c
362
if (i2c->irq < 0)
drivers/i2c/busses/i2c-lpc2k.c
363
return i2c->irq;
drivers/i2c/busses/i2c-lpc2k.c
365
init_waitqueue_head(&i2c->wait);
drivers/i2c/busses/i2c-lpc2k.c
367
i2c->clk = devm_clk_get_enabled(&pdev->dev, NULL);
drivers/i2c/busses/i2c-lpc2k.c
368
if (IS_ERR(i2c->clk)) {
drivers/i2c/busses/i2c-lpc2k.c
370
return PTR_ERR(i2c->clk);
drivers/i2c/busses/i2c-lpc2k.c
373
ret = devm_request_irq(&pdev->dev, i2c->irq, i2c_lpc2k_handler, 0,
drivers/i2c/busses/i2c-lpc2k.c
374
dev_name(&pdev->dev), i2c);
drivers/i2c/busses/i2c-lpc2k.c
380
disable_irq_nosync(i2c->irq);
drivers/i2c/busses/i2c-lpc2k.c
383
i2c_lpc2k_reset(i2c);
drivers/i2c/busses/i2c-lpc2k.c
390
clkrate = clk_get_rate(i2c->clk);
drivers/i2c/busses/i2c-lpc2k.c
405
writel(scl_high, i2c->base + LPC24XX_I2SCLH);
drivers/i2c/busses/i2c-lpc2k.c
406
writel(clkrate - scl_high, i2c->base + LPC24XX_I2SCLL);
drivers/i2c/busses/i2c-lpc2k.c
408
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-lpc2k.c
410
i2c_set_adapdata(&i2c->adap, i2c);
drivers/i2c/busses/i2c-lpc2k.c
411
i2c->adap.owner = THIS_MODULE;
drivers/i2c/busses/i2c-lpc2k.c
412
strscpy(i2c->adap.name, "LPC2K I2C adapter", sizeof(i2c->adap.name));
drivers/i2c/busses/i2c-lpc2k.c
413
i2c->adap.algo = &i2c_lpc2k_algorithm;
drivers/i2c/busses/i2c-lpc2k.c
414
i2c->adap.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-lpc2k.c
415
i2c->adap.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-lpc2k.c
417
ret = i2c_add_adapter(&i2c->adap);
drivers/i2c/busses/i2c-lpc2k.c
428
struct lpc2k_i2c *i2c = platform_get_drvdata(dev);
drivers/i2c/busses/i2c-lpc2k.c
430
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-lpc2k.c
435
struct lpc2k_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-lpc2k.c
437
clk_disable(i2c->clk);
drivers/i2c/busses/i2c-lpc2k.c
444
struct lpc2k_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-lpc2k.c
447
ret = clk_enable(i2c->clk);
drivers/i2c/busses/i2c-lpc2k.c
452
i2c_lpc2k_reset(i2c);
drivers/i2c/busses/i2c-lpc2k.c
83
static void i2c_lpc2k_reset(struct lpc2k_i2c *i2c)
drivers/i2c/busses/i2c-lpc2k.c
86
writel(LPC24XX_CLEAR_ALL, i2c->base + LPC24XX_I2CONCLR);
drivers/i2c/busses/i2c-lpc2k.c
87
writel(0, i2c->base + LPC24XX_I2ADDR);
drivers/i2c/busses/i2c-lpc2k.c
88
writel(LPC24XX_I2EN, i2c->base + LPC24XX_I2CONSET);
drivers/i2c/busses/i2c-lpc2k.c
91
static int i2c_lpc2k_clear_arb(struct lpc2k_i2c *i2c)
drivers/i2c/busses/i2c-lpc2k.c
99
writel(LPC24XX_STO, i2c->base + LPC24XX_I2CONSET);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1000
i2c->i2c_xfer_in_progress = true;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1009
i2c->flags |= I2C_FLAGS_STOP;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1011
i2c->flags &= ~I2C_FLAGS_STOP;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1014
i2c->flags |= I2C_FLAGS_SMB_BLK_READ;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1016
i2c->flags &= ~I2C_FLAGS_SMB_BLK_READ;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1019
retval = pci1xxxx_i2c_read(i2c, slaveaddr,
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1022
retval = pci1xxxx_i2c_write(i2c, slaveaddr,
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1028
i2c->i2c_xfer_in_progress = false;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1068
struct pci1xxxx_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1069
void __iomem *p = i2c->i2c_base + SMBUS_RESET_REG;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1073
i2c_mark_adapter_suspended(&i2c->adap);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1079
while (i2c->i2c_xfer_in_progress)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1082
pci1xxxx_i2c_config_high_level_intr(i2c, SMBALERT_WAKE_INTR_MASK, true);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1101
struct pci1xxxx_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1102
void __iomem *p1 = i2c->i2c_base + SMBUS_GEN_INT_STAT_REG_OFF;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1103
void __iomem *p2 = i2c->i2c_base + SMBUS_RESET_REG;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1109
pci1xxxx_i2c_config_high_level_intr(i2c, SMBALERT_WAKE_INTR_MASK, false);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1113
i2c_mark_adapter_resumed(&i2c->adap);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1123
struct pci1xxxx_i2c *i2c = data;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1125
pci1xxxx_i2c_config_padctrl(i2c, false);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1126
pci1xxxx_i2c_configure_core_reg(i2c, false);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1133
struct pci1xxxx_i2c *i2c;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1136
i2c = devm_kzalloc(dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1137
if (!i2c)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1140
pci_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1141
i2c->i2c_xfer_in_progress = false;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1157
i2c->i2c_base = pcim_iomap_table(pdev)[0];
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1158
init_completion(&i2c->i2c_xfer_done);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1159
pci1xxxx_i2c_init(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1161
ret = devm_add_action(dev, pci1xxxx_i2c_shutdown, i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1170
0, pci_name(pdev), i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1174
i2c->adap = pci1xxxx_i2c_ops;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1175
i2c->adap.dev.parent = dev;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1177
snprintf(i2c->adap.name, sizeof(i2c->adap.name),
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1180
i2c_set_adapdata(&i2c->adap, i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
1182
ret = devm_i2c_add_adapter(dev, &i2c->adap);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
334
static int set_sys_lock(struct pci1xxxx_i2c *i2c)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
336
void __iomem *p = i2c->i2c_base + SMB_GPR_LOCK_REG;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
347
static int release_sys_lock(struct pci1xxxx_i2c *i2c)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
349
void __iomem *p = i2c->i2c_base + SMB_GPR_LOCK_REG;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
364
static void pci1xxxx_ack_high_level_intr(struct pci1xxxx_i2c *i2c, u16 intr_msk)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
366
writew(intr_msk, i2c->i2c_base + SMBUS_GEN_INT_STAT_REG_OFF);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
369
static void pci1xxxx_i2c_configure_smbalert_pin(struct pci1xxxx_i2c *i2c,
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
372
void __iomem *p = i2c->i2c_base + SMBALERT_MST_PAD_CTRL_REG_OFF;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
385
static void pci1xxxx_i2c_send_start_stop(struct pci1xxxx_i2c *i2c, bool start)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
387
void __iomem *p = i2c->i2c_base + SMB_CORE_CMD_REG_OFF1;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
405
static void pci1xxxx_i2c_set_clear_FW_ACK(struct pci1xxxx_i2c *i2c, bool set)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
414
writeb(regval, i2c->i2c_base + SMB_CORE_CTRL_REG_OFF);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
417
static void pci1xxxx_i2c_buffer_write(struct pci1xxxx_i2c *i2c, u8 slaveaddr,
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
420
void __iomem *p = i2c->i2c_base + SMBUS_MST_BUF;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
434
static void pci1xxxx_i2c_enable_ESO(struct pci1xxxx_i2c *i2c)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
436
writeb(SMB_CORE_CTRL_ESO, i2c->i2c_base + SMB_CORE_CTRL_REG_OFF);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
439
static void pci1xxxx_i2c_reset_counters(struct pci1xxxx_i2c *i2c)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
441
void __iomem *p = i2c->i2c_base + SMBUS_CONTROL_REG_OFF;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
449
static void pci1xxxx_i2c_set_transfer_dir(struct pci1xxxx_i2c *i2c, u8 direction)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
451
void __iomem *p = i2c->i2c_base + SMBUS_CONTROL_REG_OFF;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
463
static void pci1xxxx_i2c_set_mcu_count(struct pci1xxxx_i2c *i2c, u8 count)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
465
writeb(count, i2c->i2c_base + SMBUS_MCU_COUNTER_REG_OFF);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
468
static void pci1xxxx_i2c_set_read_count(struct pci1xxxx_i2c *i2c, u8 readcount)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
470
writeb(readcount, i2c->i2c_base + SMB_CORE_CMD_REG_OFF3);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
473
static void pci1xxxx_i2c_set_write_count(struct pci1xxxx_i2c *i2c, u8 writecount)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
475
writeb(writecount, i2c->i2c_base + SMB_CORE_CMD_REG_OFF2);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
478
static void pci1xxxx_i2c_set_DMA_run(struct pci1xxxx_i2c *i2c)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
480
void __iomem *p = i2c->i2c_base + SMBUS_CONTROL_REG_OFF;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
488
static void pci1xxxx_i2c_set_mrun_proceed(struct pci1xxxx_i2c *i2c)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
490
void __iomem *p = i2c->i2c_base + SMB_CORE_CMD_REG_OFF0;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
499
static void pci1xxxx_i2c_start_DMA(struct pci1xxxx_i2c *i2c)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
501
pci1xxxx_i2c_set_DMA_run(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
502
pci1xxxx_i2c_set_mrun_proceed(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
505
static void pci1xxxx_i2c_config_asr(struct pci1xxxx_i2c *i2c, bool enable)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
507
void __iomem *p = i2c->i2c_base + SMB_CORE_CONFIG_REG1;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
520
struct pci1xxxx_i2c *i2c = dev;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
521
void __iomem *p1 = i2c->i2c_base + SMBUS_GEN_INT_STAT_REG_OFF;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
522
void __iomem *p2 = i2c->i2c_base + SMBUS_INTR_STAT_REG_OFF;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
536
complete(&i2c->i2c_xfer_done);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
540
pci1xxxx_ack_high_level_intr(i2c, I2C_BUF_MSTR_INTR_MASK);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
545
pci1xxxx_ack_high_level_intr(i2c, SMBALERT_INTR_MASK);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
551
static void pci1xxxx_i2c_set_count(struct pci1xxxx_i2c *i2c, u8 mcucount,
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
554
pci1xxxx_i2c_set_mcu_count(i2c, mcucount);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
555
pci1xxxx_i2c_set_write_count(i2c, writecount);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
556
pci1xxxx_i2c_set_read_count(i2c, readcount);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
559
static void pci1xxxx_i2c_set_readm(struct pci1xxxx_i2c *i2c, bool enable)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
561
void __iomem *p = i2c->i2c_base + SMB_CORE_CMD_REG_OFF1;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
573
static void pci1xxxx_ack_nw_layer_intr(struct pci1xxxx_i2c *i2c, u8 ack_intr_msk)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
575
writeb(ack_intr_msk, i2c->i2c_base + SMBUS_INTR_STAT_REG_OFF);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
578
static void pci1xxxx_config_nw_layer_intr(struct pci1xxxx_i2c *i2c,
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
581
void __iomem *p = i2c->i2c_base + SMBUS_INTR_MSK_REG_OFF;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
593
static void pci1xxxx_i2c_config_padctrl(struct pci1xxxx_i2c *i2c, bool enable)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
595
void __iomem *p1 = i2c->i2c_base + I2C_SCL_PAD_CTRL_REG_OFF;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
596
void __iomem *p2 = i2c->i2c_base + I2C_SDA_PAD_CTRL_REG_OFF;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
616
static void pci1xxxx_i2c_set_mode(struct pci1xxxx_i2c *i2c)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
618
void __iomem *p = i2c->i2c_base + SMBUS_CONTROL_REG_OFF;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
622
if (i2c->flags & I2C_FLAGS_DIRECT_MODE)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
630
static void pci1xxxx_i2c_config_high_level_intr(struct pci1xxxx_i2c *i2c,
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
633
void __iomem *p = i2c->i2c_base + SMBUS_GEN_INT_MASK_REG_OFF;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
644
static void pci1xxxx_i2c_configure_core_reg(struct pci1xxxx_i2c *i2c, bool enable)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
646
void __iomem *p1 = i2c->i2c_base + SMB_CORE_CONFIG_REG1;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
647
void __iomem *p3 = i2c->i2c_base + SMB_CORE_CONFIG_REG3;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
665
static void pci1xxxx_i2c_set_freq(struct pci1xxxx_i2c *i2c)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
667
void __iomem *bp = i2c->i2c_base;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
675
switch (i2c->freq) {
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
706
static void pci1xxxx_i2c_init(struct pci1xxxx_i2c *i2c)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
708
void __iomem *p2 = i2c->i2c_base + SMBUS_STATUS_REG_OFF;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
709
void __iomem *p1 = i2c->i2c_base + SMB_GPR_REG;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
713
ret = set_sys_lock(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
722
release_sys_lock(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
727
i2c->freq = I2C_MAX_FAST_MODE_FREQ;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
728
pci1xxxx_i2c_set_freq(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
731
i2c->freq = I2C_MAX_STANDARD_MODE_FREQ;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
732
pci1xxxx_i2c_set_freq(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
735
i2c->freq = I2C_MAX_FAST_MODE_PLUS_FREQ;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
736
pci1xxxx_i2c_set_freq(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
743
pci1xxxx_i2c_config_padctrl(i2c, true);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
744
i2c->flags |= I2C_FLAGS_DIRECT_MODE;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
745
pci1xxxx_i2c_set_mode(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
754
pci1xxxx_i2c_configure_core_reg(i2c, true);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
760
pci1xxxx_i2c_configure_smbalert_pin(i2c, true);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
763
static void pci1xxxx_i2c_clear_flags(struct pci1xxxx_i2c *i2c)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
768
pci1xxxx_i2c_reset_counters(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
772
writeb(regval, i2c->i2c_base + SMB_CORE_COMPLETION_REG_OFF3);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
773
reinit_completion(&i2c->i2c_xfer_done);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
774
pci1xxxx_ack_nw_layer_intr(i2c, ALL_NW_LAYER_INTERRUPTS);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
775
pci1xxxx_ack_high_level_intr(i2c, ALL_HIGH_LAYER_INTR);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
778
static int pci1xxxx_i2c_read(struct pci1xxxx_i2c *i2c, u8 slaveaddr,
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
781
void __iomem *p2 = i2c->i2c_base + SMB_CORE_COMPLETION_REG_OFF3;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
782
void __iomem *p1 = i2c->i2c_base + SMB_CORE_CMD_REG_OFF1;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
783
void __iomem *p3 = i2c->i2c_base + SMBUS_MST_BUF;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
793
pci1xxxx_i2c_enable_ESO(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
794
pci1xxxx_i2c_clear_flags(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
795
pci1xxxx_config_nw_layer_intr(i2c, INTR_MSK_DMA_TERM, true);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
796
pci1xxxx_i2c_config_high_level_intr(i2c, I2C_BUF_MSTR_INTR_MASK, true);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
827
(i2c->flags & I2C_FLAGS_STOP)) {
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
828
pci1xxxx_i2c_set_clear_FW_ACK(i2c, false);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
829
pci1xxxx_i2c_send_start_stop(i2c, 0);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
831
pci1xxxx_i2c_set_clear_FW_ACK(i2c, true);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
836
pci1xxxx_i2c_set_transfer_dir(i2c, I2C_DIRN_WRITE);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
837
pci1xxxx_i2c_send_start_stop(i2c, 1);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
840
pci1xxxx_i2c_buffer_write(i2c, slaveaddr, 0, NULL);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
843
pci1xxxx_i2c_set_count(i2c, 1, 1, transferlen);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
849
pci1xxxx_i2c_config_asr(i2c, true);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
850
if (i2c->flags & I2C_FLAGS_SMB_BLK_READ)
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
851
pci1xxxx_i2c_set_readm(i2c, true);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
853
pci1xxxx_i2c_set_count(i2c, 0, 0, transferlen);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
854
pci1xxxx_i2c_config_asr(i2c, false);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
855
pci1xxxx_i2c_clear_flags(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
856
pci1xxxx_i2c_set_transfer_dir(i2c, I2C_DIRN_READ);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
860
pci1xxxx_i2c_start_DMA(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
863
time_left = wait_for_completion_timeout(&i2c->i2c_xfer_done,
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
867
pci1xxxx_i2c_init(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
882
if (i2c->flags & I2C_FLAGS_SMB_BLK_READ) {
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
893
pci1xxxx_config_nw_layer_intr(i2c, INTR_MSK_DMA_TERM, false);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
894
pci1xxxx_i2c_config_high_level_intr(i2c, I2C_BUF_MSTR_INTR_MASK, false);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
895
pci1xxxx_i2c_config_asr(i2c, false);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
899
static int pci1xxxx_i2c_write(struct pci1xxxx_i2c *i2c, u8 slaveaddr,
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
902
void __iomem *p2 = i2c->i2c_base + SMB_CORE_COMPLETION_REG_OFF3;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
903
void __iomem *p1 = i2c->i2c_base + SMB_CORE_CMD_REG_OFF1;
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
913
pci1xxxx_i2c_enable_ESO(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
916
pci1xxxx_i2c_set_transfer_dir(i2c, I2C_DIRN_WRITE);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
917
pci1xxxx_config_nw_layer_intr(i2c, INTR_MSK_DMA_TERM, true);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
918
pci1xxxx_i2c_config_high_level_intr(i2c, I2C_BUF_MSTR_INTR_MASK, true);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
930
pci1xxxx_i2c_clear_flags(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
935
pci1xxxx_i2c_send_start_stop(i2c, 1);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
940
pci1xxxx_i2c_buffer_write(i2c, slaveaddr,
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
949
pci1xxxx_i2c_buffer_write(i2c, 0, transferlen, &buf[count]);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
953
pci1xxxx_i2c_set_count(i2c, actualwritelen, actualwritelen, 0);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
960
(i2c->flags & I2C_FLAGS_STOP))
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
961
pci1xxxx_i2c_send_start_stop(i2c, 0);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
963
pci1xxxx_i2c_start_DMA(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
968
time_left = wait_for_completion_timeout(&i2c->i2c_xfer_done,
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
972
pci1xxxx_i2c_init(i2c);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
986
pci1xxxx_config_nw_layer_intr(i2c, INTR_MSK_DMA_TERM, false);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
987
pci1xxxx_i2c_config_high_level_intr(i2c, I2C_BUF_MSTR_INTR_MASK, false);
drivers/i2c/busses/i2c-mchp-pci1xxxx.c
995
struct pci1xxxx_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-meson.c
108
void (*set_clk_div)(struct meson_i2c *i2c, unsigned int freq);
drivers/i2c/busses/i2c-meson.c
111
static void meson_i2c_set_mask(struct meson_i2c *i2c, int reg, u32 mask,
drivers/i2c/busses/i2c-meson.c
116
data = readl(i2c->regs + reg);
drivers/i2c/busses/i2c-meson.c
119
writel(data, i2c->regs + reg);
drivers/i2c/busses/i2c-meson.c
122
static void meson_i2c_reset_tokens(struct meson_i2c *i2c)
drivers/i2c/busses/i2c-meson.c
124
i2c->tokens[0] = 0;
drivers/i2c/busses/i2c-meson.c
125
i2c->tokens[1] = 0;
drivers/i2c/busses/i2c-meson.c
126
i2c->num_tokens = 0;
drivers/i2c/busses/i2c-meson.c
129
static void meson_i2c_add_token(struct meson_i2c *i2c, int token)
drivers/i2c/busses/i2c-meson.c
131
if (i2c->num_tokens < 8)
drivers/i2c/busses/i2c-meson.c
132
i2c->tokens[0] |= (token & 0xf) << (i2c->num_tokens * 4);
drivers/i2c/busses/i2c-meson.c
134
i2c->tokens[1] |= (token & 0xf) << ((i2c->num_tokens % 8) * 4);
drivers/i2c/busses/i2c-meson.c
136
i2c->num_tokens++;
drivers/i2c/busses/i2c-meson.c
139
static void meson_gxbb_axg_i2c_set_clk_div(struct meson_i2c *i2c, unsigned int freq)
drivers/i2c/busses/i2c-meson.c
141
unsigned long clk_rate = clk_get_rate(i2c->clk);
drivers/i2c/busses/i2c-meson.c
162
dev_err(i2c->dev, "requested bus frequency too low\n");
drivers/i2c/busses/i2c-meson.c
166
dev_err(i2c->dev, "requested bus frequency too low\n");
drivers/i2c/busses/i2c-meson.c
170
meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_CLKDIV_MASK,
drivers/i2c/busses/i2c-meson.c
173
meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_CLKDIVEXT_MASK,
drivers/i2c/busses/i2c-meson.c
177
meson_i2c_set_mask(i2c, REG_SLAVE_ADDR, REG_SLV_SCL_LOW_MASK,
drivers/i2c/busses/i2c-meson.c
181
meson_i2c_set_mask(i2c, REG_SLAVE_ADDR, REG_SLV_SCL_LOW_EN, REG_SLV_SCL_LOW_EN);
drivers/i2c/busses/i2c-meson.c
183
dev_dbg(i2c->dev, "%s: clk %lu, freq %u, divh %u, divl %u\n", __func__,
drivers/i2c/busses/i2c-meson.c
187
static void meson6_i2c_set_clk_div(struct meson_i2c *i2c, unsigned int freq)
drivers/i2c/busses/i2c-meson.c
189
unsigned long clk_rate = clk_get_rate(i2c->clk);
drivers/i2c/busses/i2c-meson.c
198
dev_err(i2c->dev, "requested bus frequency too low\n");
drivers/i2c/busses/i2c-meson.c
202
meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_CLKDIV_MASK,
drivers/i2c/busses/i2c-meson.c
205
meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_CLKDIVEXT_MASK,
drivers/i2c/busses/i2c-meson.c
209
meson_i2c_set_mask(i2c, REG_SLAVE_ADDR, REG_SLV_SCL_LOW_EN, 0);
drivers/i2c/busses/i2c-meson.c
211
dev_dbg(i2c->dev, "%s: clk %lu, freq %u, div %u\n", __func__,
drivers/i2c/busses/i2c-meson.c
215
static void meson_i2c_get_data(struct meson_i2c *i2c, char *buf, int len)
drivers/i2c/busses/i2c-meson.c
220
rdata0 = readl(i2c->regs + REG_TOK_RDATA0);
drivers/i2c/busses/i2c-meson.c
221
rdata1 = readl(i2c->regs + REG_TOK_RDATA1);
drivers/i2c/busses/i2c-meson.c
223
dev_dbg(i2c->dev, "%s: data %08x %08x len %d\n", __func__,
drivers/i2c/busses/i2c-meson.c
233
static void meson_i2c_put_data(struct meson_i2c *i2c, char *buf, int len)
drivers/i2c/busses/i2c-meson.c
244
writel(wdata0, i2c->regs + REG_TOK_WDATA0);
drivers/i2c/busses/i2c-meson.c
245
writel(wdata1, i2c->regs + REG_TOK_WDATA1);
drivers/i2c/busses/i2c-meson.c
247
dev_dbg(i2c->dev, "%s: data %08x %08x len %d\n", __func__,
drivers/i2c/busses/i2c-meson.c
251
static void meson_i2c_prepare_xfer(struct meson_i2c *i2c)
drivers/i2c/busses/i2c-meson.c
253
bool write = !(i2c->msg->flags & I2C_M_RD);
drivers/i2c/busses/i2c-meson.c
256
i2c->count = min(i2c->msg->len - i2c->pos, 8);
drivers/i2c/busses/i2c-meson.c
258
for (i = 0; i < i2c->count - 1; i++)
drivers/i2c/busses/i2c-meson.c
259
meson_i2c_add_token(i2c, TOKEN_DATA);
drivers/i2c/busses/i2c-meson.c
261
if (i2c->count) {
drivers/i2c/busses/i2c-meson.c
262
if (write || i2c->pos + i2c->count < i2c->msg->len)
drivers/i2c/busses/i2c-meson.c
263
meson_i2c_add_token(i2c, TOKEN_DATA);
drivers/i2c/busses/i2c-meson.c
265
meson_i2c_add_token(i2c, TOKEN_DATA_LAST);
drivers/i2c/busses/i2c-meson.c
269
meson_i2c_put_data(i2c, i2c->msg->buf + i2c->pos, i2c->count);
drivers/i2c/busses/i2c-meson.c
271
if (i2c->last && i2c->pos + i2c->count >= i2c->msg->len)
drivers/i2c/busses/i2c-meson.c
272
meson_i2c_add_token(i2c, TOKEN_STOP);
drivers/i2c/busses/i2c-meson.c
274
writel(i2c->tokens[0], i2c->regs + REG_TOK_LIST0);
drivers/i2c/busses/i2c-meson.c
275
writel(i2c->tokens[1], i2c->regs + REG_TOK_LIST1);
drivers/i2c/busses/i2c-meson.c
278
static void meson_i2c_transfer_complete(struct meson_i2c *i2c, u32 ctrl)
drivers/i2c/busses/i2c-meson.c
287
dev_dbg(i2c->dev, "error bit set\n");
drivers/i2c/busses/i2c-meson.c
288
i2c->error = -ENXIO;
drivers/i2c/busses/i2c-meson.c
289
i2c->state = STATE_IDLE;
drivers/i2c/busses/i2c-meson.c
291
if (i2c->state == STATE_READ && i2c->count)
drivers/i2c/busses/i2c-meson.c
292
meson_i2c_get_data(i2c, i2c->msg->buf + i2c->pos,
drivers/i2c/busses/i2c-meson.c
293
i2c->count);
drivers/i2c/busses/i2c-meson.c
295
i2c->pos += i2c->count;
drivers/i2c/busses/i2c-meson.c
297
if (i2c->pos >= i2c->msg->len)
drivers/i2c/busses/i2c-meson.c
298
i2c->state = STATE_IDLE;
drivers/i2c/busses/i2c-meson.c
304
struct meson_i2c *i2c = dev_id;
drivers/i2c/busses/i2c-meson.c
307
spin_lock(&i2c->lock);
drivers/i2c/busses/i2c-meson.c
309
meson_i2c_reset_tokens(i2c);
drivers/i2c/busses/i2c-meson.c
310
meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_START, 0);
drivers/i2c/busses/i2c-meson.c
311
ctrl = readl(i2c->regs + REG_CTRL);
drivers/i2c/busses/i2c-meson.c
313
dev_dbg(i2c->dev, "irq: state %d, pos %d, count %d, ctrl %08x\n",
drivers/i2c/busses/i2c-meson.c
314
i2c->state, i2c->pos, i2c->count, ctrl);
drivers/i2c/busses/i2c-meson.c
316
if (i2c->state == STATE_IDLE) {
drivers/i2c/busses/i2c-meson.c
317
spin_unlock(&i2c->lock);
drivers/i2c/busses/i2c-meson.c
321
meson_i2c_transfer_complete(i2c, ctrl);
drivers/i2c/busses/i2c-meson.c
323
if (i2c->state == STATE_IDLE) {
drivers/i2c/busses/i2c-meson.c
324
complete(&i2c->done);
drivers/i2c/busses/i2c-meson.c
329
meson_i2c_prepare_xfer(i2c);
drivers/i2c/busses/i2c-meson.c
330
meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_START, REG_CTRL_START);
drivers/i2c/busses/i2c-meson.c
332
spin_unlock(&i2c->lock);
drivers/i2c/busses/i2c-meson.c
337
static void meson_i2c_do_start(struct meson_i2c *i2c, struct i2c_msg *msg)
drivers/i2c/busses/i2c-meson.c
345
meson_i2c_set_mask(i2c, REG_SLAVE_ADDR, REG_SLV_ADDR_MASK,
drivers/i2c/busses/i2c-meson.c
348
meson_i2c_add_token(i2c, TOKEN_START);
drivers/i2c/busses/i2c-meson.c
349
meson_i2c_add_token(i2c, token);
drivers/i2c/busses/i2c-meson.c
352
static int meson_i2c_xfer_msg(struct meson_i2c *i2c, struct i2c_msg *msg,
drivers/i2c/busses/i2c-meson.c
359
i2c->msg = msg;
drivers/i2c/busses/i2c-meson.c
360
i2c->last = last;
drivers/i2c/busses/i2c-meson.c
361
i2c->pos = 0;
drivers/i2c/busses/i2c-meson.c
362
i2c->count = 0;
drivers/i2c/busses/i2c-meson.c
363
i2c->error = 0;
drivers/i2c/busses/i2c-meson.c
365
meson_i2c_reset_tokens(i2c);
drivers/i2c/busses/i2c-meson.c
368
meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_ACK_IGNORE, flags);
drivers/i2c/busses/i2c-meson.c
371
meson_i2c_do_start(i2c, msg);
drivers/i2c/busses/i2c-meson.c
373
i2c->state = (msg->flags & I2C_M_RD) ? STATE_READ : STATE_WRITE;
drivers/i2c/busses/i2c-meson.c
374
meson_i2c_prepare_xfer(i2c);
drivers/i2c/busses/i2c-meson.c
377
reinit_completion(&i2c->done);
drivers/i2c/busses/i2c-meson.c
380
meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_START, REG_CTRL_START);
drivers/i2c/busses/i2c-meson.c
383
ret = readl_poll_timeout_atomic(i2c->regs + REG_CTRL, ctrl,
drivers/i2c/busses/i2c-meson.c
388
time_left = wait_for_completion_timeout(&i2c->done, time_left);
drivers/i2c/busses/i2c-meson.c
399
spin_lock_irqsave(&i2c->lock, flags);
drivers/i2c/busses/i2c-meson.c
402
meson_i2c_transfer_complete(i2c, ctrl);
drivers/i2c/busses/i2c-meson.c
405
meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_START, 0);
drivers/i2c/busses/i2c-meson.c
408
i2c->state = STATE_IDLE;
drivers/i2c/busses/i2c-meson.c
410
if (i2c->error)
drivers/i2c/busses/i2c-meson.c
411
ret = i2c->error;
drivers/i2c/busses/i2c-meson.c
413
spin_unlock_irqrestore(&i2c->lock, flags);
drivers/i2c/busses/i2c-meson.c
421
struct meson_i2c *i2c = adap->algo_data;
drivers/i2c/busses/i2c-meson.c
425
ret = meson_i2c_xfer_msg(i2c, msgs + i, i == num - 1, atomic);
drivers/i2c/busses/i2c-meson.c
459
struct meson_i2c *i2c;
drivers/i2c/busses/i2c-meson.c
463
i2c = devm_kzalloc(&pdev->dev, sizeof(struct meson_i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-meson.c
464
if (!i2c)
drivers/i2c/busses/i2c-meson.c
469
i2c->dev = &pdev->dev;
drivers/i2c/busses/i2c-meson.c
470
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-meson.c
472
spin_lock_init(&i2c->lock);
drivers/i2c/busses/i2c-meson.c
473
init_completion(&i2c->done);
drivers/i2c/busses/i2c-meson.c
475
i2c->data = (const struct meson_i2c_data *)
drivers/i2c/busses/i2c-meson.c
478
i2c->clk = devm_clk_get(&pdev->dev, NULL);
drivers/i2c/busses/i2c-meson.c
479
if (IS_ERR(i2c->clk)) {
drivers/i2c/busses/i2c-meson.c
481
return PTR_ERR(i2c->clk);
drivers/i2c/busses/i2c-meson.c
484
i2c->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/i2c/busses/i2c-meson.c
485
if (IS_ERR(i2c->regs))
drivers/i2c/busses/i2c-meson.c
486
return PTR_ERR(i2c->regs);
drivers/i2c/busses/i2c-meson.c
492
ret = devm_request_irq(&pdev->dev, irq, meson_i2c_irq, 0, NULL, i2c);
drivers/i2c/busses/i2c-meson.c
498
ret = clk_prepare_enable(i2c->clk);
drivers/i2c/busses/i2c-meson.c
504
strscpy(i2c->adap.name, "Meson I2C adapter",
drivers/i2c/busses/i2c-meson.c
505
sizeof(i2c->adap.name));
drivers/i2c/busses/i2c-meson.c
506
i2c->adap.owner = THIS_MODULE;
drivers/i2c/busses/i2c-meson.c
507
i2c->adap.algo = &meson_i2c_algorithm;
drivers/i2c/busses/i2c-meson.c
508
i2c->adap.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-meson.c
509
i2c->adap.dev.of_node = np;
drivers/i2c/busses/i2c-meson.c
510
i2c->adap.algo_data = i2c;
drivers/i2c/busses/i2c-meson.c
516
meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_START, 0);
drivers/i2c/busses/i2c-meson.c
519
meson_i2c_set_mask(i2c, REG_SLAVE_ADDR,
drivers/i2c/busses/i2c-meson.c
522
if (!i2c->data->set_clk_div) {
drivers/i2c/busses/i2c-meson.c
523
clk_disable_unprepare(i2c->clk);
drivers/i2c/busses/i2c-meson.c
526
i2c->data->set_clk_div(i2c, timings.bus_freq_hz);
drivers/i2c/busses/i2c-meson.c
528
ret = i2c_add_adapter(&i2c->adap);
drivers/i2c/busses/i2c-meson.c
530
clk_disable_unprepare(i2c->clk);
drivers/i2c/busses/i2c-meson.c
539
struct meson_i2c *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-meson.c
541
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-meson.c
542
clk_disable_unprepare(i2c->clk);
drivers/i2c/busses/i2c-mpc.c
109
void (*setup)(struct device_node *node, struct mpc_i2c *i2c, u32 clock);
drivers/i2c/busses/i2c-mpc.c
112
static inline void writeccr(struct mpc_i2c *i2c, u32 x)
drivers/i2c/busses/i2c-mpc.c
114
writeb(x, i2c->base + MPC_I2C_CR);
drivers/i2c/busses/i2c-mpc.c
122
static void mpc_i2c_fixup(struct mpc_i2c *i2c)
drivers/i2c/busses/i2c-mpc.c
128
writeccr(i2c, 0);
drivers/i2c/busses/i2c-mpc.c
129
writeb(0, i2c->base + MPC_I2C_SR); /* clear any status bits */
drivers/i2c/busses/i2c-mpc.c
130
writeccr(i2c, CCR_MEN | CCR_MSTA); /* START */
drivers/i2c/busses/i2c-mpc.c
131
readb(i2c->base + MPC_I2C_DR); /* init xfer */
drivers/i2c/busses/i2c-mpc.c
134
writeccr(i2c, CCR_MEN | CCR_MSTA | CCR_RSTA); /* delay SDA */
drivers/i2c/busses/i2c-mpc.c
135
readb(i2c->base + MPC_I2C_DR);
drivers/i2c/busses/i2c-mpc.c
140
writeccr(i2c, CCR_MEN); /* Initiate STOP */
drivers/i2c/busses/i2c-mpc.c
141
readb(i2c->base + MPC_I2C_DR);
drivers/i2c/busses/i2c-mpc.c
143
writeccr(i2c, 0);
drivers/i2c/busses/i2c-mpc.c
146
static int i2c_mpc_wait_sr(struct mpc_i2c *i2c, int mask)
drivers/i2c/busses/i2c-mpc.c
148
void __iomem *addr = i2c->base + MPC_I2C_SR;
drivers/i2c/busses/i2c-mpc.c
174
static void mpc_i2c_fixup_A004447(struct mpc_i2c *i2c)
drivers/i2c/busses/i2c-mpc.c
179
writeccr(i2c, CCR_MEN | CCR_MSTA);
drivers/i2c/busses/i2c-mpc.c
180
ret = i2c_mpc_wait_sr(i2c, CSR_MBB);
drivers/i2c/busses/i2c-mpc.c
182
dev_err(i2c->dev, "timeout waiting for CSR_MBB\n");
drivers/i2c/busses/i2c-mpc.c
186
val = readb(i2c->base + MPC_I2C_SR);
drivers/i2c/busses/i2c-mpc.c
189
writeccr(i2c, 0x00);
drivers/i2c/busses/i2c-mpc.c
190
writeccr(i2c, CCR_MSTA | CCR_RSVD);
drivers/i2c/busses/i2c-mpc.c
191
writeccr(i2c, CCR_MEN | CCR_MSTA | CCR_RSVD);
drivers/i2c/busses/i2c-mpc.c
192
ret = i2c_mpc_wait_sr(i2c, CSR_MBB);
drivers/i2c/busses/i2c-mpc.c
194
dev_err(i2c->dev, "timeout waiting for CSR_MBB\n");
drivers/i2c/busses/i2c-mpc.c
197
val = readb(i2c->base + MPC_I2C_DR);
drivers/i2c/busses/i2c-mpc.c
198
ret = i2c_mpc_wait_sr(i2c, CSR_MIF);
drivers/i2c/busses/i2c-mpc.c
200
dev_err(i2c->dev, "timeout waiting for CSR_MIF\n");
drivers/i2c/busses/i2c-mpc.c
203
writeccr(i2c, CCR_MEN | CCR_RSVD);
drivers/i2c/busses/i2c-mpc.c
205
val = readb(i2c->base + MPC_I2C_DR);
drivers/i2c/busses/i2c-mpc.c
206
ret = i2c_mpc_wait_sr(i2c, CSR_MIF);
drivers/i2c/busses/i2c-mpc.c
208
dev_err(i2c->dev, "timeout waiting for CSR_MIF\n");
drivers/i2c/busses/i2c-mpc.c
211
writeccr(i2c, CCR_MEN);
drivers/i2c/busses/i2c-mpc.c
273
struct mpc_i2c *i2c,
drivers/i2c/busses/i2c-mpc.c
279
dev_dbg(i2c->dev, "using fdr %d\n",
drivers/i2c/busses/i2c-mpc.c
280
readb(i2c->base + MPC_I2C_FDR));
drivers/i2c/busses/i2c-mpc.c
284
ret = mpc_i2c_get_fdr_52xx(node, clock, &i2c->real_clk);
drivers/i2c/busses/i2c-mpc.c
287
writeb(fdr & 0xff, i2c->base + MPC_I2C_FDR);
drivers/i2c/busses/i2c-mpc.c
290
dev_info(i2c->dev, "clock %u Hz (fdr=%d)\n", i2c->real_clk,
drivers/i2c/busses/i2c-mpc.c
295
struct mpc_i2c *i2c,
drivers/i2c/busses/i2c-mpc.c
303
struct mpc_i2c *i2c,
drivers/i2c/busses/i2c-mpc.c
325
mpc_i2c_setup_52xx(node, i2c, clock);
drivers/i2c/busses/i2c-mpc.c
329
struct mpc_i2c *i2c,
drivers/i2c/busses/i2c-mpc.c
456
struct mpc_i2c *i2c,
drivers/i2c/busses/i2c-mpc.c
462
dev_dbg(i2c->dev, "using dfsrr %d, fdr %d\n",
drivers/i2c/busses/i2c-mpc.c
463
readb(i2c->base + MPC_I2C_DFSRR),
drivers/i2c/busses/i2c-mpc.c
464
readb(i2c->base + MPC_I2C_FDR));
drivers/i2c/busses/i2c-mpc.c
468
ret = mpc_i2c_get_fdr_8xxx(node, clock, &i2c->real_clk);
drivers/i2c/busses/i2c-mpc.c
471
writeb(fdr & 0xff, i2c->base + MPC_I2C_FDR);
drivers/i2c/busses/i2c-mpc.c
472
writeb((fdr >> 8) & 0xff, i2c->base + MPC_I2C_DFSRR);
drivers/i2c/busses/i2c-mpc.c
475
dev_info(i2c->dev, "clock %d Hz (dfsrr=%d fdr=%d)\n",
drivers/i2c/busses/i2c-mpc.c
476
i2c->real_clk, fdr >> 8, fdr & 0xff);
drivers/i2c/busses/i2c-mpc.c
481
struct mpc_i2c *i2c,
drivers/i2c/busses/i2c-mpc.c
487
static void mpc_i2c_finish(struct mpc_i2c *i2c, int rc)
drivers/i2c/busses/i2c-mpc.c
489
i2c->rc = rc;
drivers/i2c/busses/i2c-mpc.c
490
i2c->block = 0;
drivers/i2c/busses/i2c-mpc.c
491
i2c->cntl_bits = CCR_MEN;
drivers/i2c/busses/i2c-mpc.c
492
writeccr(i2c, i2c->cntl_bits);
drivers/i2c/busses/i2c-mpc.c
493
wake_up(&i2c->waitq);
drivers/i2c/busses/i2c-mpc.c
496
static void mpc_i2c_do_action(struct mpc_i2c *i2c)
drivers/i2c/busses/i2c-mpc.c
503
dev_dbg(i2c->dev, "action = %s\n", action_str[i2c->action]);
drivers/i2c/busses/i2c-mpc.c
505
i2c->cntl_bits &= ~(CCR_RSTA | CCR_MTX | CCR_TXAK);
drivers/i2c/busses/i2c-mpc.c
507
if (i2c->action != MPC_I2C_ACTION_STOP) {
drivers/i2c/busses/i2c-mpc.c
508
msg = &i2c->msgs[i2c->curr_msg];
drivers/i2c/busses/i2c-mpc.c
515
switch (i2c->action) {
drivers/i2c/busses/i2c-mpc.c
517
i2c->cntl_bits |= CCR_RSTA;
drivers/i2c/busses/i2c-mpc.c
521
i2c->cntl_bits |= CCR_MSTA | CCR_MTX;
drivers/i2c/busses/i2c-mpc.c
522
writeccr(i2c, i2c->cntl_bits);
drivers/i2c/busses/i2c-mpc.c
523
writeb((msg->addr << 1) | dir, i2c->base + MPC_I2C_DR);
drivers/i2c/busses/i2c-mpc.c
524
i2c->expect_rxack = 1;
drivers/i2c/busses/i2c-mpc.c
525
i2c->action = dir ? MPC_I2C_ACTION_READ_BEGIN : MPC_I2C_ACTION_WRITE;
drivers/i2c/busses/i2c-mpc.c
531
i2c->cntl_bits |= CCR_TXAK;
drivers/i2c/busses/i2c-mpc.c
533
writeccr(i2c, i2c->cntl_bits);
drivers/i2c/busses/i2c-mpc.c
535
readb(i2c->base + MPC_I2C_DR);
drivers/i2c/busses/i2c-mpc.c
537
i2c->action = MPC_I2C_ACTION_READ_BYTE;
drivers/i2c/busses/i2c-mpc.c
541
if (i2c->byte_posn || !recv_len) {
drivers/i2c/busses/i2c-mpc.c
543
if (i2c->byte_posn == msg->len - 2)
drivers/i2c/busses/i2c-mpc.c
544
i2c->cntl_bits |= CCR_TXAK;
drivers/i2c/busses/i2c-mpc.c
546
if (i2c->byte_posn == msg->len - 1)
drivers/i2c/busses/i2c-mpc.c
547
i2c->cntl_bits |= CCR_MTX;
drivers/i2c/busses/i2c-mpc.c
549
writeccr(i2c, i2c->cntl_bits);
drivers/i2c/busses/i2c-mpc.c
552
byte = readb(i2c->base + MPC_I2C_DR);
drivers/i2c/busses/i2c-mpc.c
554
if (i2c->byte_posn == 0 && recv_len) {
drivers/i2c/busses/i2c-mpc.c
556
mpc_i2c_finish(i2c, -EPROTO);
drivers/i2c/busses/i2c-mpc.c
565
i2c->cntl_bits |= CCR_TXAK;
drivers/i2c/busses/i2c-mpc.c
566
writeccr(i2c, i2c->cntl_bits);
drivers/i2c/busses/i2c-mpc.c
570
dev_dbg(i2c->dev, "%s %02x\n", action_str[i2c->action], byte);
drivers/i2c/busses/i2c-mpc.c
571
msg->buf[i2c->byte_posn++] = byte;
drivers/i2c/busses/i2c-mpc.c
575
dev_dbg(i2c->dev, "%s %02x\n", action_str[i2c->action],
drivers/i2c/busses/i2c-mpc.c
576
msg->buf[i2c->byte_posn]);
drivers/i2c/busses/i2c-mpc.c
577
writeb(msg->buf[i2c->byte_posn++], i2c->base + MPC_I2C_DR);
drivers/i2c/busses/i2c-mpc.c
578
i2c->expect_rxack = 1;
drivers/i2c/busses/i2c-mpc.c
582
mpc_i2c_finish(i2c, 0);
drivers/i2c/busses/i2c-mpc.c
586
WARN(1, "Unexpected action %d\n", i2c->action);
drivers/i2c/busses/i2c-mpc.c
590
if (msg && msg->len == i2c->byte_posn) {
drivers/i2c/busses/i2c-mpc.c
591
i2c->curr_msg++;
drivers/i2c/busses/i2c-mpc.c
592
i2c->byte_posn = 0;
drivers/i2c/busses/i2c-mpc.c
594
if (i2c->curr_msg == i2c->num_msgs) {
drivers/i2c/busses/i2c-mpc.c
595
i2c->action = MPC_I2C_ACTION_STOP;
drivers/i2c/busses/i2c-mpc.c
601
mpc_i2c_finish(i2c, 0);
drivers/i2c/busses/i2c-mpc.c
603
i2c->action = MPC_I2C_ACTION_RESTART;
drivers/i2c/busses/i2c-mpc.c
608
static void mpc_i2c_do_intr(struct mpc_i2c *i2c, u8 status)
drivers/i2c/busses/i2c-mpc.c
610
spin_lock(&i2c->lock);
drivers/i2c/busses/i2c-mpc.c
613
dev_dbg(i2c->dev, "unfinished\n");
drivers/i2c/busses/i2c-mpc.c
614
mpc_i2c_finish(i2c, -EIO);
drivers/i2c/busses/i2c-mpc.c
619
dev_dbg(i2c->dev, "arbitration lost\n");
drivers/i2c/busses/i2c-mpc.c
620
mpc_i2c_finish(i2c, -EAGAIN);
drivers/i2c/busses/i2c-mpc.c
624
if (i2c->expect_rxack && (status & CSR_RXAK)) {
drivers/i2c/busses/i2c-mpc.c
625
dev_dbg(i2c->dev, "no Rx ACK\n");
drivers/i2c/busses/i2c-mpc.c
626
mpc_i2c_finish(i2c, -ENXIO);
drivers/i2c/busses/i2c-mpc.c
629
i2c->expect_rxack = 0;
drivers/i2c/busses/i2c-mpc.c
631
mpc_i2c_do_action(i2c);
drivers/i2c/busses/i2c-mpc.c
634
spin_unlock(&i2c->lock);
drivers/i2c/busses/i2c-mpc.c
639
struct mpc_i2c *i2c = dev_id;
drivers/i2c/busses/i2c-mpc.c
642
status = readb(i2c->base + MPC_I2C_SR);
drivers/i2c/busses/i2c-mpc.c
645
readb_poll_timeout_atomic(i2c->base + MPC_I2C_SR, status, status & CSR_MCF, 0, 100);
drivers/i2c/busses/i2c-mpc.c
646
writeb(0, i2c->base + MPC_I2C_SR);
drivers/i2c/busses/i2c-mpc.c
647
mpc_i2c_do_intr(i2c, status);
drivers/i2c/busses/i2c-mpc.c
653
static int mpc_i2c_wait_for_completion(struct mpc_i2c *i2c)
drivers/i2c/busses/i2c-mpc.c
657
time_left = wait_event_timeout(i2c->waitq, !i2c->block, i2c->adap.timeout);
drivers/i2c/busses/i2c-mpc.c
666
static int mpc_i2c_execute_msg(struct mpc_i2c *i2c)
drivers/i2c/busses/i2c-mpc.c
672
spin_lock_irqsave(&i2c->lock, flags);
drivers/i2c/busses/i2c-mpc.c
674
i2c->curr_msg = 0;
drivers/i2c/busses/i2c-mpc.c
675
i2c->rc = 0;
drivers/i2c/busses/i2c-mpc.c
676
i2c->byte_posn = 0;
drivers/i2c/busses/i2c-mpc.c
677
i2c->block = 1;
drivers/i2c/busses/i2c-mpc.c
678
i2c->action = MPC_I2C_ACTION_START;
drivers/i2c/busses/i2c-mpc.c
680
i2c->cntl_bits = CCR_MEN | CCR_MIEN;
drivers/i2c/busses/i2c-mpc.c
681
writeb(0, i2c->base + MPC_I2C_SR);
drivers/i2c/busses/i2c-mpc.c
682
writeccr(i2c, i2c->cntl_bits);
drivers/i2c/busses/i2c-mpc.c
684
mpc_i2c_do_action(i2c);
drivers/i2c/busses/i2c-mpc.c
686
spin_unlock_irqrestore(&i2c->lock, flags);
drivers/i2c/busses/i2c-mpc.c
688
ret = mpc_i2c_wait_for_completion(i2c);
drivers/i2c/busses/i2c-mpc.c
690
i2c->rc = ret;
drivers/i2c/busses/i2c-mpc.c
692
if (i2c->rc == -EIO || i2c->rc == -EAGAIN || i2c->rc == -ETIMEDOUT)
drivers/i2c/busses/i2c-mpc.c
693
i2c_recover_bus(&i2c->adap);
drivers/i2c/busses/i2c-mpc.c
697
while (readb(i2c->base + MPC_I2C_SR) & CSR_MBB) {
drivers/i2c/busses/i2c-mpc.c
699
u8 status = readb(i2c->base + MPC_I2C_SR);
drivers/i2c/busses/i2c-mpc.c
701
dev_dbg(i2c->dev, "timeout\n");
drivers/i2c/busses/i2c-mpc.c
704
i2c->base + MPC_I2C_SR);
drivers/i2c/busses/i2c-mpc.c
705
i2c_recover_bus(&i2c->adap);
drivers/i2c/busses/i2c-mpc.c
712
return i2c->rc;
drivers/i2c/busses/i2c-mpc.c
718
struct mpc_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-mpc.c
721
dev_dbg(i2c->dev, "num = %d\n", num);
drivers/i2c/busses/i2c-mpc.c
723
dev_dbg(i2c->dev, " addr = %02x, flags = %02x, len = %d, %*ph\n",
drivers/i2c/busses/i2c-mpc.c
728
WARN_ON(i2c->msgs != NULL);
drivers/i2c/busses/i2c-mpc.c
729
i2c->msgs = msgs;
drivers/i2c/busses/i2c-mpc.c
730
i2c->num_msgs = num;
drivers/i2c/busses/i2c-mpc.c
732
rc = mpc_i2c_execute_msg(i2c);
drivers/i2c/busses/i2c-mpc.c
736
i2c->num_msgs = 0;
drivers/i2c/busses/i2c-mpc.c
737
i2c->msgs = NULL;
drivers/i2c/busses/i2c-mpc.c
750
struct mpc_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-mpc.c
752
if (i2c->has_errata_A004447)
drivers/i2c/busses/i2c-mpc.c
753
mpc_i2c_fixup_A004447(i2c);
drivers/i2c/busses/i2c-mpc.c
755
mpc_i2c_fixup(i2c);
drivers/i2c/busses/i2c-mpc.c
777
struct mpc_i2c *i2c;
drivers/i2c/busses/i2c-mpc.c
782
i2c = devm_kzalloc(&op->dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-mpc.c
783
if (!i2c)
drivers/i2c/busses/i2c-mpc.c
786
i2c->dev = &op->dev; /* for debug and error output */
drivers/i2c/busses/i2c-mpc.c
788
init_waitqueue_head(&i2c->waitq);
drivers/i2c/busses/i2c-mpc.c
789
spin_lock_init(&i2c->lock);
drivers/i2c/busses/i2c-mpc.c
791
i2c->base = devm_platform_ioremap_resource(op, 0);
drivers/i2c/busses/i2c-mpc.c
792
if (IS_ERR(i2c->base))
drivers/i2c/busses/i2c-mpc.c
793
return PTR_ERR(i2c->base);
drivers/i2c/busses/i2c-mpc.c
795
i2c->irq = platform_get_irq(op, 0);
drivers/i2c/busses/i2c-mpc.c
796
if (i2c->irq < 0)
drivers/i2c/busses/i2c-mpc.c
797
return i2c->irq;
drivers/i2c/busses/i2c-mpc.c
799
result = devm_request_irq(&op->dev, i2c->irq, mpc_i2c_isr,
drivers/i2c/busses/i2c-mpc.c
800
IRQF_SHARED, "i2c-mpc", i2c);
drivers/i2c/busses/i2c-mpc.c
802
dev_err(i2c->dev, "failed to attach interrupt\n");
drivers/i2c/busses/i2c-mpc.c
827
data->setup(op->dev.of_node, i2c, clock);
drivers/i2c/busses/i2c-mpc.c
831
mpc_i2c_setup_8xxx(op->dev.of_node, i2c, clock);
drivers/i2c/busses/i2c-mpc.c
854
dev_info(i2c->dev, "timeout %u us\n", mpc_ops.timeout * 1000000 / HZ);
drivers/i2c/busses/i2c-mpc.c
857
i2c->has_errata_A004447 = true;
drivers/i2c/busses/i2c-mpc.c
859
i2c->adap = mpc_ops;
drivers/i2c/busses/i2c-mpc.c
860
scnprintf(i2c->adap.name, sizeof(i2c->adap.name),
drivers/i2c/busses/i2c-mpc.c
862
i2c->adap.dev.parent = &op->dev;
drivers/i2c/busses/i2c-mpc.c
863
i2c->adap.nr = op->id;
drivers/i2c/busses/i2c-mpc.c
864
i2c->adap.dev.of_node = of_node_get(op->dev.of_node);
drivers/i2c/busses/i2c-mpc.c
865
i2c->adap.bus_recovery_info = &fsl_i2c_recovery_info;
drivers/i2c/busses/i2c-mpc.c
866
platform_set_drvdata(op, i2c);
drivers/i2c/busses/i2c-mpc.c
867
i2c_set_adapdata(&i2c->adap, i2c);
drivers/i2c/busses/i2c-mpc.c
869
result = i2c_add_numbered_adapter(&i2c->adap);
drivers/i2c/busses/i2c-mpc.c
878
struct mpc_i2c *i2c = platform_get_drvdata(op);
drivers/i2c/busses/i2c-mpc.c
880
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-mpc.c
885
struct mpc_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-mpc.c
887
i2c->fdr = readb(i2c->base + MPC_I2C_FDR);
drivers/i2c/busses/i2c-mpc.c
888
i2c->dfsrr = readb(i2c->base + MPC_I2C_DFSRR);
drivers/i2c/busses/i2c-mpc.c
895
struct mpc_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-mpc.c
897
writeb(i2c->fdr, i2c->base + MPC_I2C_FDR);
drivers/i2c/busses/i2c-mpc.c
898
writeb(i2c->dfsrr, i2c->base + MPC_I2C_DFSRR);
drivers/i2c/busses/i2c-mt65xx.c
1011
i2c->irq_stat = 0;
drivers/i2c/busses/i2c-mt65xx.c
1013
if (i2c->auto_restart)
drivers/i2c/busses/i2c-mt65xx.c
1016
reinit_completion(&i2c->msg_complete);
drivers/i2c/busses/i2c-mt65xx.c
1018
if (i2c->dev_comp->apdma_sync &&
drivers/i2c/busses/i2c-mt65xx.c
1019
i2c->op != I2C_MASTER_WRRD && num > 1) {
drivers/i2c/busses/i2c-mt65xx.c
1020
mtk_i2c_writew(i2c, 0x00, OFFSET_DEBUGCTRL);
drivers/i2c/busses/i2c-mt65xx.c
1022
i2c->pdmabase + OFFSET_RST);
drivers/i2c/busses/i2c-mt65xx.c
1024
ret = readw_poll_timeout(i2c->pdmabase + OFFSET_RST,
drivers/i2c/busses/i2c-mt65xx.c
1029
dev_err(i2c->dev, "DMA warm reset timeout\n");
drivers/i2c/busses/i2c-mt65xx.c
1033
writel(I2C_DMA_CLR_FLAG, i2c->pdmabase + OFFSET_RST);
drivers/i2c/busses/i2c-mt65xx.c
1034
mtk_i2c_writew(i2c, I2C_HANDSHAKE_RST, OFFSET_SOFTRESET);
drivers/i2c/busses/i2c-mt65xx.c
1035
mtk_i2c_writew(i2c, I2C_CHN_CLR_FLAG, OFFSET_SOFTRESET);
drivers/i2c/busses/i2c-mt65xx.c
1036
mtk_i2c_writew(i2c, I2C_RELIABILITY | I2C_DMAACK_ENABLE,
drivers/i2c/busses/i2c-mt65xx.c
1040
control_reg = mtk_i2c_readw(i2c, OFFSET_CONTROL) &
drivers/i2c/busses/i2c-mt65xx.c
1042
if ((i2c->speed_hz > I2C_MAX_FAST_MODE_PLUS_FREQ) || (left_num >= 1))
drivers/i2c/busses/i2c-mt65xx.c
1045
if (i2c->op == I2C_MASTER_WRRD)
drivers/i2c/busses/i2c-mt65xx.c
1048
mtk_i2c_writew(i2c, control_reg, OFFSET_CONTROL);
drivers/i2c/busses/i2c-mt65xx.c
1051
mtk_i2c_writew(i2c, addr_reg, OFFSET_SLAVE_ADDR);
drivers/i2c/busses/i2c-mt65xx.c
1054
mtk_i2c_writew(i2c, restart_flag | I2C_HS_NACKERR | I2C_ACKERR |
drivers/i2c/busses/i2c-mt65xx.c
1057
mtk_i2c_writew(i2c, I2C_FIFO_ADDR_CLR, OFFSET_FIFO_ADDR_CLR);
drivers/i2c/busses/i2c-mt65xx.c
1060
mtk_i2c_writew(i2c, restart_flag | I2C_HS_NACKERR | I2C_ACKERR |
drivers/i2c/busses/i2c-mt65xx.c
1064
if (i2c->op == I2C_MASTER_WRRD) {
drivers/i2c/busses/i2c-mt65xx.c
1065
if (i2c->dev_comp->aux_len_reg) {
drivers/i2c/busses/i2c-mt65xx.c
1066
mtk_i2c_writew(i2c, msgs->len, OFFSET_TRANSFER_LEN);
drivers/i2c/busses/i2c-mt65xx.c
1067
mtk_i2c_writew(i2c, (msgs + 1)->len,
drivers/i2c/busses/i2c-mt65xx.c
1070
mtk_i2c_writew(i2c, msgs->len | ((msgs + 1)->len) << 8,
drivers/i2c/busses/i2c-mt65xx.c
1073
mtk_i2c_writew(i2c, I2C_WRRD_TRANAC_VALUE, OFFSET_TRANSAC_LEN);
drivers/i2c/busses/i2c-mt65xx.c
1075
mtk_i2c_writew(i2c, msgs->len, OFFSET_TRANSFER_LEN);
drivers/i2c/busses/i2c-mt65xx.c
1076
mtk_i2c_writew(i2c, num, OFFSET_TRANSAC_LEN);
drivers/i2c/busses/i2c-mt65xx.c
1079
if (i2c->dev_comp->apdma_sync) {
drivers/i2c/busses/i2c-mt65xx.c
1081
if (i2c->op == I2C_MASTER_WRRD)
drivers/i2c/busses/i2c-mt65xx.c
1086
if (i2c->op == I2C_MASTER_RD) {
drivers/i2c/busses/i2c-mt65xx.c
1087
writel(I2C_DMA_INT_FLAG_NONE, i2c->pdmabase + OFFSET_INT_FLAG);
drivers/i2c/busses/i2c-mt65xx.c
1088
writel(I2C_DMA_CON_RX | dma_sync, i2c->pdmabase + OFFSET_CON);
drivers/i2c/busses/i2c-mt65xx.c
1094
rpaddr = dma_map_single(i2c->dev, dma_rd_buf,
drivers/i2c/busses/i2c-mt65xx.c
1096
if (dma_mapping_error(i2c->dev, rpaddr)) {
drivers/i2c/busses/i2c-mt65xx.c
1102
if (i2c->dev_comp->max_dma_support > 32) {
drivers/i2c/busses/i2c-mt65xx.c
1104
writel(reg_4g_mode, i2c->pdmabase + OFFSET_RX_4G_MODE);
drivers/i2c/busses/i2c-mt65xx.c
1107
writel((u32)rpaddr, i2c->pdmabase + OFFSET_RX_MEM_ADDR);
drivers/i2c/busses/i2c-mt65xx.c
1108
writel(msgs->len, i2c->pdmabase + OFFSET_RX_LEN);
drivers/i2c/busses/i2c-mt65xx.c
1109
} else if (i2c->op == I2C_MASTER_WR) {
drivers/i2c/busses/i2c-mt65xx.c
1110
writel(I2C_DMA_INT_FLAG_NONE, i2c->pdmabase + OFFSET_INT_FLAG);
drivers/i2c/busses/i2c-mt65xx.c
1111
writel(I2C_DMA_CON_TX | dma_sync, i2c->pdmabase + OFFSET_CON);
drivers/i2c/busses/i2c-mt65xx.c
1117
wpaddr = dma_map_single(i2c->dev, dma_wr_buf,
drivers/i2c/busses/i2c-mt65xx.c
1119
if (dma_mapping_error(i2c->dev, wpaddr)) {
drivers/i2c/busses/i2c-mt65xx.c
1125
if (i2c->dev_comp->max_dma_support > 32) {
drivers/i2c/busses/i2c-mt65xx.c
1127
writel(reg_4g_mode, i2c->pdmabase + OFFSET_TX_4G_MODE);
drivers/i2c/busses/i2c-mt65xx.c
1130
writel((u32)wpaddr, i2c->pdmabase + OFFSET_TX_MEM_ADDR);
drivers/i2c/busses/i2c-mt65xx.c
1131
writel(msgs->len, i2c->pdmabase + OFFSET_TX_LEN);
drivers/i2c/busses/i2c-mt65xx.c
1133
writel(I2C_DMA_CLR_FLAG, i2c->pdmabase + OFFSET_INT_FLAG);
drivers/i2c/busses/i2c-mt65xx.c
1134
writel(I2C_DMA_CLR_FLAG | dma_sync, i2c->pdmabase + OFFSET_CON);
drivers/i2c/busses/i2c-mt65xx.c
1140
wpaddr = dma_map_single(i2c->dev, dma_wr_buf,
drivers/i2c/busses/i2c-mt65xx.c
1142
if (dma_mapping_error(i2c->dev, wpaddr)) {
drivers/i2c/busses/i2c-mt65xx.c
1150
dma_unmap_single(i2c->dev, wpaddr,
drivers/i2c/busses/i2c-mt65xx.c
1158
rpaddr = dma_map_single(i2c->dev, dma_rd_buf,
drivers/i2c/busses/i2c-mt65xx.c
1161
if (dma_mapping_error(i2c->dev, rpaddr)) {
drivers/i2c/busses/i2c-mt65xx.c
1162
dma_unmap_single(i2c->dev, wpaddr,
drivers/i2c/busses/i2c-mt65xx.c
1171
if (i2c->dev_comp->max_dma_support > 32) {
drivers/i2c/busses/i2c-mt65xx.c
1173
writel(reg_4g_mode, i2c->pdmabase + OFFSET_TX_4G_MODE);
drivers/i2c/busses/i2c-mt65xx.c
1176
writel(reg_4g_mode, i2c->pdmabase + OFFSET_RX_4G_MODE);
drivers/i2c/busses/i2c-mt65xx.c
1179
writel((u32)wpaddr, i2c->pdmabase + OFFSET_TX_MEM_ADDR);
drivers/i2c/busses/i2c-mt65xx.c
1180
writel((u32)rpaddr, i2c->pdmabase + OFFSET_RX_MEM_ADDR);
drivers/i2c/busses/i2c-mt65xx.c
1181
writel(msgs->len, i2c->pdmabase + OFFSET_TX_LEN);
drivers/i2c/busses/i2c-mt65xx.c
1182
writel((msgs + 1)->len, i2c->pdmabase + OFFSET_RX_LEN);
drivers/i2c/busses/i2c-mt65xx.c
1185
writel(I2C_DMA_START_EN, i2c->pdmabase + OFFSET_EN);
drivers/i2c/busses/i2c-mt65xx.c
1187
if (!i2c->auto_restart) {
drivers/i2c/busses/i2c-mt65xx.c
1194
mtk_i2c_writew(i2c, start_reg, OFFSET_START);
drivers/i2c/busses/i2c-mt65xx.c
1196
ret = wait_for_completion_timeout(&i2c->msg_complete,
drivers/i2c/busses/i2c-mt65xx.c
1197
i2c->adap.timeout);
drivers/i2c/busses/i2c-mt65xx.c
1200
mtk_i2c_writew(i2c, ~(restart_flag | I2C_HS_NACKERR | I2C_ACKERR |
drivers/i2c/busses/i2c-mt65xx.c
1203
if (i2c->op == I2C_MASTER_WR) {
drivers/i2c/busses/i2c-mt65xx.c
1204
dma_unmap_single(i2c->dev, wpaddr,
drivers/i2c/busses/i2c-mt65xx.c
1208
} else if (i2c->op == I2C_MASTER_RD) {
drivers/i2c/busses/i2c-mt65xx.c
1209
dma_unmap_single(i2c->dev, rpaddr,
drivers/i2c/busses/i2c-mt65xx.c
1214
dma_unmap_single(i2c->dev, wpaddr, msgs->len,
drivers/i2c/busses/i2c-mt65xx.c
1216
dma_unmap_single(i2c->dev, rpaddr, (msgs + 1)->len,
drivers/i2c/busses/i2c-mt65xx.c
1224
dev_dbg(i2c->dev, "addr: %x, transfer timeout\n", msgs->addr);
drivers/i2c/busses/i2c-mt65xx.c
1225
i2c_dump_register(i2c);
drivers/i2c/busses/i2c-mt65xx.c
1226
mtk_i2c_init_hw(i2c);
drivers/i2c/busses/i2c-mt65xx.c
1230
if (i2c->irq_stat & (I2C_HS_NACKERR | I2C_ACKERR)) {
drivers/i2c/busses/i2c-mt65xx.c
1231
dev_dbg(i2c->dev, "addr: %x, transfer ACK error\n", msgs->addr);
drivers/i2c/busses/i2c-mt65xx.c
1232
mtk_i2c_init_hw(i2c);
drivers/i2c/busses/i2c-mt65xx.c
1245
struct mtk_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-mt65xx.c
1247
ret = clk_bulk_enable(I2C_MT65XX_CLK_MAX, i2c->clocks);
drivers/i2c/busses/i2c-mt65xx.c
1251
i2c->auto_restart = i2c->dev_comp->auto_restart;
drivers/i2c/busses/i2c-mt65xx.c
1254
if (i2c->auto_restart && num == 2) {
drivers/i2c/busses/i2c-mt65xx.c
1257
i2c->auto_restart = 0;
drivers/i2c/busses/i2c-mt65xx.c
1262
if (i2c->auto_restart && num >= 2 &&
drivers/i2c/busses/i2c-mt65xx.c
1263
i2c->speed_hz > I2C_MAX_FAST_MODE_PLUS_FREQ)
drivers/i2c/busses/i2c-mt65xx.c
1267
i2c->ignore_restart_irq = true;
drivers/i2c/busses/i2c-mt65xx.c
1269
i2c->ignore_restart_irq = false;
drivers/i2c/busses/i2c-mt65xx.c
1273
dev_dbg(i2c->dev, "data buffer is NULL.\n");
drivers/i2c/busses/i2c-mt65xx.c
1279
i2c->op = I2C_MASTER_RD;
drivers/i2c/busses/i2c-mt65xx.c
1281
i2c->op = I2C_MASTER_WR;
drivers/i2c/busses/i2c-mt65xx.c
1285
i2c->op = I2C_MASTER_WRRD;
drivers/i2c/busses/i2c-mt65xx.c
1290
ret = mtk_i2c_do_transfer(i2c, msgs, num, left_num);
drivers/i2c/busses/i2c-mt65xx.c
1294
if (i2c->op == I2C_MASTER_WRRD)
drivers/i2c/busses/i2c-mt65xx.c
1303
clk_bulk_disable(I2C_MT65XX_CLK_MAX, i2c->clocks);
drivers/i2c/busses/i2c-mt65xx.c
1309
struct mtk_i2c *i2c = dev_id;
drivers/i2c/busses/i2c-mt65xx.c
1310
u16 restart_flag = i2c->auto_restart ? I2C_RS_TRANSFER : 0;
drivers/i2c/busses/i2c-mt65xx.c
1313
intr_stat = mtk_i2c_readw(i2c, OFFSET_INTR_STAT);
drivers/i2c/busses/i2c-mt65xx.c
1314
mtk_i2c_writew(i2c, intr_stat, OFFSET_INTR_STAT);
drivers/i2c/busses/i2c-mt65xx.c
1321
i2c->irq_stat |= intr_stat;
drivers/i2c/busses/i2c-mt65xx.c
1323
if (i2c->ignore_restart_irq && (i2c->irq_stat & restart_flag)) {
drivers/i2c/busses/i2c-mt65xx.c
1324
i2c->ignore_restart_irq = false;
drivers/i2c/busses/i2c-mt65xx.c
1325
i2c->irq_stat = 0;
drivers/i2c/busses/i2c-mt65xx.c
1326
mtk_i2c_writew(i2c, I2C_RS_MUL_CNFG | I2C_RS_MUL_TRIG |
drivers/i2c/busses/i2c-mt65xx.c
1329
if (i2c->irq_stat & (I2C_TRANSAC_COMP | restart_flag))
drivers/i2c/busses/i2c-mt65xx.c
1330
complete(&i2c->msg_complete);
drivers/i2c/busses/i2c-mt65xx.c
1350
static int mtk_i2c_parse_dt(struct device_node *np, struct mtk_i2c *i2c)
drivers/i2c/busses/i2c-mt65xx.c
1354
ret = of_property_read_u32(np, "clock-frequency", &i2c->speed_hz);
drivers/i2c/busses/i2c-mt65xx.c
1356
i2c->speed_hz = I2C_MAX_STANDARD_MODE_FREQ;
drivers/i2c/busses/i2c-mt65xx.c
1358
ret = of_property_read_u32(np, "clock-div", &i2c->clk_src_div);
drivers/i2c/busses/i2c-mt65xx.c
1362
if (i2c->clk_src_div == 0)
drivers/i2c/busses/i2c-mt65xx.c
1365
i2c->have_pmic = of_property_read_bool(np, "mediatek,have-pmic");
drivers/i2c/busses/i2c-mt65xx.c
1366
i2c->use_push_pull =
drivers/i2c/busses/i2c-mt65xx.c
1369
i2c_parse_fw_timings(i2c->dev, &i2c->timing_info, true);
drivers/i2c/busses/i2c-mt65xx.c
1377
struct mtk_i2c *i2c;
drivers/i2c/busses/i2c-mt65xx.c
1380
i2c = devm_kzalloc(&pdev->dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-mt65xx.c
1381
if (!i2c)
drivers/i2c/busses/i2c-mt65xx.c
1384
i2c->base = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
drivers/i2c/busses/i2c-mt65xx.c
1385
if (IS_ERR(i2c->base))
drivers/i2c/busses/i2c-mt65xx.c
1386
return PTR_ERR(i2c->base);
drivers/i2c/busses/i2c-mt65xx.c
1388
i2c->pdmabase = devm_platform_get_and_ioremap_resource(pdev, 1, NULL);
drivers/i2c/busses/i2c-mt65xx.c
1389
if (IS_ERR(i2c->pdmabase))
drivers/i2c/busses/i2c-mt65xx.c
1390
return PTR_ERR(i2c->pdmabase);
drivers/i2c/busses/i2c-mt65xx.c
1396
init_completion(&i2c->msg_complete);
drivers/i2c/busses/i2c-mt65xx.c
1398
i2c->dev_comp = of_device_get_match_data(&pdev->dev);
drivers/i2c/busses/i2c-mt65xx.c
1399
i2c->adap.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-mt65xx.c
1400
i2c->dev = &pdev->dev;
drivers/i2c/busses/i2c-mt65xx.c
1401
i2c->adap.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-mt65xx.c
1402
i2c->adap.owner = THIS_MODULE;
drivers/i2c/busses/i2c-mt65xx.c
1403
i2c->adap.algo = &mtk_i2c_algorithm;
drivers/i2c/busses/i2c-mt65xx.c
1404
i2c->adap.quirks = i2c->dev_comp->quirks;
drivers/i2c/busses/i2c-mt65xx.c
1405
i2c->adap.timeout = 2 * HZ;
drivers/i2c/busses/i2c-mt65xx.c
1406
i2c->adap.retries = 1;
drivers/i2c/busses/i2c-mt65xx.c
1407
i2c->adap.bus_regulator = devm_regulator_get_optional(&pdev->dev, "vbus");
drivers/i2c/busses/i2c-mt65xx.c
1408
if (IS_ERR(i2c->adap.bus_regulator)) {
drivers/i2c/busses/i2c-mt65xx.c
1409
if (PTR_ERR(i2c->adap.bus_regulator) == -ENODEV)
drivers/i2c/busses/i2c-mt65xx.c
1410
i2c->adap.bus_regulator = NULL;
drivers/i2c/busses/i2c-mt65xx.c
1412
return PTR_ERR(i2c->adap.bus_regulator);
drivers/i2c/busses/i2c-mt65xx.c
1415
ret = mtk_i2c_parse_dt(pdev->dev.of_node, i2c);
drivers/i2c/busses/i2c-mt65xx.c
1419
if (i2c->have_pmic && !i2c->dev_comp->pmic_i2c)
drivers/i2c/busses/i2c-mt65xx.c
1424
i2c->clocks[i].id = i2c_mt65xx_clk_ids[i];
drivers/i2c/busses/i2c-mt65xx.c
1427
i2c->clocks[I2C_MT65XX_CLK_MAIN].clk = devm_clk_get(&pdev->dev, "main");
drivers/i2c/busses/i2c-mt65xx.c
1428
if (IS_ERR(i2c->clocks[I2C_MT65XX_CLK_MAIN].clk)) {
drivers/i2c/busses/i2c-mt65xx.c
1430
return PTR_ERR(i2c->clocks[I2C_MT65XX_CLK_MAIN].clk);
drivers/i2c/busses/i2c-mt65xx.c
1433
i2c->clocks[I2C_MT65XX_CLK_DMA].clk = devm_clk_get(&pdev->dev, "dma");
drivers/i2c/busses/i2c-mt65xx.c
1434
if (IS_ERR(i2c->clocks[I2C_MT65XX_CLK_DMA].clk)) {
drivers/i2c/busses/i2c-mt65xx.c
1436
return PTR_ERR(i2c->clocks[I2C_MT65XX_CLK_DMA].clk);
drivers/i2c/busses/i2c-mt65xx.c
1439
i2c->clocks[I2C_MT65XX_CLK_ARB].clk = devm_clk_get_optional(&pdev->dev, "arb");
drivers/i2c/busses/i2c-mt65xx.c
1440
if (IS_ERR(i2c->clocks[I2C_MT65XX_CLK_ARB].clk))
drivers/i2c/busses/i2c-mt65xx.c
1441
return PTR_ERR(i2c->clocks[I2C_MT65XX_CLK_ARB].clk);
drivers/i2c/busses/i2c-mt65xx.c
1443
i2c->clocks[I2C_MT65XX_CLK_PMIC].clk = devm_clk_get_optional(&pdev->dev, "pmic");
drivers/i2c/busses/i2c-mt65xx.c
1444
if (IS_ERR(i2c->clocks[I2C_MT65XX_CLK_PMIC].clk)) {
drivers/i2c/busses/i2c-mt65xx.c
1446
return PTR_ERR(i2c->clocks[I2C_MT65XX_CLK_PMIC].clk);
drivers/i2c/busses/i2c-mt65xx.c
1449
if (i2c->have_pmic) {
drivers/i2c/busses/i2c-mt65xx.c
1450
if (!i2c->clocks[I2C_MT65XX_CLK_PMIC].clk) {
drivers/i2c/busses/i2c-mt65xx.c
1459
strscpy(i2c->adap.name, I2C_DRV_NAME, sizeof(i2c->adap.name));
drivers/i2c/busses/i2c-mt65xx.c
1461
mtk_i2c_set_speed(i2c, clk_get_rate(i2c->clocks[speed_clk].clk));
drivers/i2c/busses/i2c-mt65xx.c
1463
if (i2c->dev_comp->max_dma_support > 32) {
drivers/i2c/busses/i2c-mt65xx.c
1465
DMA_BIT_MASK(i2c->dev_comp->max_dma_support));
drivers/i2c/busses/i2c-mt65xx.c
1472
ret = clk_bulk_prepare_enable(I2C_MT65XX_CLK_MAX, i2c->clocks);
drivers/i2c/busses/i2c-mt65xx.c
1477
mtk_i2c_init_hw(i2c);
drivers/i2c/busses/i2c-mt65xx.c
1478
clk_bulk_disable(I2C_MT65XX_CLK_MAX, i2c->clocks);
drivers/i2c/busses/i2c-mt65xx.c
1482
dev_name(&pdev->dev), i2c);
drivers/i2c/busses/i2c-mt65xx.c
1489
i2c_set_adapdata(&i2c->adap, i2c);
drivers/i2c/busses/i2c-mt65xx.c
1490
ret = i2c_add_adapter(&i2c->adap);
drivers/i2c/busses/i2c-mt65xx.c
1494
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-mt65xx.c
1499
clk_bulk_unprepare(I2C_MT65XX_CLK_MAX, i2c->clocks);
drivers/i2c/busses/i2c-mt65xx.c
1506
struct mtk_i2c *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-mt65xx.c
1508
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-mt65xx.c
1510
clk_bulk_unprepare(I2C_MT65XX_CLK_MAX, i2c->clocks);
drivers/i2c/busses/i2c-mt65xx.c
1515
struct mtk_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-mt65xx.c
1517
i2c_mark_adapter_suspended(&i2c->adap);
drivers/i2c/busses/i2c-mt65xx.c
1518
clk_bulk_unprepare(I2C_MT65XX_CLK_MAX, i2c->clocks);
drivers/i2c/busses/i2c-mt65xx.c
1526
struct mtk_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-mt65xx.c
1528
ret = clk_bulk_prepare_enable(I2C_MT65XX_CLK_MAX, i2c->clocks);
drivers/i2c/busses/i2c-mt65xx.c
1534
mtk_i2c_init_hw(i2c);
drivers/i2c/busses/i2c-mt65xx.c
1536
clk_bulk_disable(I2C_MT65XX_CLK_MAX, i2c->clocks);
drivers/i2c/busses/i2c-mt65xx.c
1538
i2c_mark_adapter_resumed(&i2c->adap);
drivers/i2c/busses/i2c-mt65xx.c
542
static u16 mtk_i2c_readw(struct mtk_i2c *i2c, enum I2C_REGS_OFFSET reg)
drivers/i2c/busses/i2c-mt65xx.c
544
return readw(i2c->base + i2c->dev_comp->regs[reg]);
drivers/i2c/busses/i2c-mt65xx.c
547
static void mtk_i2c_writew(struct mtk_i2c *i2c, u16 val,
drivers/i2c/busses/i2c-mt65xx.c
550
writew(val, i2c->base + i2c->dev_comp->regs[reg]);
drivers/i2c/busses/i2c-mt65xx.c
553
static void mtk_i2c_init_hw(struct mtk_i2c *i2c)
drivers/i2c/busses/i2c-mt65xx.c
559
mtk_i2c_writew(i2c, I2C_CHN_CLR_FLAG, OFFSET_START);
drivers/i2c/busses/i2c-mt65xx.c
560
intr_stat_reg = mtk_i2c_readw(i2c, OFFSET_INTR_STAT);
drivers/i2c/busses/i2c-mt65xx.c
561
mtk_i2c_writew(i2c, intr_stat_reg, OFFSET_INTR_STAT);
drivers/i2c/busses/i2c-mt65xx.c
563
if (i2c->dev_comp->apdma_sync) {
drivers/i2c/busses/i2c-mt65xx.c
564
writel(I2C_DMA_WARM_RST, i2c->pdmabase + OFFSET_RST);
drivers/i2c/busses/i2c-mt65xx.c
566
writel(I2C_DMA_CLR_FLAG, i2c->pdmabase + OFFSET_RST);
drivers/i2c/busses/i2c-mt65xx.c
569
i2c->pdmabase + OFFSET_RST);
drivers/i2c/busses/i2c-mt65xx.c
570
mtk_i2c_writew(i2c, I2C_HANDSHAKE_RST | I2C_SOFT_RST,
drivers/i2c/busses/i2c-mt65xx.c
573
writel(I2C_DMA_CLR_FLAG, i2c->pdmabase + OFFSET_RST);
drivers/i2c/busses/i2c-mt65xx.c
574
mtk_i2c_writew(i2c, I2C_CHN_CLR_FLAG, OFFSET_SOFTRESET);
drivers/i2c/busses/i2c-mt65xx.c
576
writel(I2C_DMA_HARD_RST, i2c->pdmabase + OFFSET_RST);
drivers/i2c/busses/i2c-mt65xx.c
578
writel(I2C_DMA_CLR_FLAG, i2c->pdmabase + OFFSET_RST);
drivers/i2c/busses/i2c-mt65xx.c
579
mtk_i2c_writew(i2c, I2C_SOFT_RST, OFFSET_SOFTRESET);
drivers/i2c/busses/i2c-mt65xx.c
583
if (i2c->use_push_pull)
drivers/i2c/busses/i2c-mt65xx.c
584
mtk_i2c_writew(i2c, I2C_IO_CONFIG_PUSH_PULL, OFFSET_IO_CONFIG);
drivers/i2c/busses/i2c-mt65xx.c
586
mtk_i2c_writew(i2c, I2C_IO_CONFIG_OPEN_DRAIN, OFFSET_IO_CONFIG);
drivers/i2c/busses/i2c-mt65xx.c
588
if (i2c->dev_comp->dcm)
drivers/i2c/busses/i2c-mt65xx.c
589
mtk_i2c_writew(i2c, I2C_DCM_DISABLE, OFFSET_DCM_EN);
drivers/i2c/busses/i2c-mt65xx.c
591
mtk_i2c_writew(i2c, i2c->timing_reg, OFFSET_TIMING);
drivers/i2c/busses/i2c-mt65xx.c
592
mtk_i2c_writew(i2c, i2c->high_speed_reg, OFFSET_HS);
drivers/i2c/busses/i2c-mt65xx.c
593
if (i2c->dev_comp->ltiming_adjust)
drivers/i2c/busses/i2c-mt65xx.c
594
mtk_i2c_writew(i2c, i2c->ltiming_reg, OFFSET_LTIMING);
drivers/i2c/busses/i2c-mt65xx.c
596
if (i2c->speed_hz <= I2C_MAX_STANDARD_MODE_FREQ)
drivers/i2c/busses/i2c-mt65xx.c
601
if (i2c->dev_comp->timing_adjust) {
drivers/i2c/busses/i2c-mt65xx.c
602
ext_conf_val = i2c->ac_timing.ext;
drivers/i2c/busses/i2c-mt65xx.c
603
mtk_i2c_writew(i2c, i2c->ac_timing.inter_clk_div,
drivers/i2c/busses/i2c-mt65xx.c
605
mtk_i2c_writew(i2c, I2C_SCL_MIS_COMP_VALUE,
drivers/i2c/busses/i2c-mt65xx.c
607
mtk_i2c_writew(i2c, i2c->ac_timing.sda_timing,
drivers/i2c/busses/i2c-mt65xx.c
610
if (i2c->dev_comp->ltiming_adjust) {
drivers/i2c/busses/i2c-mt65xx.c
611
mtk_i2c_writew(i2c, i2c->ac_timing.htiming,
drivers/i2c/busses/i2c-mt65xx.c
613
mtk_i2c_writew(i2c, i2c->ac_timing.hs, OFFSET_HS);
drivers/i2c/busses/i2c-mt65xx.c
614
mtk_i2c_writew(i2c, i2c->ac_timing.ltiming,
drivers/i2c/busses/i2c-mt65xx.c
617
mtk_i2c_writew(i2c, i2c->ac_timing.scl_hl_ratio,
drivers/i2c/busses/i2c-mt65xx.c
619
mtk_i2c_writew(i2c, i2c->ac_timing.hs_scl_hl_ratio,
drivers/i2c/busses/i2c-mt65xx.c
621
mtk_i2c_writew(i2c, i2c->ac_timing.sta_stop,
drivers/i2c/busses/i2c-mt65xx.c
623
mtk_i2c_writew(i2c, i2c->ac_timing.hs_sta_stop,
drivers/i2c/busses/i2c-mt65xx.c
627
mtk_i2c_writew(i2c, ext_conf_val, OFFSET_EXT_CONF);
drivers/i2c/busses/i2c-mt65xx.c
630
if (i2c->have_pmic)
drivers/i2c/busses/i2c-mt65xx.c
631
mtk_i2c_writew(i2c, I2C_CONTROL_WRAPPER, OFFSET_PATH_DIR);
drivers/i2c/busses/i2c-mt65xx.c
635
if (i2c->dev_comp->dma_sync)
drivers/i2c/busses/i2c-mt65xx.c
638
mtk_i2c_writew(i2c, control_reg, OFFSET_CONTROL);
drivers/i2c/busses/i2c-mt65xx.c
639
mtk_i2c_writew(i2c, I2C_DELAY_LEN, OFFSET_DELAY_LEN);
drivers/i2c/busses/i2c-mt65xx.c
660
static int mtk_i2c_get_clk_div_restri(struct mtk_i2c *i2c,
drivers/i2c/busses/i2c-mt65xx.c
665
if (i2c->dev_comp->ltiming_adjust == 0)
drivers/i2c/busses/i2c-mt65xx.c
669
if (i2c->ac_timing.inter_clk_div == 0)
drivers/i2c/busses/i2c-mt65xx.c
674
if (i2c->ac_timing.inter_clk_div == 0)
drivers/i2c/busses/i2c-mt65xx.c
676
else if (i2c->ac_timing.inter_clk_div == 1)
drivers/i2c/busses/i2c-mt65xx.c
697
static int mtk_i2c_check_ac_timing(struct mtk_i2c *i2c,
drivers/i2c/busses/i2c-mt65xx.c
708
if (!i2c->dev_comp->timing_adjust)
drivers/i2c/busses/i2c-mt65xx.c
711
if (i2c->dev_comp->ltiming_adjust)
drivers/i2c/busses/i2c-mt65xx.c
717
if (i2c->dev_comp->ltiming_adjust)
drivers/i2c/busses/i2c-mt65xx.c
723
i2c->timing_info.scl_int_delay_ns, clk_ns);
drivers/i2c/busses/i2c-mt65xx.c
752
if (i2c->dev_comp->ltiming_adjust) {
drivers/i2c/busses/i2c-mt65xx.c
753
i2c->ac_timing.hs = I2C_TIME_DEFAULT_VALUE |
drivers/i2c/busses/i2c-mt65xx.c
755
i2c->ac_timing.ltiming &= ~GENMASK(15, 9);
drivers/i2c/busses/i2c-mt65xx.c
756
i2c->ac_timing.ltiming |= (sample_cnt << 12) |
drivers/i2c/busses/i2c-mt65xx.c
758
i2c->ac_timing.ext &= ~GENMASK(7, 1);
drivers/i2c/busses/i2c-mt65xx.c
759
i2c->ac_timing.ext |= (su_sta_cnt << 1) | (1 << 0);
drivers/i2c/busses/i2c-mt65xx.c
761
i2c->ac_timing.hs_scl_hl_ratio = (1 << 12) |
drivers/i2c/busses/i2c-mt65xx.c
763
i2c->ac_timing.hs_sta_stop = (su_sta_cnt << 8) |
drivers/i2c/busses/i2c-mt65xx.c
766
i2c->ac_timing.sda_timing &= ~GENMASK(11, 6);
drivers/i2c/busses/i2c-mt65xx.c
767
i2c->ac_timing.sda_timing |= (1 << 12) |
drivers/i2c/busses/i2c-mt65xx.c
770
if (i2c->dev_comp->ltiming_adjust) {
drivers/i2c/busses/i2c-mt65xx.c
771
i2c->ac_timing.htiming = (sample_cnt << 8) | (high_cnt);
drivers/i2c/busses/i2c-mt65xx.c
772
i2c->ac_timing.ltiming = (sample_cnt << 6) | (low_cnt);
drivers/i2c/busses/i2c-mt65xx.c
773
i2c->ac_timing.ext = (su_sta_cnt << 8) | (1 << 0);
drivers/i2c/busses/i2c-mt65xx.c
775
i2c->ac_timing.scl_hl_ratio = (1 << 12) |
drivers/i2c/busses/i2c-mt65xx.c
777
i2c->ac_timing.sta_stop = (su_sta_cnt << 8) |
drivers/i2c/busses/i2c-mt65xx.c
781
i2c->ac_timing.sda_timing = (1 << 12) |
drivers/i2c/busses/i2c-mt65xx.c
799
static int mtk_i2c_calculate_speed(struct mtk_i2c *i2c, unsigned int clk_src,
drivers/i2c/busses/i2c-mt65xx.c
831
clk_div_restri = mtk_i2c_get_clk_div_restri(i2c, sample_cnt);
drivers/i2c/busses/i2c-mt65xx.c
838
ret = mtk_i2c_check_ac_timing(i2c, clk_src,
drivers/i2c/busses/i2c-mt65xx.c
862
dev_dbg(i2c->dev, "Unsupported speed (%uhz)\n", target_speed);
drivers/i2c/busses/i2c-mt65xx.c
872
static void mtk_i2c_set_speed(struct mtk_i2c *i2c, unsigned int parent_clk)
drivers/i2c/busses/i2c-mt65xx.c
884
target_speed = i2c->speed_hz;
drivers/i2c/busses/i2c-mt65xx.c
885
parent_clk /= i2c->clk_src_div;
drivers/i2c/busses/i2c-mt65xx.c
887
if (i2c->dev_comp->timing_adjust && i2c->dev_comp->ltiming_adjust)
drivers/i2c/busses/i2c-mt65xx.c
889
else if (i2c->dev_comp->timing_adjust)
drivers/i2c/busses/i2c-mt65xx.c
896
i2c->ac_timing.inter_clk_div = clk_div - 1;
drivers/i2c/busses/i2c-mt65xx.c
900
ret = mtk_i2c_calculate_speed(i2c, clk_src,
drivers/i2c/busses/i2c-mt65xx.c
907
i2c->timing_reg = (l_sample_cnt << 8) | l_step_cnt;
drivers/i2c/busses/i2c-mt65xx.c
910
ret = mtk_i2c_calculate_speed(i2c, clk_src,
drivers/i2c/busses/i2c-mt65xx.c
916
i2c->high_speed_reg = I2C_TIME_DEFAULT_VALUE |
drivers/i2c/busses/i2c-mt65xx.c
919
if (i2c->dev_comp->ltiming_adjust)
drivers/i2c/busses/i2c-mt65xx.c
920
i2c->ltiming_reg =
drivers/i2c/busses/i2c-mt65xx.c
924
ret = mtk_i2c_calculate_speed(i2c, clk_src,
drivers/i2c/busses/i2c-mt65xx.c
930
i2c->timing_reg = (l_sample_cnt << 8) | l_step_cnt;
drivers/i2c/busses/i2c-mt65xx.c
933
i2c->high_speed_reg = I2C_TIME_CLR_VALUE;
drivers/i2c/busses/i2c-mt65xx.c
935
if (i2c->dev_comp->ltiming_adjust)
drivers/i2c/busses/i2c-mt65xx.c
936
i2c->ltiming_reg =
drivers/i2c/busses/i2c-mt65xx.c
944
static void i2c_dump_register(struct mtk_i2c *i2c)
drivers/i2c/busses/i2c-mt65xx.c
946
dev_dbg(i2c->dev, "SLAVE_ADDR: 0x%x, INTR_MASK: 0x%x\n",
drivers/i2c/busses/i2c-mt65xx.c
947
mtk_i2c_readw(i2c, OFFSET_SLAVE_ADDR),
drivers/i2c/busses/i2c-mt65xx.c
948
mtk_i2c_readw(i2c, OFFSET_INTR_MASK));
drivers/i2c/busses/i2c-mt65xx.c
949
dev_dbg(i2c->dev, "INTR_STAT: 0x%x, CONTROL: 0x%x\n",
drivers/i2c/busses/i2c-mt65xx.c
950
mtk_i2c_readw(i2c, OFFSET_INTR_STAT),
drivers/i2c/busses/i2c-mt65xx.c
951
mtk_i2c_readw(i2c, OFFSET_CONTROL));
drivers/i2c/busses/i2c-mt65xx.c
952
dev_dbg(i2c->dev, "TRANSFER_LEN: 0x%x, TRANSAC_LEN: 0x%x\n",
drivers/i2c/busses/i2c-mt65xx.c
953
mtk_i2c_readw(i2c, OFFSET_TRANSFER_LEN),
drivers/i2c/busses/i2c-mt65xx.c
954
mtk_i2c_readw(i2c, OFFSET_TRANSAC_LEN));
drivers/i2c/busses/i2c-mt65xx.c
955
dev_dbg(i2c->dev, "DELAY_LEN: 0x%x, HTIMING: 0x%x\n",
drivers/i2c/busses/i2c-mt65xx.c
956
mtk_i2c_readw(i2c, OFFSET_DELAY_LEN),
drivers/i2c/busses/i2c-mt65xx.c
957
mtk_i2c_readw(i2c, OFFSET_TIMING));
drivers/i2c/busses/i2c-mt65xx.c
958
dev_dbg(i2c->dev, "START: 0x%x, EXT_CONF: 0x%x\n",
drivers/i2c/busses/i2c-mt65xx.c
959
mtk_i2c_readw(i2c, OFFSET_START),
drivers/i2c/busses/i2c-mt65xx.c
960
mtk_i2c_readw(i2c, OFFSET_EXT_CONF));
drivers/i2c/busses/i2c-mt65xx.c
961
dev_dbg(i2c->dev, "HS: 0x%x, IO_CONFIG: 0x%x\n",
drivers/i2c/busses/i2c-mt65xx.c
962
mtk_i2c_readw(i2c, OFFSET_HS),
drivers/i2c/busses/i2c-mt65xx.c
963
mtk_i2c_readw(i2c, OFFSET_IO_CONFIG));
drivers/i2c/busses/i2c-mt65xx.c
964
dev_dbg(i2c->dev, "DCM_EN: 0x%x, TRANSFER_LEN_AUX: 0x%x\n",
drivers/i2c/busses/i2c-mt65xx.c
965
mtk_i2c_readw(i2c, OFFSET_DCM_EN),
drivers/i2c/busses/i2c-mt65xx.c
966
mtk_i2c_readw(i2c, OFFSET_TRANSFER_LEN_AUX));
drivers/i2c/busses/i2c-mt65xx.c
967
dev_dbg(i2c->dev, "CLOCK_DIV: 0x%x, FIFO_STAT: 0x%x\n",
drivers/i2c/busses/i2c-mt65xx.c
968
mtk_i2c_readw(i2c, OFFSET_CLOCK_DIV),
drivers/i2c/busses/i2c-mt65xx.c
969
mtk_i2c_readw(i2c, OFFSET_FIFO_STAT));
drivers/i2c/busses/i2c-mt65xx.c
970
dev_dbg(i2c->dev, "DEBUGCTRL : 0x%x, DEBUGSTAT: 0x%x\n",
drivers/i2c/busses/i2c-mt65xx.c
971
mtk_i2c_readw(i2c, OFFSET_DEBUGCTRL),
drivers/i2c/busses/i2c-mt65xx.c
972
mtk_i2c_readw(i2c, OFFSET_DEBUGSTAT));
drivers/i2c/busses/i2c-mt65xx.c
973
if (i2c->dev_comp->regs == mt_i2c_regs_v2) {
drivers/i2c/busses/i2c-mt65xx.c
974
dev_dbg(i2c->dev, "LTIMING: 0x%x, MULTI_DMA: 0x%x\n",
drivers/i2c/busses/i2c-mt65xx.c
975
mtk_i2c_readw(i2c, OFFSET_LTIMING),
drivers/i2c/busses/i2c-mt65xx.c
976
mtk_i2c_readw(i2c, OFFSET_MULTI_DMA));
drivers/i2c/busses/i2c-mt65xx.c
978
dev_dbg(i2c->dev, "\nDMA_INT_FLAG: 0x%x, DMA_INT_EN: 0x%x\n",
drivers/i2c/busses/i2c-mt65xx.c
979
readl(i2c->pdmabase + OFFSET_INT_FLAG),
drivers/i2c/busses/i2c-mt65xx.c
980
readl(i2c->pdmabase + OFFSET_INT_EN));
drivers/i2c/busses/i2c-mt65xx.c
981
dev_dbg(i2c->dev, "DMA_EN: 0x%x, DMA_CON: 0x%x\n",
drivers/i2c/busses/i2c-mt65xx.c
982
readl(i2c->pdmabase + OFFSET_EN),
drivers/i2c/busses/i2c-mt65xx.c
983
readl(i2c->pdmabase + OFFSET_CON));
drivers/i2c/busses/i2c-mt65xx.c
984
dev_dbg(i2c->dev, "DMA_TX_MEM_ADDR: 0x%x, DMA_RX_MEM_ADDR: 0x%x\n",
drivers/i2c/busses/i2c-mt65xx.c
985
readl(i2c->pdmabase + OFFSET_TX_MEM_ADDR),
drivers/i2c/busses/i2c-mt65xx.c
986
readl(i2c->pdmabase + OFFSET_RX_MEM_ADDR));
drivers/i2c/busses/i2c-mt65xx.c
987
dev_dbg(i2c->dev, "DMA_TX_LEN: 0x%x, DMA_RX_LEN: 0x%x\n",
drivers/i2c/busses/i2c-mt65xx.c
988
readl(i2c->pdmabase + OFFSET_TX_LEN),
drivers/i2c/busses/i2c-mt65xx.c
989
readl(i2c->pdmabase + OFFSET_RX_LEN));
drivers/i2c/busses/i2c-mt65xx.c
990
dev_dbg(i2c->dev, "DMA_TX_4G_MODE: 0x%x, DMA_RX_4G_MODE: 0x%x",
drivers/i2c/busses/i2c-mt65xx.c
991
readl(i2c->pdmabase + OFFSET_TX_4G_MODE),
drivers/i2c/busses/i2c-mt65xx.c
992
readl(i2c->pdmabase + OFFSET_RX_4G_MODE));
drivers/i2c/busses/i2c-mt65xx.c
995
static int mtk_i2c_do_transfer(struct mtk_i2c *i2c, struct i2c_msg *msgs,
drivers/i2c/busses/i2c-mt7621.c
101
static void mtk_i2c_dump_reg(struct mtk_i2c *i2c)
drivers/i2c/busses/i2c-mt7621.c
103
dev_dbg(i2c->dev,
drivers/i2c/busses/i2c-mt7621.c
105
ioread32(i2c->base + REG_SM0CFG2_REG),
drivers/i2c/busses/i2c-mt7621.c
106
ioread32(i2c->base + REG_SM0CTL0_REG),
drivers/i2c/busses/i2c-mt7621.c
107
ioread32(i2c->base + REG_SM0CTL1_REG),
drivers/i2c/busses/i2c-mt7621.c
108
ioread32(i2c->base + REG_SM0D0_REG),
drivers/i2c/busses/i2c-mt7621.c
109
ioread32(i2c->base + REG_SM0D1_REG));
drivers/i2c/busses/i2c-mt7621.c
112
static int mtk_i2c_check_ack(struct mtk_i2c *i2c, u32 expected)
drivers/i2c/busses/i2c-mt7621.c
114
u32 ack = readl_relaxed(i2c->base + REG_SM0CTL1_REG);
drivers/i2c/busses/i2c-mt7621.c
120
static int mtk_i2c_start(struct mtk_i2c *i2c)
drivers/i2c/busses/i2c-mt7621.c
122
iowrite32(SM0CTL1_START | SM0CTL1_TRI, i2c->base + REG_SM0CTL1_REG);
drivers/i2c/busses/i2c-mt7621.c
123
return mtk_i2c_wait_idle(i2c);
drivers/i2c/busses/i2c-mt7621.c
126
static int mtk_i2c_stop(struct mtk_i2c *i2c)
drivers/i2c/busses/i2c-mt7621.c
128
iowrite32(SM0CTL1_STOP | SM0CTL1_TRI, i2c->base + REG_SM0CTL1_REG);
drivers/i2c/busses/i2c-mt7621.c
129
return mtk_i2c_wait_idle(i2c);
drivers/i2c/busses/i2c-mt7621.c
132
static int mtk_i2c_cmd(struct mtk_i2c *i2c, u32 cmd, int page_len)
drivers/i2c/busses/i2c-mt7621.c
135
i2c->base + REG_SM0CTL1_REG);
drivers/i2c/busses/i2c-mt7621.c
136
return mtk_i2c_wait_idle(i2c);
drivers/i2c/busses/i2c-mt7621.c
142
struct mtk_i2c *i2c;
drivers/i2c/busses/i2c-mt7621.c
149
i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-mt7621.c
155
ret = mtk_i2c_wait_idle(i2c);
drivers/i2c/busses/i2c-mt7621.c
160
ret = mtk_i2c_start(i2c);
drivers/i2c/busses/i2c-mt7621.c
175
iowrite32(addr, i2c->base + REG_SM0D0_REG);
drivers/i2c/busses/i2c-mt7621.c
176
ret = mtk_i2c_cmd(i2c, SM0CTL1_WRITE, len);
drivers/i2c/busses/i2c-mt7621.c
182
ret = mtk_i2c_check_ack(i2c, BIT(0));
drivers/i2c/busses/i2c-mt7621.c
196
iowrite32(data[0], i2c->base + REG_SM0D0_REG);
drivers/i2c/busses/i2c-mt7621.c
197
iowrite32(data[1], i2c->base + REG_SM0D1_REG);
drivers/i2c/busses/i2c-mt7621.c
201
ret = mtk_i2c_cmd(i2c, cmd, page_len);
drivers/i2c/busses/i2c-mt7621.c
206
data[0] = ioread32(i2c->base + REG_SM0D0_REG);
drivers/i2c/busses/i2c-mt7621.c
207
data[1] = ioread32(i2c->base + REG_SM0D1_REG);
drivers/i2c/busses/i2c-mt7621.c
211
ret = mtk_i2c_check_ack(i2c,
drivers/i2c/busses/i2c-mt7621.c
221
ret = mtk_i2c_stop(i2c);
drivers/i2c/busses/i2c-mt7621.c
229
ret = mtk_i2c_stop(i2c);
drivers/i2c/busses/i2c-mt7621.c
235
mtk_i2c_dump_reg(i2c);
drivers/i2c/busses/i2c-mt7621.c
236
mtk_i2c_reset(i2c);
drivers/i2c/busses/i2c-mt7621.c
257
static void mtk_i2c_init(struct mtk_i2c *i2c)
drivers/i2c/busses/i2c-mt7621.c
259
i2c->clk_div = clk_get_rate(i2c->clk) / i2c->bus_freq - 1;
drivers/i2c/busses/i2c-mt7621.c
260
if (i2c->clk_div < 99)
drivers/i2c/busses/i2c-mt7621.c
261
i2c->clk_div = 99;
drivers/i2c/busses/i2c-mt7621.c
262
if (i2c->clk_div > SM0CTL0_CLK_DIV_MAX)
drivers/i2c/busses/i2c-mt7621.c
263
i2c->clk_div = SM0CTL0_CLK_DIV_MAX;
drivers/i2c/busses/i2c-mt7621.c
265
mtk_i2c_reset(i2c);
drivers/i2c/busses/i2c-mt7621.c
270
struct mtk_i2c *i2c;
drivers/i2c/busses/i2c-mt7621.c
274
i2c = devm_kzalloc(&pdev->dev, sizeof(struct mtk_i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-mt7621.c
275
if (!i2c)
drivers/i2c/busses/i2c-mt7621.c
278
i2c->base = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
drivers/i2c/busses/i2c-mt7621.c
279
if (IS_ERR(i2c->base))
drivers/i2c/busses/i2c-mt7621.c
280
return PTR_ERR(i2c->base);
drivers/i2c/busses/i2c-mt7621.c
282
i2c->clk = devm_clk_get_enabled(&pdev->dev, NULL);
drivers/i2c/busses/i2c-mt7621.c
283
if (IS_ERR(i2c->clk)) {
drivers/i2c/busses/i2c-mt7621.c
285
return PTR_ERR(i2c->clk);
drivers/i2c/busses/i2c-mt7621.c
288
i2c->dev = &pdev->dev;
drivers/i2c/busses/i2c-mt7621.c
291
&i2c->bus_freq))
drivers/i2c/busses/i2c-mt7621.c
292
i2c->bus_freq = I2C_MAX_STANDARD_MODE_FREQ;
drivers/i2c/busses/i2c-mt7621.c
294
if (i2c->bus_freq == 0) {
drivers/i2c/busses/i2c-mt7621.c
295
dev_warn(i2c->dev, "clock-frequency 0 not supported\n");
drivers/i2c/busses/i2c-mt7621.c
299
adap = &i2c->adap;
drivers/i2c/busses/i2c-mt7621.c
304
i2c_set_adapdata(adap, i2c);
drivers/i2c/busses/i2c-mt7621.c
308
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-mt7621.c
310
mtk_i2c_init(i2c);
drivers/i2c/busses/i2c-mt7621.c
316
dev_info(&pdev->dev, "clock %u kHz\n", i2c->bus_freq / 1000);
drivers/i2c/busses/i2c-mt7621.c
323
struct mtk_i2c *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-mt7621.c
325
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-mt7621.c
70
static int mtk_i2c_wait_idle(struct mtk_i2c *i2c)
drivers/i2c/busses/i2c-mt7621.c
75
ret = readl_relaxed_poll_timeout(i2c->base + REG_SM0CTL1_REG,
drivers/i2c/busses/i2c-mt7621.c
79
dev_dbg(i2c->dev, "idle err(%d)\n", ret);
drivers/i2c/busses/i2c-mt7621.c
84
static void mtk_i2c_reset(struct mtk_i2c *i2c)
drivers/i2c/busses/i2c-mt7621.c
88
ret = device_reset(i2c->adap.dev.parent);
drivers/i2c/busses/i2c-mt7621.c
90
dev_err(i2c->dev, "I2C reset failed!\n");
drivers/i2c/busses/i2c-mt7621.c
96
iowrite32(((i2c->clk_div << 16) & SM0CTL0_CLK_DIV_MASK) | SM0CTL0_EN |
drivers/i2c/busses/i2c-mt7621.c
97
SM0CTL0_SCL_STRETCH, i2c->base + REG_SM0CTL0_REG);
drivers/i2c/busses/i2c-mt7621.c
98
iowrite32(0, i2c->base + REG_SM0CFG2_REG);
drivers/i2c/busses/i2c-mxs.c
132
static int mxs_i2c_reset(struct mxs_i2c_dev *i2c)
drivers/i2c/busses/i2c-mxs.c
134
int ret = stmp_reset_block(i2c->regs);
drivers/i2c/busses/i2c-mxs.c
145
writel(i2c->timing0, i2c->regs + MXS_I2C_TIMING0);
drivers/i2c/busses/i2c-mxs.c
146
writel(i2c->timing1, i2c->regs + MXS_I2C_TIMING1);
drivers/i2c/busses/i2c-mxs.c
147
writel(i2c->timing2, i2c->regs + MXS_I2C_TIMING2);
drivers/i2c/busses/i2c-mxs.c
149
writel(MXS_I2C_IRQ_MASK << 8, i2c->regs + MXS_I2C_CTRL1_SET);
drivers/i2c/busses/i2c-mxs.c
154
static void mxs_i2c_dma_finish(struct mxs_i2c_dev *i2c)
drivers/i2c/busses/i2c-mxs.c
156
if (i2c->dma_read) {
drivers/i2c/busses/i2c-mxs.c
157
dma_unmap_sg(i2c->dev, &i2c->sg_io[0], 1, DMA_TO_DEVICE);
drivers/i2c/busses/i2c-mxs.c
158
dma_unmap_sg(i2c->dev, &i2c->sg_io[1], 1, DMA_FROM_DEVICE);
drivers/i2c/busses/i2c-mxs.c
160
dma_unmap_sg(i2c->dev, i2c->sg_io, 2, DMA_TO_DEVICE);
drivers/i2c/busses/i2c-mxs.c
166
struct mxs_i2c_dev *i2c = param;
drivers/i2c/busses/i2c-mxs.c
168
complete(&i2c->cmd_complete);
drivers/i2c/busses/i2c-mxs.c
169
mxs_i2c_dma_finish(i2c);
drivers/i2c/busses/i2c-mxs.c
176
struct mxs_i2c_dev *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-mxs.c
178
i2c->addr_data = i2c_8bit_addr_from_msg(msg);
drivers/i2c/busses/i2c-mxs.c
181
i2c->dma_read = true;
drivers/i2c/busses/i2c-mxs.c
188
i2c->pio_data[0] = MXS_CMD_I2C_SELECT;
drivers/i2c/busses/i2c-mxs.c
189
desc = dmaengine_prep_slave_sg(i2c->dmach,
drivers/i2c/busses/i2c-mxs.c
190
(struct scatterlist *)&i2c->pio_data[0],
drivers/i2c/busses/i2c-mxs.c
193
dev_err(i2c->dev,
drivers/i2c/busses/i2c-mxs.c
199
sg_init_one(&i2c->sg_io[0], &i2c->addr_data, 1);
drivers/i2c/busses/i2c-mxs.c
200
dma_map_sg(i2c->dev, &i2c->sg_io[0], 1, DMA_TO_DEVICE);
drivers/i2c/busses/i2c-mxs.c
201
desc = dmaengine_prep_slave_sg(i2c->dmach, &i2c->sg_io[0], 1,
drivers/i2c/busses/i2c-mxs.c
206
dev_err(i2c->dev,
drivers/i2c/busses/i2c-mxs.c
216
i2c->pio_data[1] = flags | MXS_CMD_I2C_READ |
drivers/i2c/busses/i2c-mxs.c
218
desc = dmaengine_prep_slave_sg(i2c->dmach,
drivers/i2c/busses/i2c-mxs.c
219
(struct scatterlist *)&i2c->pio_data[1],
drivers/i2c/busses/i2c-mxs.c
222
dev_err(i2c->dev,
drivers/i2c/busses/i2c-mxs.c
228
sg_init_one(&i2c->sg_io[1], buf, msg->len);
drivers/i2c/busses/i2c-mxs.c
229
dma_map_sg(i2c->dev, &i2c->sg_io[1], 1, DMA_FROM_DEVICE);
drivers/i2c/busses/i2c-mxs.c
230
desc = dmaengine_prep_slave_sg(i2c->dmach, &i2c->sg_io[1], 1,
drivers/i2c/busses/i2c-mxs.c
235
dev_err(i2c->dev,
drivers/i2c/busses/i2c-mxs.c
240
i2c->dma_read = false;
drivers/i2c/busses/i2c-mxs.c
247
i2c->pio_data[0] = flags | MXS_CMD_I2C_WRITE |
drivers/i2c/busses/i2c-mxs.c
249
desc = dmaengine_prep_slave_sg(i2c->dmach,
drivers/i2c/busses/i2c-mxs.c
250
(struct scatterlist *)&i2c->pio_data[0],
drivers/i2c/busses/i2c-mxs.c
253
dev_err(i2c->dev,
drivers/i2c/busses/i2c-mxs.c
259
sg_init_table(i2c->sg_io, 2);
drivers/i2c/busses/i2c-mxs.c
260
sg_set_buf(&i2c->sg_io[0], &i2c->addr_data, 1);
drivers/i2c/busses/i2c-mxs.c
261
sg_set_buf(&i2c->sg_io[1], buf, msg->len);
drivers/i2c/busses/i2c-mxs.c
262
dma_map_sg(i2c->dev, i2c->sg_io, 2, DMA_TO_DEVICE);
drivers/i2c/busses/i2c-mxs.c
263
desc = dmaengine_prep_slave_sg(i2c->dmach, i2c->sg_io, 2,
drivers/i2c/busses/i2c-mxs.c
268
dev_err(i2c->dev,
drivers/i2c/busses/i2c-mxs.c
279
desc->callback_param = i2c;
drivers/i2c/busses/i2c-mxs.c
283
dma_async_issue_pending(i2c->dmach);
drivers/i2c/busses/i2c-mxs.c
288
dma_unmap_sg(i2c->dev, &i2c->sg_io[1], 1, DMA_FROM_DEVICE);
drivers/i2c/busses/i2c-mxs.c
290
dma_unmap_sg(i2c->dev, &i2c->sg_io[0], 1, DMA_TO_DEVICE);
drivers/i2c/busses/i2c-mxs.c
292
dmaengine_terminate_sync(i2c->dmach);
drivers/i2c/busses/i2c-mxs.c
297
dma_unmap_sg(i2c->dev, i2c->sg_io, 2, DMA_TO_DEVICE);
drivers/i2c/busses/i2c-mxs.c
299
dmaengine_terminate_sync(i2c->dmach);
drivers/i2c/busses/i2c-mxs.c
303
static int mxs_i2c_pio_wait_xfer_end(struct mxs_i2c_dev *i2c)
drivers/i2c/busses/i2c-mxs.c
307
while (readl(i2c->regs + MXS_I2C_CTRL0) & MXS_I2C_CTRL0_RUN) {
drivers/i2c/busses/i2c-mxs.c
308
if (readl(i2c->regs + MXS_I2C_CTRL1) &
drivers/i2c/busses/i2c-mxs.c
319
static int mxs_i2c_pio_check_error_state(struct mxs_i2c_dev *i2c)
drivers/i2c/busses/i2c-mxs.c
323
state = readl(i2c->regs + MXS_I2C_CTRL1_CLR) & MXS_I2C_IRQ_MASK;
drivers/i2c/busses/i2c-mxs.c
326
i2c->cmd_err = -ENXIO;
drivers/i2c/busses/i2c-mxs.c
331
i2c->cmd_err = -EIO;
drivers/i2c/busses/i2c-mxs.c
333
return i2c->cmd_err;
drivers/i2c/busses/i2c-mxs.c
336
static void mxs_i2c_pio_trigger_cmd(struct mxs_i2c_dev *i2c, u32 cmd)
drivers/i2c/busses/i2c-mxs.c
340
writel(cmd, i2c->regs + MXS_I2C_CTRL0);
drivers/i2c/busses/i2c-mxs.c
343
reg = readl(i2c->regs + MXS_I2C_CTRL0);
drivers/i2c/busses/i2c-mxs.c
345
writel(reg, i2c->regs + MXS_I2C_CTRL0);
drivers/i2c/busses/i2c-mxs.c
356
static void mxs_i2c_pio_trigger_write_cmd(struct mxs_i2c_dev *i2c, u32 cmd,
drivers/i2c/busses/i2c-mxs.c
359
writel(cmd, i2c->regs + MXS_I2C_CTRL0);
drivers/i2c/busses/i2c-mxs.c
361
if (i2c->dev_type == MXS_I2C_V1)
drivers/i2c/busses/i2c-mxs.c
362
writel(MXS_I2C_CTRL0_PIO_MODE, i2c->regs + MXS_I2C_CTRL0_SET);
drivers/i2c/busses/i2c-mxs.c
364
writel(data, i2c->regs + MXS_I2C_DATA(i2c));
drivers/i2c/busses/i2c-mxs.c
365
writel(MXS_I2C_CTRL0_RUN, i2c->regs + MXS_I2C_CTRL0_SET);
drivers/i2c/busses/i2c-mxs.c
371
struct mxs_i2c_dev *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-mxs.c
378
writel(MXS_I2C_IRQ_MASK << 8, i2c->regs + MXS_I2C_CTRL1_CLR);
drivers/i2c/busses/i2c-mxs.c
413
mxs_i2c_pio_trigger_write_cmd(i2c, MXS_CMD_I2C_SELECT,
drivers/i2c/busses/i2c-mxs.c
416
ret = mxs_i2c_pio_wait_xfer_end(i2c);
drivers/i2c/busses/i2c-mxs.c
418
dev_dbg(i2c->dev,
drivers/i2c/busses/i2c-mxs.c
424
mxs_i2c_pio_trigger_cmd(i2c,
drivers/i2c/busses/i2c-mxs.c
428
ret = mxs_i2c_pio_wait_xfer_end(i2c);
drivers/i2c/busses/i2c-mxs.c
430
dev_dbg(i2c->dev,
drivers/i2c/busses/i2c-mxs.c
435
data = readl(i2c->regs + MXS_I2C_DATA(i2c));
drivers/i2c/busses/i2c-mxs.c
505
dev_dbg(i2c->dev,
drivers/i2c/busses/i2c-mxs.c
513
i2c->regs + MXS_I2C_DEBUG0_CLR(i2c));
drivers/i2c/busses/i2c-mxs.c
515
mxs_i2c_pio_trigger_write_cmd(i2c,
drivers/i2c/busses/i2c-mxs.c
524
ret = mxs_i2c_pio_wait_xfer_end(i2c);
drivers/i2c/busses/i2c-mxs.c
526
dev_dbg(i2c->dev,
drivers/i2c/busses/i2c-mxs.c
532
ret = readl(i2c->regs + MXS_I2C_STAT) &
drivers/i2c/busses/i2c-mxs.c
542
ret = mxs_i2c_pio_check_error_state(i2c);
drivers/i2c/busses/i2c-mxs.c
546
writel(MXS_I2C_IRQ_MASK, i2c->regs + MXS_I2C_CTRL1_CLR);
drivers/i2c/busses/i2c-mxs.c
547
writel(MXS_I2C_IRQ_MASK << 8, i2c->regs + MXS_I2C_CTRL1_SET);
drivers/i2c/busses/i2c-mxs.c
550
if (i2c->dev_type == MXS_I2C_V1)
drivers/i2c/busses/i2c-mxs.c
551
writel(MXS_I2C_CTRL0_PIO_MODE, i2c->regs + MXS_I2C_CTRL0_CLR);
drivers/i2c/busses/i2c-mxs.c
562
struct mxs_i2c_dev *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-mxs.c
571
dev_dbg(i2c->dev, "addr: 0x%04x, len: %d, flags: 0x%x, stop: %d\n",
drivers/i2c/busses/i2c-mxs.c
584
i2c->cmd_err = 0;
drivers/i2c/busses/i2c-mxs.c
589
mxs_i2c_reset(i2c);
drivers/i2c/busses/i2c-mxs.c
595
reinit_completion(&i2c->cmd_complete);
drivers/i2c/busses/i2c-mxs.c
602
time_left = wait_for_completion_timeout(&i2c->cmd_complete,
drivers/i2c/busses/i2c-mxs.c
608
ret = i2c->cmd_err;
drivers/i2c/busses/i2c-mxs.c
617
i2c->regs + MXS_I2C_CTRL1_SET);
drivers/i2c/busses/i2c-mxs.c
631
if (i2c->dev_type == MXS_I2C_V1)
drivers/i2c/busses/i2c-mxs.c
632
mxs_i2c_reset(i2c);
drivers/i2c/busses/i2c-mxs.c
634
dev_dbg(i2c->dev, "Done with err=%d\n", ret);
drivers/i2c/busses/i2c-mxs.c
639
dev_dbg(i2c->dev, "Timeout!\n");
drivers/i2c/busses/i2c-mxs.c
640
mxs_i2c_dma_finish(i2c);
drivers/i2c/busses/i2c-mxs.c
641
ret = mxs_i2c_reset(i2c);
drivers/i2c/busses/i2c-mxs.c
670
struct mxs_i2c_dev *i2c = dev_id;
drivers/i2c/busses/i2c-mxs.c
671
u32 stat = readl(i2c->regs + MXS_I2C_CTRL1) & MXS_I2C_IRQ_MASK;
drivers/i2c/busses/i2c-mxs.c
677
i2c->cmd_err = -ENXIO;
drivers/i2c/busses/i2c-mxs.c
682
i2c->cmd_err = -EIO;
drivers/i2c/busses/i2c-mxs.c
684
writel(stat, i2c->regs + MXS_I2C_CTRL1_CLR);
drivers/i2c/busses/i2c-mxs.c
69
#define MXS_I2C_DATA(i2c) ((i2c->dev_type == MXS_I2C_V1) ? 0x60 : 0xa0)
drivers/i2c/busses/i2c-mxs.c
698
static void mxs_i2c_derive_timing(struct mxs_i2c_dev *i2c, uint32_t speed)
drivers/i2c/busses/i2c-mxs.c
705
struct device *dev = i2c->dev;
drivers/i2c/busses/i2c-mxs.c
71
#define MXS_I2C_DEBUG0_CLR(i2c) ((i2c->dev_type == MXS_I2C_V1) ? 0x78 : 0xb8)
drivers/i2c/busses/i2c-mxs.c
768
i2c->timing0 = (high_count << 16) | rcv_count;
drivers/i2c/busses/i2c-mxs.c
769
i2c->timing1 = (low_count << 16) | xmit_count;
drivers/i2c/busses/i2c-mxs.c
770
i2c->timing2 = (bus_free << 16 | leadin);
drivers/i2c/busses/i2c-mxs.c
773
static int mxs_i2c_get_ofdata(struct mxs_i2c_dev *i2c)
drivers/i2c/busses/i2c-mxs.c
776
struct device *dev = i2c->dev;
drivers/i2c/busses/i2c-mxs.c
786
mxs_i2c_derive_timing(i2c, speed);
drivers/i2c/busses/i2c-mxs.c
801
struct mxs_i2c_dev *i2c;
drivers/i2c/busses/i2c-mxs.c
805
i2c = devm_kzalloc(dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-mxs.c
806
if (!i2c)
drivers/i2c/busses/i2c-mxs.c
809
i2c->dev_type = (uintptr_t)of_device_get_match_data(&pdev->dev);
drivers/i2c/busses/i2c-mxs.c
811
i2c->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/i2c/busses/i2c-mxs.c
812
if (IS_ERR(i2c->regs))
drivers/i2c/busses/i2c-mxs.c
813
return PTR_ERR(i2c->regs);
drivers/i2c/busses/i2c-mxs.c
819
err = devm_request_irq(dev, irq, mxs_i2c_isr, 0, dev_name(dev), i2c);
drivers/i2c/busses/i2c-mxs.c
823
i2c->dev = dev;
drivers/i2c/busses/i2c-mxs.c
825
init_completion(&i2c->cmd_complete);
drivers/i2c/busses/i2c-mxs.c
828
err = mxs_i2c_get_ofdata(i2c);
drivers/i2c/busses/i2c-mxs.c
834
i2c->dmach = dma_request_chan(dev, "rx-tx");
drivers/i2c/busses/i2c-mxs.c
835
if (IS_ERR(i2c->dmach)) {
drivers/i2c/busses/i2c-mxs.c
836
return dev_err_probe(dev, PTR_ERR(i2c->dmach),
drivers/i2c/busses/i2c-mxs.c
840
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-mxs.c
843
err = mxs_i2c_reset(i2c);
drivers/i2c/busses/i2c-mxs.c
847
adap = &i2c->adapter;
drivers/i2c/busses/i2c-mxs.c
855
i2c_set_adapdata(adap, i2c);
drivers/i2c/busses/i2c-mxs.c
859
i2c->regs + MXS_I2C_CTRL0_SET);
drivers/i2c/busses/i2c-mxs.c
868
struct mxs_i2c_dev *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-mxs.c
870
i2c_del_adapter(&i2c->adapter);
drivers/i2c/busses/i2c-mxs.c
872
if (i2c->dmach)
drivers/i2c/busses/i2c-mxs.c
873
dma_release_channel(i2c->dmach);
drivers/i2c/busses/i2c-mxs.c
875
writel(MXS_I2C_CTRL0_SFTRST, i2c->regs + MXS_I2C_CTRL0_SET);
drivers/i2c/busses/i2c-ocores.c
100
iowrite32(value, i2c->base + (reg << i2c->reg_shift));
drivers/i2c/busses/i2c-ocores.c
103
static void oc_setreg_16be(struct ocores_i2c *i2c, int reg, u8 value)
drivers/i2c/busses/i2c-ocores.c
105
iowrite16be(value, i2c->base + (reg << i2c->reg_shift));
drivers/i2c/busses/i2c-ocores.c
108
static void oc_setreg_32be(struct ocores_i2c *i2c, int reg, u8 value)
drivers/i2c/busses/i2c-ocores.c
110
iowrite32be(value, i2c->base + (reg << i2c->reg_shift));
drivers/i2c/busses/i2c-ocores.c
113
static inline u8 oc_getreg_8(struct ocores_i2c *i2c, int reg)
drivers/i2c/busses/i2c-ocores.c
115
return ioread8(i2c->base + (reg << i2c->reg_shift));
drivers/i2c/busses/i2c-ocores.c
118
static inline u8 oc_getreg_16(struct ocores_i2c *i2c, int reg)
drivers/i2c/busses/i2c-ocores.c
120
return ioread16(i2c->base + (reg << i2c->reg_shift));
drivers/i2c/busses/i2c-ocores.c
123
static inline u8 oc_getreg_32(struct ocores_i2c *i2c, int reg)
drivers/i2c/busses/i2c-ocores.c
125
return ioread32(i2c->base + (reg << i2c->reg_shift));
drivers/i2c/busses/i2c-ocores.c
128
static inline u8 oc_getreg_16be(struct ocores_i2c *i2c, int reg)
drivers/i2c/busses/i2c-ocores.c
130
return ioread16be(i2c->base + (reg << i2c->reg_shift));
drivers/i2c/busses/i2c-ocores.c
133
static inline u8 oc_getreg_32be(struct ocores_i2c *i2c, int reg)
drivers/i2c/busses/i2c-ocores.c
135
return ioread32be(i2c->base + (reg << i2c->reg_shift));
drivers/i2c/busses/i2c-ocores.c
138
static inline void oc_setreg(struct ocores_i2c *i2c, int reg, u8 value)
drivers/i2c/busses/i2c-ocores.c
140
i2c->setreg(i2c, reg, value);
drivers/i2c/busses/i2c-ocores.c
143
static inline u8 oc_getreg(struct ocores_i2c *i2c, int reg)
drivers/i2c/busses/i2c-ocores.c
145
return i2c->getreg(i2c, reg);
drivers/i2c/busses/i2c-ocores.c
148
static void ocores_process(struct ocores_i2c *i2c, u8 stat)
drivers/i2c/busses/i2c-ocores.c
150
struct i2c_msg *msg = i2c->msg;
drivers/i2c/busses/i2c-ocores.c
157
spin_lock_irqsave(&i2c->process_lock, flags);
drivers/i2c/busses/i2c-ocores.c
159
if ((i2c->state == STATE_DONE) || (i2c->state == STATE_ERROR)) {
drivers/i2c/busses/i2c-ocores.c
161
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_IACK);
drivers/i2c/busses/i2c-ocores.c
162
wake_up(&i2c->wait);
drivers/i2c/busses/i2c-ocores.c
168
i2c->state = STATE_ERROR;
drivers/i2c/busses/i2c-ocores.c
169
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_STOP);
drivers/i2c/busses/i2c-ocores.c
173
if ((i2c->state == STATE_START) || (i2c->state == STATE_WRITE)) {
drivers/i2c/busses/i2c-ocores.c
174
i2c->state =
drivers/i2c/busses/i2c-ocores.c
178
i2c->state = STATE_ERROR;
drivers/i2c/busses/i2c-ocores.c
179
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_STOP);
drivers/i2c/busses/i2c-ocores.c
183
msg->buf[i2c->pos++] = oc_getreg(i2c, OCI2C_DATA);
drivers/i2c/busses/i2c-ocores.c
187
if (i2c->pos == msg->len) {
drivers/i2c/busses/i2c-ocores.c
188
i2c->nmsgs--;
drivers/i2c/busses/i2c-ocores.c
189
i2c->msg++;
drivers/i2c/busses/i2c-ocores.c
190
i2c->pos = 0;
drivers/i2c/busses/i2c-ocores.c
191
msg = i2c->msg;
drivers/i2c/busses/i2c-ocores.c
193
if (i2c->nmsgs) { /* end? */
drivers/i2c/busses/i2c-ocores.c
198
i2c->state = STATE_START;
drivers/i2c/busses/i2c-ocores.c
200
oc_setreg(i2c, OCI2C_DATA, addr);
drivers/i2c/busses/i2c-ocores.c
201
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_START);
drivers/i2c/busses/i2c-ocores.c
204
i2c->state = (msg->flags & I2C_M_RD)
drivers/i2c/busses/i2c-ocores.c
207
i2c->state = STATE_DONE;
drivers/i2c/busses/i2c-ocores.c
208
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_STOP);
drivers/i2c/busses/i2c-ocores.c
213
if (i2c->state == STATE_READ) {
drivers/i2c/busses/i2c-ocores.c
214
oc_setreg(i2c, OCI2C_CMD, i2c->pos == (msg->len-1) ?
drivers/i2c/busses/i2c-ocores.c
217
oc_setreg(i2c, OCI2C_DATA, msg->buf[i2c->pos++]);
drivers/i2c/busses/i2c-ocores.c
218
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_WRITE);
drivers/i2c/busses/i2c-ocores.c
222
spin_unlock_irqrestore(&i2c->process_lock, flags);
drivers/i2c/busses/i2c-ocores.c
227
struct ocores_i2c *i2c = dev_id;
drivers/i2c/busses/i2c-ocores.c
228
u8 stat = oc_getreg(i2c, OCI2C_STATUS);
drivers/i2c/busses/i2c-ocores.c
230
if (i2c->flags & OCORES_FLAG_BROKEN_IRQ) {
drivers/i2c/busses/i2c-ocores.c
236
ocores_process(i2c, stat);
drivers/i2c/busses/i2c-ocores.c
245
static void ocores_process_timeout(struct ocores_i2c *i2c)
drivers/i2c/busses/i2c-ocores.c
249
spin_lock_irqsave(&i2c->process_lock, flags);
drivers/i2c/busses/i2c-ocores.c
250
i2c->state = STATE_ERROR;
drivers/i2c/busses/i2c-ocores.c
251
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_STOP);
drivers/i2c/busses/i2c-ocores.c
252
spin_unlock_irqrestore(&i2c->process_lock, flags);
drivers/i2c/busses/i2c-ocores.c
268
static int ocores_wait(struct ocores_i2c *i2c,
drivers/i2c/busses/i2c-ocores.c
276
u8 status = oc_getreg(i2c, reg);
drivers/i2c/busses/i2c-ocores.c
295
static int ocores_poll_wait(struct ocores_i2c *i2c)
drivers/i2c/busses/i2c-ocores.c
300
if (i2c->state == STATE_DONE || i2c->state == STATE_ERROR) {
drivers/i2c/busses/i2c-ocores.c
310
udelay((8 * 1000) / i2c->bus_clock_khz);
drivers/i2c/busses/i2c-ocores.c
317
err = ocores_wait(i2c, OCI2C_STATUS, mask, 0, msecs_to_jiffies(1));
drivers/i2c/busses/i2c-ocores.c
319
dev_warn(i2c->adap.dev.parent,
drivers/i2c/busses/i2c-ocores.c
337
static int ocores_process_polling(struct ocores_i2c *i2c)
drivers/i2c/busses/i2c-ocores.c
343
err = ocores_poll_wait(i2c);
drivers/i2c/busses/i2c-ocores.c
347
ret = ocores_isr(-1, i2c);
drivers/i2c/busses/i2c-ocores.c
351
if (i2c->flags & OCORES_FLAG_BROKEN_IRQ)
drivers/i2c/busses/i2c-ocores.c
352
if (i2c->state == STATE_DONE)
drivers/i2c/busses/i2c-ocores.c
360
static int ocores_xfer_core(struct ocores_i2c *i2c,
drivers/i2c/busses/i2c-ocores.c
367
ctrl = oc_getreg(i2c, OCI2C_CONTROL);
drivers/i2c/busses/i2c-ocores.c
369
oc_setreg(i2c, OCI2C_CONTROL, ctrl & ~OCI2C_CTRL_IEN);
drivers/i2c/busses/i2c-ocores.c
371
oc_setreg(i2c, OCI2C_CONTROL, ctrl | OCI2C_CTRL_IEN);
drivers/i2c/busses/i2c-ocores.c
373
i2c->msg = msgs;
drivers/i2c/busses/i2c-ocores.c
374
i2c->pos = 0;
drivers/i2c/busses/i2c-ocores.c
375
i2c->nmsgs = num;
drivers/i2c/busses/i2c-ocores.c
376
i2c->state = STATE_START;
drivers/i2c/busses/i2c-ocores.c
378
oc_setreg(i2c, OCI2C_DATA, i2c_8bit_addr_from_msg(i2c->msg));
drivers/i2c/busses/i2c-ocores.c
379
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_START);
drivers/i2c/busses/i2c-ocores.c
382
ret = ocores_process_polling(i2c);
drivers/i2c/busses/i2c-ocores.c
384
if (wait_event_timeout(i2c->wait,
drivers/i2c/busses/i2c-ocores.c
385
(i2c->state == STATE_ERROR) ||
drivers/i2c/busses/i2c-ocores.c
386
(i2c->state == STATE_DONE), HZ) == 0)
drivers/i2c/busses/i2c-ocores.c
390
ocores_process_timeout(i2c);
drivers/i2c/busses/i2c-ocores.c
394
return (i2c->state == STATE_DONE) ? num : -EIO;
drivers/i2c/busses/i2c-ocores.c
409
static int ocores_init(struct device *dev, struct ocores_i2c *i2c)
drivers/i2c/busses/i2c-ocores.c
413
u8 ctrl = oc_getreg(i2c, OCI2C_CONTROL);
drivers/i2c/busses/i2c-ocores.c
417
oc_setreg(i2c, OCI2C_CONTROL, ctrl);
drivers/i2c/busses/i2c-ocores.c
419
prescale = (i2c->ip_clock_khz / (5 * i2c->bus_clock_khz)) - 1;
drivers/i2c/busses/i2c-ocores.c
422
diff = i2c->ip_clock_khz / (5 * (prescale + 1)) - i2c->bus_clock_khz;
drivers/i2c/busses/i2c-ocores.c
423
if (abs(diff) > i2c->bus_clock_khz / 10) {
drivers/i2c/busses/i2c-ocores.c
426
i2c->ip_clock_khz, i2c->bus_clock_khz);
drivers/i2c/busses/i2c-ocores.c
430
oc_setreg(i2c, OCI2C_PRELOW, prescale & 0xff);
drivers/i2c/busses/i2c-ocores.c
431
oc_setreg(i2c, OCI2C_PREHIGH, prescale >> 8);
drivers/i2c/busses/i2c-ocores.c
434
oc_setreg(i2c, OCI2C_CONTROL, ctrl | OCI2C_CTRL_EN);
drivers/i2c/busses/i2c-ocores.c
435
oc_setreg(i2c, OCI2C_CMD, OCI2C_CMD_IACK);
drivers/i2c/busses/i2c-ocores.c
48
void (*setreg)(struct ocores_i2c *i2c, int reg, u8 value);
drivers/i2c/busses/i2c-ocores.c
484
static u8 oc_getreg_grlib(struct ocores_i2c *i2c, int reg)
drivers/i2c/busses/i2c-ocores.c
49
u8 (*getreg)(struct ocores_i2c *i2c, int reg);
drivers/i2c/busses/i2c-ocores.c
491
rd = ioread32be(i2c->base + (rreg << i2c->reg_shift));
drivers/i2c/busses/i2c-ocores.c
498
static void oc_setreg_grlib(struct ocores_i2c *i2c, int reg, u8 value)
drivers/i2c/busses/i2c-ocores.c
506
curr = ioread32be(i2c->base + (rreg << i2c->reg_shift));
drivers/i2c/busses/i2c-ocores.c
514
iowrite32be(wr, i2c->base + (rreg << i2c->reg_shift));
drivers/i2c/busses/i2c-ocores.c
518
struct ocores_i2c *i2c)
drivers/i2c/busses/i2c-ocores.c
526
if (of_property_read_u32(np, "reg-shift", &i2c->reg_shift)) {
drivers/i2c/busses/i2c-ocores.c
534
i2c->reg_shift = ilog2(val);
drivers/i2c/busses/i2c-ocores.c
542
i2c->bus_clock_khz = 100;
drivers/i2c/busses/i2c-ocores.c
544
i2c->clk = devm_clk_get_optional_enabled(&pdev->dev, NULL);
drivers/i2c/busses/i2c-ocores.c
545
if (IS_ERR(i2c->clk))
drivers/i2c/busses/i2c-ocores.c
546
return dev_err_probe(&pdev->dev, PTR_ERR(i2c->clk),
drivers/i2c/busses/i2c-ocores.c
549
i2c->ip_clock_khz = clk_get_rate(i2c->clk) / 1000;
drivers/i2c/busses/i2c-ocores.c
551
i2c->bus_clock_khz = clock_frequency / 1000;
drivers/i2c/busses/i2c-ocores.c
552
if (i2c->ip_clock_khz == 0) {
drivers/i2c/busses/i2c-ocores.c
560
i2c->ip_clock_khz = clock_frequency / 1000;
drivers/i2c/busses/i2c-ocores.c
564
i2c->ip_clock_khz = val / 1000;
drivers/i2c/busses/i2c-ocores.c
566
i2c->bus_clock_khz = clock_frequency / 1000;
drivers/i2c/busses/i2c-ocores.c
571
&i2c->reg_io_width);
drivers/i2c/busses/i2c-ocores.c
576
i2c->setreg = oc_setreg_grlib;
drivers/i2c/busses/i2c-ocores.c
577
i2c->getreg = oc_getreg_grlib;
drivers/i2c/busses/i2c-ocores.c
583
#define ocores_i2c_of_probe(pdev, i2c) -ENODEV
drivers/i2c/busses/i2c-ocores.c
588
struct ocores_i2c *i2c;
drivers/i2c/busses/i2c-ocores.c
595
i2c = devm_kzalloc(&pdev->dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-ocores.c
596
if (!i2c)
drivers/i2c/busses/i2c-ocores.c
599
spin_lock_init(&i2c->process_lock);
drivers/i2c/busses/i2c-ocores.c
603
i2c->base = devm_ioremap_resource(&pdev->dev, res);
drivers/i2c/busses/i2c-ocores.c
604
if (IS_ERR(i2c->base))
drivers/i2c/busses/i2c-ocores.c
605
return PTR_ERR(i2c->base);
drivers/i2c/busses/i2c-ocores.c
616
i2c->base = devm_ioport_map(&pdev->dev, res->start,
drivers/i2c/busses/i2c-ocores.c
618
if (!i2c->base) {
drivers/i2c/busses/i2c-ocores.c
622
i2c->reg_io_width = 1;
drivers/i2c/busses/i2c-ocores.c
627
i2c->reg_shift = pdata->reg_shift;
drivers/i2c/busses/i2c-ocores.c
628
i2c->reg_io_width = pdata->reg_io_width;
drivers/i2c/busses/i2c-ocores.c
629
i2c->ip_clock_khz = pdata->clock_khz;
drivers/i2c/busses/i2c-ocores.c
631
i2c->bus_clock_khz = pdata->bus_khz;
drivers/i2c/busses/i2c-ocores.c
633
i2c->bus_clock_khz = 100;
drivers/i2c/busses/i2c-ocores.c
635
ret = ocores_i2c_of_probe(pdev, i2c);
drivers/i2c/busses/i2c-ocores.c
640
if (i2c->reg_io_width == 0)
drivers/i2c/busses/i2c-ocores.c
641
i2c->reg_io_width = 1; /* Set to default value */
drivers/i2c/busses/i2c-ocores.c
643
if (!i2c->setreg || !i2c->getreg) {
drivers/i2c/busses/i2c-ocores.c
647
switch (i2c->reg_io_width) {
drivers/i2c/busses/i2c-ocores.c
649
i2c->setreg = oc_setreg_8;
drivers/i2c/busses/i2c-ocores.c
650
i2c->getreg = oc_getreg_8;
drivers/i2c/busses/i2c-ocores.c
654
i2c->setreg = be ? oc_setreg_16be : oc_setreg_16;
drivers/i2c/busses/i2c-ocores.c
655
i2c->getreg = be ? oc_getreg_16be : oc_getreg_16;
drivers/i2c/busses/i2c-ocores.c
659
i2c->setreg = be ? oc_setreg_32be : oc_setreg_32;
drivers/i2c/busses/i2c-ocores.c
660
i2c->getreg = be ? oc_getreg_32be : oc_getreg_32;
drivers/i2c/busses/i2c-ocores.c
665
i2c->reg_io_width);
drivers/i2c/busses/i2c-ocores.c
670
init_waitqueue_head(&i2c->wait);
drivers/i2c/busses/i2c-ocores.c
680
i2c->flags |= OCORES_FLAG_BROKEN_IRQ;
drivers/i2c/busses/i2c-ocores.c
694
pdev->name, i2c);
drivers/i2c/busses/i2c-ocores.c
701
ret = ocores_init(&pdev->dev, i2c);
drivers/i2c/busses/i2c-ocores.c
706
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-ocores.c
707
i2c->adap = ocores_adapter;
drivers/i2c/busses/i2c-ocores.c
708
i2c_set_adapdata(&i2c->adap, i2c);
drivers/i2c/busses/i2c-ocores.c
709
i2c->adap.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-ocores.c
710
i2c->adap.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-ocores.c
713
ret = i2c_add_adapter(&i2c->adap);
drivers/i2c/busses/i2c-ocores.c
720
i2c_new_client_device(&i2c->adap, pdata->devices + i);
drivers/i2c/busses/i2c-ocores.c
728
struct ocores_i2c *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-ocores.c
729
u8 ctrl = oc_getreg(i2c, OCI2C_CONTROL);
drivers/i2c/busses/i2c-ocores.c
733
oc_setreg(i2c, OCI2C_CONTROL, ctrl);
drivers/i2c/busses/i2c-ocores.c
736
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-ocores.c
741
struct ocores_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-ocores.c
742
u8 ctrl = oc_getreg(i2c, OCI2C_CONTROL);
drivers/i2c/busses/i2c-ocores.c
746
oc_setreg(i2c, OCI2C_CONTROL, ctrl);
drivers/i2c/busses/i2c-ocores.c
748
clk_disable_unprepare(i2c->clk);
drivers/i2c/busses/i2c-ocores.c
754
struct ocores_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-ocores.c
758
ret = clk_prepare_enable(i2c->clk);
drivers/i2c/busses/i2c-ocores.c
761
rate = clk_get_rate(i2c->clk) / 1000;
drivers/i2c/busses/i2c-ocores.c
763
i2c->ip_clock_khz = rate;
drivers/i2c/busses/i2c-ocores.c
764
return ocores_init(dev, i2c);
drivers/i2c/busses/i2c-ocores.c
88
static void oc_setreg_8(struct ocores_i2c *i2c, int reg, u8 value)
drivers/i2c/busses/i2c-ocores.c
90
iowrite8(value, i2c->base + (reg << i2c->reg_shift));
drivers/i2c/busses/i2c-ocores.c
93
static void oc_setreg_16(struct ocores_i2c *i2c, int reg, u8 value)
drivers/i2c/busses/i2c-ocores.c
95
iowrite16(value, i2c->base + (reg << i2c->reg_shift));
drivers/i2c/busses/i2c-ocores.c
98
static void oc_setreg_32(struct ocores_i2c *i2c, int reg, u8 value)
drivers/i2c/busses/i2c-octeon-core.c
100
static void octeon_i2c_hlc_enable(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-core.c
105
if (i2c->hlc_enabled)
drivers/i2c/busses/i2c-octeon-core.c
107
i2c->hlc_enabled = true;
drivers/i2c/busses/i2c-octeon-core.c
110
val = octeon_i2c_ctl_read(i2c);
drivers/i2c/busses/i2c-octeon-core.c
116
octeon_i2c_ctl_write(i2c, TWSI_CTL_ENAB);
drivers/i2c/busses/i2c-octeon-core.c
126
octeon_i2c_ctl_write(i2c, TWSI_CTL_CE | TWSI_CTL_AAK | TWSI_CTL_ENAB);
drivers/i2c/busses/i2c-octeon-core.c
129
static void octeon_i2c_hlc_disable(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-core.c
131
if (!i2c->hlc_enabled)
drivers/i2c/busses/i2c-octeon-core.c
134
i2c->hlc_enabled = false;
drivers/i2c/busses/i2c-octeon-core.c
135
octeon_i2c_ctl_write(i2c, TWSI_CTL_ENAB);
drivers/i2c/busses/i2c-octeon-core.c
138
static void octeon_i2c_block_enable(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-core.c
142
if (i2c->block_enabled || !OCTEON_REG_BLOCK_CTL(i2c))
drivers/i2c/busses/i2c-octeon-core.c
145
i2c->block_enabled = true;
drivers/i2c/busses/i2c-octeon-core.c
146
mode = __raw_readq(i2c->twsi_base + OCTEON_REG_MODE(i2c));
drivers/i2c/busses/i2c-octeon-core.c
148
octeon_i2c_writeq_flush(mode, i2c->twsi_base + OCTEON_REG_MODE(i2c));
drivers/i2c/busses/i2c-octeon-core.c
151
static void octeon_i2c_block_disable(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-core.c
155
if (!i2c->block_enabled || !OCTEON_REG_BLOCK_CTL(i2c))
drivers/i2c/busses/i2c-octeon-core.c
158
i2c->block_enabled = false;
drivers/i2c/busses/i2c-octeon-core.c
159
mode = __raw_readq(i2c->twsi_base + OCTEON_REG_MODE(i2c));
drivers/i2c/busses/i2c-octeon-core.c
161
octeon_i2c_writeq_flush(mode, i2c->twsi_base + OCTEON_REG_MODE(i2c));
drivers/i2c/busses/i2c-octeon-core.c
170
static int octeon_i2c_hlc_wait(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-core.c
178
if (i2c->broken_irq_mode) {
drivers/i2c/busses/i2c-octeon-core.c
179
u64 end = get_jiffies_64() + i2c->adap.timeout;
drivers/i2c/busses/i2c-octeon-core.c
181
while (!octeon_i2c_hlc_test_valid(i2c) &&
drivers/i2c/busses/i2c-octeon-core.c
185
return octeon_i2c_hlc_test_valid(i2c) ? 0 : -ETIMEDOUT;
drivers/i2c/busses/i2c-octeon-core.c
188
i2c->hlc_int_enable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
189
time_left = wait_event_timeout(i2c->queue,
drivers/i2c/busses/i2c-octeon-core.c
190
octeon_i2c_hlc_test_valid(i2c),
drivers/i2c/busses/i2c-octeon-core.c
191
i2c->adap.timeout);
drivers/i2c/busses/i2c-octeon-core.c
192
i2c->hlc_int_disable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
194
octeon_i2c_hlc_int_clear(i2c);
drivers/i2c/busses/i2c-octeon-core.c
196
if (i2c->broken_irq_check && !time_left &&
drivers/i2c/busses/i2c-octeon-core.c
197
octeon_i2c_hlc_test_valid(i2c)) {
drivers/i2c/busses/i2c-octeon-core.c
198
dev_err(i2c->dev, "broken irq connection detected, switching to polling mode.\n");
drivers/i2c/busses/i2c-octeon-core.c
199
i2c->broken_irq_mode = true;
drivers/i2c/busses/i2c-octeon-core.c
208
static int octeon_i2c_check_status(struct octeon_i2c *i2c, int final_read)
drivers/i2c/busses/i2c-octeon-core.c
217
if (i2c->hlc_enabled)
drivers/i2c/busses/i2c-octeon-core.c
218
stat = __raw_readq(i2c->twsi_base + OCTEON_REG_SW_TWSI(i2c));
drivers/i2c/busses/i2c-octeon-core.c
220
stat = octeon_i2c_stat_read(i2c);
drivers/i2c/busses/i2c-octeon-core.c
276
mode = __raw_readq(i2c->twsi_base + OCTEON_REG_MODE(i2c));
drivers/i2c/busses/i2c-octeon-core.c
279
octeon_i2c_writeq_flush(mode, i2c->twsi_base + OCTEON_REG_MODE(i2c));
drivers/i2c/busses/i2c-octeon-core.c
282
dev_err(i2c->dev, "unhandled state: %d\n", stat);
drivers/i2c/busses/i2c-octeon-core.c
287
static int octeon_i2c_recovery(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-core.c
291
ret = i2c_recover_bus(&i2c->adap);
drivers/i2c/busses/i2c-octeon-core.c
294
ret = octeon_i2c_init_lowlevel(i2c);
drivers/i2c/busses/i2c-octeon-core.c
304
static int octeon_i2c_start(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-core.c
309
octeon_i2c_hlc_disable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
31
struct octeon_i2c *i2c = dev_id;
drivers/i2c/busses/i2c-octeon-core.c
310
octeon_i2c_block_disable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
312
octeon_i2c_ctl_write(i2c, TWSI_CTL_ENAB | TWSI_CTL_STA);
drivers/i2c/busses/i2c-octeon-core.c
313
ret = octeon_i2c_wait(i2c);
drivers/i2c/busses/i2c-octeon-core.c
317
stat = octeon_i2c_stat_read(i2c);
drivers/i2c/busses/i2c-octeon-core.c
324
ret = octeon_i2c_recovery(i2c);
drivers/i2c/busses/i2c-octeon-core.c
329
static void octeon_i2c_stop(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-core.c
33
i2c->int_disable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
331
octeon_i2c_ctl_write(i2c, TWSI_CTL_ENAB | TWSI_CTL_STP);
drivers/i2c/busses/i2c-octeon-core.c
34
wake_up(&i2c->queue);
drivers/i2c/busses/i2c-octeon-core.c
346
static int octeon_i2c_read(struct octeon_i2c *i2c, int target,
drivers/i2c/busses/i2c-octeon-core.c
352
octeon_i2c_data_write(i2c, (target << 1) | 1);
drivers/i2c/busses/i2c-octeon-core.c
353
octeon_i2c_ctl_write(i2c, TWSI_CTL_ENAB);
drivers/i2c/busses/i2c-octeon-core.c
355
result = octeon_i2c_wait(i2c);
drivers/i2c/busses/i2c-octeon-core.c
360
result = octeon_i2c_check_status(i2c, false);
drivers/i2c/busses/i2c-octeon-core.c
378
octeon_i2c_ctl_write(i2c, TWSI_CTL_ENAB);
drivers/i2c/busses/i2c-octeon-core.c
380
octeon_i2c_ctl_write(i2c, TWSI_CTL_ENAB | TWSI_CTL_AAK);
drivers/i2c/busses/i2c-octeon-core.c
382
result = octeon_i2c_wait(i2c);
drivers/i2c/busses/i2c-octeon-core.c
386
data[i] = octeon_i2c_data_read(i2c, &result);
drivers/i2c/busses/i2c-octeon-core.c
39
static bool octeon_i2c_test_iflg(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-core.c
395
result = octeon_i2c_check_status(i2c, final_read);
drivers/i2c/busses/i2c-octeon-core.c
41
return (octeon_i2c_ctl_read(i2c) & TWSI_CTL_IFLG);
drivers/i2c/busses/i2c-octeon-core.c
414
static int octeon_i2c_write(struct octeon_i2c *i2c, int target,
drivers/i2c/busses/i2c-octeon-core.c
419
octeon_i2c_data_write(i2c, target << 1);
drivers/i2c/busses/i2c-octeon-core.c
420
octeon_i2c_ctl_write(i2c, TWSI_CTL_ENAB);
drivers/i2c/busses/i2c-octeon-core.c
422
result = octeon_i2c_wait(i2c);
drivers/i2c/busses/i2c-octeon-core.c
427
result = octeon_i2c_check_status(i2c, false);
drivers/i2c/busses/i2c-octeon-core.c
431
octeon_i2c_data_write(i2c, data[i]);
drivers/i2c/busses/i2c-octeon-core.c
432
octeon_i2c_ctl_write(i2c, TWSI_CTL_ENAB);
drivers/i2c/busses/i2c-octeon-core.c
434
result = octeon_i2c_wait(i2c);
drivers/i2c/busses/i2c-octeon-core.c
443
static int octeon_i2c_hlc_read(struct octeon_i2c *i2c, struct i2c_msg *msgs)
drivers/i2c/busses/i2c-octeon-core.c
448
octeon_i2c_hlc_enable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
449
octeon_i2c_hlc_int_clear(i2c);
drivers/i2c/busses/i2c-octeon-core.c
457
octeon_i2c_writeq_flush(cmd, i2c->twsi_base + OCTEON_REG_SW_TWSI(i2c));
drivers/i2c/busses/i2c-octeon-core.c
458
ret = octeon_i2c_hlc_wait(i2c);
drivers/i2c/busses/i2c-octeon-core.c
462
cmd = __raw_readq(i2c->twsi_base + OCTEON_REG_SW_TWSI(i2c));
drivers/i2c/busses/i2c-octeon-core.c
464
return octeon_i2c_check_status(i2c, false);
drivers/i2c/busses/i2c-octeon-core.c
470
cmd = __raw_readq(i2c->twsi_base + OCTEON_REG_SW_TWSI_EXT(i2c));
drivers/i2c/busses/i2c-octeon-core.c
480
static int octeon_i2c_hlc_write(struct octeon_i2c *i2c, struct i2c_msg *msgs)
drivers/i2c/busses/i2c-octeon-core.c
485
octeon_i2c_hlc_enable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
486
octeon_i2c_hlc_int_clear(i2c);
drivers/i2c/busses/i2c-octeon-core.c
50
static int octeon_i2c_wait(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-core.c
502
octeon_i2c_writeq_flush(ext, i2c->twsi_base + OCTEON_REG_SW_TWSI_EXT(i2c));
drivers/i2c/busses/i2c-octeon-core.c
505
octeon_i2c_writeq_flush(cmd, i2c->twsi_base + OCTEON_REG_SW_TWSI(i2c));
drivers/i2c/busses/i2c-octeon-core.c
506
ret = octeon_i2c_hlc_wait(i2c);
drivers/i2c/busses/i2c-octeon-core.c
510
cmd = __raw_readq(i2c->twsi_base + OCTEON_REG_SW_TWSI(i2c));
drivers/i2c/busses/i2c-octeon-core.c
512
return octeon_i2c_check_status(i2c, false);
drivers/i2c/busses/i2c-octeon-core.c
519
static int octeon_i2c_hlc_cmd_send(struct octeon_i2c *i2c, u64 cmd)
drivers/i2c/busses/i2c-octeon-core.c
521
octeon_i2c_hlc_int_clear(i2c);
drivers/i2c/busses/i2c-octeon-core.c
522
octeon_i2c_writeq_flush(cmd, i2c->twsi_base + OCTEON_REG_SW_TWSI(i2c));
drivers/i2c/busses/i2c-octeon-core.c
524
return octeon_i2c_hlc_wait(i2c);
drivers/i2c/busses/i2c-octeon-core.c
528
static bool octeon_i2c_hlc_ext(struct octeon_i2c *i2c, struct i2c_msg msg, u64 *cmd_in, u64 *ext)
drivers/i2c/busses/i2c-octeon-core.c
547
static int octeon_i2c_hlc_read_cmd(struct octeon_i2c *i2c, struct i2c_msg msg, u64 cmd)
drivers/i2c/busses/i2c-octeon-core.c
551
if (octeon_i2c_hlc_ext(i2c, msg, &cmd, &ext))
drivers/i2c/busses/i2c-octeon-core.c
552
octeon_i2c_writeq_flush(ext, i2c->twsi_base + OCTEON_REG_SW_TWSI_EXT(i2c));
drivers/i2c/busses/i2c-octeon-core.c
554
return octeon_i2c_hlc_cmd_send(i2c, cmd);
drivers/i2c/busses/i2c-octeon-core.c
558
static int octeon_i2c_hlc_comp_read(struct octeon_i2c *i2c, struct i2c_msg *msgs)
drivers/i2c/busses/i2c-octeon-core.c
563
octeon_i2c_hlc_enable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
572
ret = octeon_i2c_hlc_read_cmd(i2c, msgs[0], cmd);
drivers/i2c/busses/i2c-octeon-core.c
576
cmd = __raw_readq(i2c->twsi_base + OCTEON_REG_SW_TWSI(i2c));
drivers/i2c/busses/i2c-octeon-core.c
578
return octeon_i2c_check_status(i2c, false);
drivers/i2c/busses/i2c-octeon-core.c
58
if (i2c->broken_irq_mode) {
drivers/i2c/busses/i2c-octeon-core.c
584
cmd = __raw_readq(i2c->twsi_base + OCTEON_REG_SW_TWSI_EXT(i2c));
drivers/i2c/busses/i2c-octeon-core.c
59
u64 end = get_jiffies_64() + i2c->adap.timeout;
drivers/i2c/busses/i2c-octeon-core.c
594
static int octeon_i2c_hlc_comp_write(struct octeon_i2c *i2c, struct i2c_msg *msgs)
drivers/i2c/busses/i2c-octeon-core.c
600
octeon_i2c_hlc_enable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
609
set_ext = octeon_i2c_hlc_ext(i2c, msgs[0], &cmd, &ext);
drivers/i2c/busses/i2c-octeon-core.c
61
while (!octeon_i2c_test_iflg(i2c) &&
drivers/i2c/busses/i2c-octeon-core.c
620
octeon_i2c_writeq_flush(ext, i2c->twsi_base + OCTEON_REG_SW_TWSI_EXT(i2c));
drivers/i2c/busses/i2c-octeon-core.c
622
ret = octeon_i2c_hlc_cmd_send(i2c, cmd);
drivers/i2c/busses/i2c-octeon-core.c
626
cmd = __raw_readq(i2c->twsi_base + OCTEON_REG_SW_TWSI(i2c));
drivers/i2c/busses/i2c-octeon-core.c
628
return octeon_i2c_check_status(i2c, false);
drivers/i2c/busses/i2c-octeon-core.c
646
static int octeon_i2c_hlc_block_comp_read(struct octeon_i2c *i2c, struct i2c_msg *msgs)
drivers/i2c/busses/i2c-octeon-core.c
65
return octeon_i2c_test_iflg(i2c) ? 0 : -ETIMEDOUT;
drivers/i2c/busses/i2c-octeon-core.c
652
octeon_i2c_hlc_enable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
653
octeon_i2c_block_enable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
657
octeon_i2c_writeq_flush((u64)len, i2c->twsi_base + OCTEON_REG_BLOCK_CTL(i2c));
drivers/i2c/busses/i2c-octeon-core.c
664
ret = octeon_i2c_hlc_read_cmd(i2c, msgs[0], cmd);
drivers/i2c/busses/i2c-octeon-core.c
668
cmd = __raw_readq(i2c->twsi_base + OCTEON_REG_SW_TWSI(i2c));
drivers/i2c/busses/i2c-octeon-core.c
670
octeon_i2c_block_disable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
671
return octeon_i2c_check_status(i2c, false);
drivers/i2c/busses/i2c-octeon-core.c
676
i2c->twsi_base + OCTEON_REG_BLOCK_STS(i2c));
drivers/i2c/busses/i2c-octeon-core.c
679
__be64 rd = cpu_to_be64(__raw_readq(i2c->twsi_base + OCTEON_REG_BLOCK_FIFO(i2c)));
drivers/i2c/busses/i2c-octeon-core.c
68
i2c->int_enable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
685
octeon_i2c_block_disable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
69
time_left = wait_event_timeout(i2c->queue, octeon_i2c_test_iflg(i2c),
drivers/i2c/busses/i2c-octeon-core.c
70
i2c->adap.timeout);
drivers/i2c/busses/i2c-octeon-core.c
700
static int octeon_i2c_hlc_block_comp_write(struct octeon_i2c *i2c, struct i2c_msg *msgs)
drivers/i2c/busses/i2c-octeon-core.c
707
octeon_i2c_hlc_enable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
708
octeon_i2c_block_enable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
71
i2c->int_disable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
712
octeon_i2c_writeq_flush((u64)len, i2c->twsi_base + OCTEON_REG_BLOCK_CTL(i2c));
drivers/i2c/busses/i2c-octeon-core.c
719
set_ext = octeon_i2c_hlc_ext(i2c, msgs[0], &cmd, &ext);
drivers/i2c/busses/i2c-octeon-core.c
723
i2c->twsi_base + OCTEON_REG_BLOCK_STS(i2c));
drivers/i2c/busses/i2c-octeon-core.c
73
if (i2c->broken_irq_check && !time_left &&
drivers/i2c/busses/i2c-octeon-core.c
732
octeon_i2c_writeq_flush((u64)buf, i2c->twsi_base + OCTEON_REG_BLOCK_FIFO(i2c));
drivers/i2c/busses/i2c-octeon-core.c
735
octeon_i2c_writeq_flush(ext, i2c->twsi_base + OCTEON_REG_SW_TWSI_EXT(i2c));
drivers/i2c/busses/i2c-octeon-core.c
738
ret = octeon_i2c_hlc_cmd_send(i2c, cmd);
drivers/i2c/busses/i2c-octeon-core.c
74
octeon_i2c_test_iflg(i2c)) {
drivers/i2c/busses/i2c-octeon-core.c
742
cmd = __raw_readq(i2c->twsi_base + OCTEON_REG_SW_TWSI(i2c));
drivers/i2c/busses/i2c-octeon-core.c
744
octeon_i2c_block_disable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
745
return octeon_i2c_check_status(i2c, false);
drivers/i2c/busses/i2c-octeon-core.c
749
octeon_i2c_block_disable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
75
dev_err(i2c->dev, "broken irq connection detected, switching to polling mode.\n");
drivers/i2c/busses/i2c-octeon-core.c
76
i2c->broken_irq_mode = true;
drivers/i2c/busses/i2c-octeon-core.c
763
struct octeon_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-octeon-core.c
766
if (IS_LS_FREQ(i2c->twsi_freq)) {
drivers/i2c/busses/i2c-octeon-core.c
770
ret = octeon_i2c_hlc_read(i2c, msgs);
drivers/i2c/busses/i2c-octeon-core.c
772
ret = octeon_i2c_hlc_write(i2c, msgs);
drivers/i2c/busses/i2c-octeon-core.c
783
ret = octeon_i2c_hlc_comp_read(i2c, msgs);
drivers/i2c/busses/i2c-octeon-core.c
785
ret = octeon_i2c_hlc_comp_write(i2c, msgs);
drivers/i2c/busses/i2c-octeon-core.c
787
} else if (msgs[1].len <= 1024 && OCTEON_REG_BLOCK_CTL(i2c)) {
drivers/i2c/busses/i2c-octeon-core.c
789
ret = octeon_i2c_hlc_block_comp_read(i2c, msgs);
drivers/i2c/busses/i2c-octeon-core.c
791
ret = octeon_i2c_hlc_block_comp_write(i2c, msgs);
drivers/i2c/busses/i2c-octeon-core.c
807
ret = octeon_i2c_start(i2c);
drivers/i2c/busses/i2c-octeon-core.c
812
ret = octeon_i2c_read(i2c, pmsg->addr, pmsg->buf,
drivers/i2c/busses/i2c-octeon-core.c
815
ret = octeon_i2c_write(i2c, pmsg->addr, pmsg->buf,
drivers/i2c/busses/i2c-octeon-core.c
818
octeon_i2c_stop(i2c);
drivers/i2c/busses/i2c-octeon-core.c
824
void octeon_i2c_set_clock(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-core.c
836
is_plat_otx2 = octeon_i2c_is_otx2(to_pci_dev(i2c->dev));
drivers/i2c/busses/i2c-octeon-core.c
841
if (!IS_LS_FREQ(i2c->twsi_freq))
drivers/i2c/busses/i2c-octeon-core.c
858
tclk = i2c->twsi_freq * (mdiv_idx + 1) * ds;
drivers/i2c/busses/i2c-octeon-core.c
86
static bool octeon_i2c_hlc_test_valid(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-core.c
861
thp_base = (i2c->sys_freq / tclk) - 2;
drivers/i2c/busses/i2c-octeon-core.c
863
thp_base = (i2c->sys_freq / (tclk * 2)) - 1;
drivers/i2c/busses/i2c-octeon-core.c
871
foscl = i2c->sys_freq / (thp_idx + 2);
drivers/i2c/busses/i2c-octeon-core.c
873
foscl = i2c->sys_freq /
drivers/i2c/busses/i2c-octeon-core.c
877
if (foscl > i2c->twsi_freq)
drivers/i2c/busses/i2c-octeon-core.c
879
diff = abs(foscl - i2c->twsi_freq);
drivers/i2c/busses/i2c-octeon-core.c
88
return (__raw_readq(i2c->twsi_base + OCTEON_REG_SW_TWSI(i2c)) & SW_TWSI_V) == 0;
drivers/i2c/busses/i2c-octeon-core.c
894
octeon_i2c_reg_write(i2c, SW_TWSI_OP_TWSI_CLK, thp);
drivers/i2c/busses/i2c-octeon-core.c
895
octeon_i2c_reg_write(i2c, SW_TWSI_EOP_TWSI_CLKCTL, (mdiv << 3) | ndiv);
drivers/i2c/busses/i2c-octeon-core.c
899
mode = __raw_readq(i2c->twsi_base + OCTEON_REG_MODE(i2c));
drivers/i2c/busses/i2c-octeon-core.c
901
if (!IS_LS_FREQ(i2c->twsi_freq))
drivers/i2c/busses/i2c-octeon-core.c
905
octeon_i2c_writeq_flush(mode, i2c->twsi_base + OCTEON_REG_MODE(i2c));
drivers/i2c/busses/i2c-octeon-core.c
909
int octeon_i2c_init_lowlevel(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-core.c
91
static void octeon_i2c_hlc_int_clear(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-core.c
915
octeon_i2c_reg_write(i2c, SW_TWSI_EOP_TWSI_RST, 0);
drivers/i2c/busses/i2c-octeon-core.c
919
status = octeon_i2c_stat_read(i2c);
drivers/i2c/busses/i2c-octeon-core.c
925
dev_err(i2c->dev, "%s: TWSI_RST failed! (0x%x)\n",
drivers/i2c/busses/i2c-octeon-core.c
931
octeon_i2c_hlc_enable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
932
octeon_i2c_hlc_disable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
938
struct octeon_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-octeon-core.c
94
octeon_i2c_write_int(i2c, TWSI_INT_ST_INT | TWSI_INT_TS_INT);
drivers/i2c/busses/i2c-octeon-core.c
941
state = octeon_i2c_read_int(i2c);
drivers/i2c/busses/i2c-octeon-core.c
947
struct octeon_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-octeon-core.c
949
octeon_i2c_write_int(i2c, val ? 0 : TWSI_INT_SCL_OVR);
drivers/i2c/busses/i2c-octeon-core.c
954
struct octeon_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-octeon-core.c
957
state = octeon_i2c_read_int(i2c);
drivers/i2c/busses/i2c-octeon-core.c
963
struct octeon_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-octeon-core.c
965
octeon_i2c_hlc_disable(i2c);
drivers/i2c/busses/i2c-octeon-core.c
966
octeon_i2c_reg_write(i2c, SW_TWSI_EOP_TWSI_RST, 0);
drivers/i2c/busses/i2c-octeon-core.c
974
octeon_i2c_ctl_write(i2c, TWSI_CTL_ENAB);
drivers/i2c/busses/i2c-octeon-core.c
976
octeon_i2c_write_int(i2c, 0);
drivers/i2c/busses/i2c-octeon-core.c
981
struct octeon_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-octeon-core.c
988
octeon_i2c_write_int(i2c, TWSI_INT_SDA_OVR | TWSI_INT_SCL_OVR);
drivers/i2c/busses/i2c-octeon-core.c
990
octeon_i2c_write_int(i2c, TWSI_INT_SDA_OVR);
drivers/i2c/busses/i2c-octeon-core.c
992
octeon_i2c_write_int(i2c, 0);
drivers/i2c/busses/i2c-octeon-core.h
163
static inline void octeon_i2c_reg_write(struct octeon_i2c *i2c, u64 eop_reg, u8 data)
drivers/i2c/busses/i2c-octeon-core.h
168
__raw_writeq(SW_TWSI_V | eop_reg | data, i2c->twsi_base + OCTEON_REG_SW_TWSI(i2c));
drivers/i2c/busses/i2c-octeon-core.h
170
tmp = __raw_readq(i2c->twsi_base + OCTEON_REG_SW_TWSI(i2c));
drivers/i2c/busses/i2c-octeon-core.h
176
#define octeon_i2c_ctl_write(i2c, val) \
drivers/i2c/busses/i2c-octeon-core.h
177
octeon_i2c_reg_write(i2c, SW_TWSI_EOP_TWSI_CTL, val)
drivers/i2c/busses/i2c-octeon-core.h
178
#define octeon_i2c_data_write(i2c, val) \
drivers/i2c/busses/i2c-octeon-core.h
179
octeon_i2c_reg_write(i2c, SW_TWSI_EOP_TWSI_DATA, val)
drivers/i2c/busses/i2c-octeon-core.h
190
static inline int octeon_i2c_reg_read(struct octeon_i2c *i2c, u64 eop_reg,
drivers/i2c/busses/i2c-octeon-core.h
196
__raw_writeq(SW_TWSI_V | eop_reg | SW_TWSI_R, i2c->twsi_base + OCTEON_REG_SW_TWSI(i2c));
drivers/i2c/busses/i2c-octeon-core.h
198
tmp = __raw_readq(i2c->twsi_base + OCTEON_REG_SW_TWSI(i2c));
drivers/i2c/busses/i2c-octeon-core.h
210
#define octeon_i2c_ctl_read(i2c) \
drivers/i2c/busses/i2c-octeon-core.h
211
octeon_i2c_reg_read(i2c, SW_TWSI_EOP_TWSI_CTL, NULL)
drivers/i2c/busses/i2c-octeon-core.h
212
#define octeon_i2c_data_read(i2c, error) \
drivers/i2c/busses/i2c-octeon-core.h
213
octeon_i2c_reg_read(i2c, SW_TWSI_EOP_TWSI_DATA, error)
drivers/i2c/busses/i2c-octeon-core.h
214
#define octeon_i2c_stat_read(i2c) \
drivers/i2c/busses/i2c-octeon-core.h
215
octeon_i2c_reg_read(i2c, SW_TWSI_EOP_TWSI_STAT, NULL)
drivers/i2c/busses/i2c-octeon-core.h
223
static inline u64 octeon_i2c_read_int(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-core.h
225
return __raw_readq(i2c->twsi_base + OCTEON_REG_TWSI_INT(i2c));
drivers/i2c/busses/i2c-octeon-core.h
233
static inline void octeon_i2c_write_int(struct octeon_i2c *i2c, u64 data)
drivers/i2c/busses/i2c-octeon-core.h
235
octeon_i2c_writeq_flush(data, i2c->twsi_base + OCTEON_REG_TWSI_INT(i2c));
drivers/i2c/busses/i2c-octeon-core.h
257
int octeon_i2c_init_lowlevel(struct octeon_i2c *i2c);
drivers/i2c/busses/i2c-octeon-core.h
258
void octeon_i2c_set_clock(struct octeon_i2c *i2c);
drivers/i2c/busses/i2c-octeon-platdrv.c
105
struct octeon_i2c *i2c = dev_id;
drivers/i2c/busses/i2c-octeon-platdrv.c
107
i2c->hlc_int_disable(i2c);
drivers/i2c/busses/i2c-octeon-platdrv.c
108
wake_up(&i2c->queue);
drivers/i2c/busses/i2c-octeon-platdrv.c
113
static void octeon_i2c_hlc_int_enable(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-platdrv.c
115
octeon_i2c_write_int(i2c, TWSI_INT_ST_EN);
drivers/i2c/busses/i2c-octeon-platdrv.c
139
struct octeon_i2c *i2c;
drivers/i2c/busses/i2c-octeon-platdrv.c
158
i2c = devm_kzalloc(&pdev->dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-octeon-platdrv.c
159
if (!i2c) {
drivers/i2c/busses/i2c-octeon-platdrv.c
163
i2c->dev = &pdev->dev;
drivers/i2c/busses/i2c-octeon-platdrv.c
165
i2c->roff.sw_twsi = 0x00;
drivers/i2c/busses/i2c-octeon-platdrv.c
166
i2c->roff.twsi_int = 0x10;
drivers/i2c/busses/i2c-octeon-platdrv.c
167
i2c->roff.sw_twsi_ext = 0x18;
drivers/i2c/busses/i2c-octeon-platdrv.c
169
i2c->twsi_base = devm_platform_ioremap_resource(pdev, 0);
drivers/i2c/busses/i2c-octeon-platdrv.c
170
if (IS_ERR(i2c->twsi_base)) {
drivers/i2c/busses/i2c-octeon-platdrv.c
171
result = PTR_ERR(i2c->twsi_base);
drivers/i2c/busses/i2c-octeon-platdrv.c
180
if (of_property_read_u32(node, "clock-frequency", &i2c->twsi_freq) &&
drivers/i2c/busses/i2c-octeon-platdrv.c
181
of_property_read_u32(node, "clock-rate", &i2c->twsi_freq)) {
drivers/i2c/busses/i2c-octeon-platdrv.c
182
dev_err(i2c->dev,
drivers/i2c/busses/i2c-octeon-platdrv.c
188
i2c->sys_freq = octeon_get_io_clock_rate();
drivers/i2c/busses/i2c-octeon-platdrv.c
190
init_waitqueue_head(&i2c->queue);
drivers/i2c/busses/i2c-octeon-platdrv.c
192
i2c->irq = irq;
drivers/i2c/busses/i2c-octeon-platdrv.c
195
i2c->hlc_irq = hlc_irq;
drivers/i2c/busses/i2c-octeon-platdrv.c
197
i2c->int_enable = octeon_i2c_int_enable78;
drivers/i2c/busses/i2c-octeon-platdrv.c
198
i2c->int_disable = octeon_i2c_int_disable78;
drivers/i2c/busses/i2c-octeon-platdrv.c
199
i2c->hlc_int_enable = octeon_i2c_hlc_int_enable78;
drivers/i2c/busses/i2c-octeon-platdrv.c
200
i2c->hlc_int_disable = octeon_i2c_hlc_int_disable78;
drivers/i2c/busses/i2c-octeon-platdrv.c
202
irq_set_status_flags(i2c->irq, IRQ_NOAUTOEN);
drivers/i2c/busses/i2c-octeon-platdrv.c
203
irq_set_status_flags(i2c->hlc_irq, IRQ_NOAUTOEN);
drivers/i2c/busses/i2c-octeon-platdrv.c
205
result = devm_request_irq(&pdev->dev, i2c->hlc_irq,
drivers/i2c/busses/i2c-octeon-platdrv.c
207
DRV_NAME, i2c);
drivers/i2c/busses/i2c-octeon-platdrv.c
209
dev_err(i2c->dev, "failed to attach interrupt\n");
drivers/i2c/busses/i2c-octeon-platdrv.c
213
i2c->int_enable = octeon_i2c_int_enable;
drivers/i2c/busses/i2c-octeon-platdrv.c
214
i2c->int_disable = octeon_i2c_int_disable;
drivers/i2c/busses/i2c-octeon-platdrv.c
215
i2c->hlc_int_enable = octeon_i2c_hlc_int_enable;
drivers/i2c/busses/i2c-octeon-platdrv.c
216
i2c->hlc_int_disable = octeon_i2c_int_disable;
drivers/i2c/busses/i2c-octeon-platdrv.c
219
result = devm_request_irq(&pdev->dev, i2c->irq,
drivers/i2c/busses/i2c-octeon-platdrv.c
220
octeon_i2c_isr, 0, DRV_NAME, i2c);
drivers/i2c/busses/i2c-octeon-platdrv.c
222
dev_err(i2c->dev, "failed to attach interrupt\n");
drivers/i2c/busses/i2c-octeon-platdrv.c
227
i2c->broken_irq_check = true;
drivers/i2c/busses/i2c-octeon-platdrv.c
229
result = octeon_i2c_init_lowlevel(i2c);
drivers/i2c/busses/i2c-octeon-platdrv.c
231
dev_err(i2c->dev, "init low level failed\n");
drivers/i2c/busses/i2c-octeon-platdrv.c
235
octeon_i2c_set_clock(i2c);
drivers/i2c/busses/i2c-octeon-platdrv.c
237
i2c->adap = octeon_i2c_ops;
drivers/i2c/busses/i2c-octeon-platdrv.c
238
i2c->adap.timeout = msecs_to_jiffies(2);
drivers/i2c/busses/i2c-octeon-platdrv.c
239
i2c->adap.retries = 5;
drivers/i2c/busses/i2c-octeon-platdrv.c
240
i2c->adap.bus_recovery_info = &octeon_i2c_recovery_info;
drivers/i2c/busses/i2c-octeon-platdrv.c
241
i2c->adap.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-octeon-platdrv.c
242
i2c->adap.dev.of_node = node;
drivers/i2c/busses/i2c-octeon-platdrv.c
243
i2c_set_adapdata(&i2c->adap, i2c);
drivers/i2c/busses/i2c-octeon-platdrv.c
244
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-octeon-platdrv.c
246
result = i2c_add_adapter(&i2c->adap);
drivers/i2c/busses/i2c-octeon-platdrv.c
249
dev_info(i2c->dev, "probed\n");
drivers/i2c/busses/i2c-octeon-platdrv.c
258
struct octeon_i2c *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-octeon-platdrv.c
260
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-octeon-platdrv.c
38
static void octeon_i2c_int_enable(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-platdrv.c
40
octeon_i2c_write_int(i2c, TWSI_INT_CORE_EN);
drivers/i2c/busses/i2c-octeon-platdrv.c
44
static void octeon_i2c_int_disable(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-platdrv.c
47
octeon_i2c_write_int(i2c, 0);
drivers/i2c/busses/i2c-octeon-platdrv.c
57
static void octeon_i2c_int_enable78(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-platdrv.c
59
atomic_inc_return(&i2c->int_enable_cnt);
drivers/i2c/busses/i2c-octeon-platdrv.c
60
enable_irq(i2c->irq);
drivers/i2c/busses/i2c-octeon-platdrv.c
78
static void octeon_i2c_int_disable78(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-platdrv.c
80
__octeon_i2c_irq_disable(&i2c->int_enable_cnt, i2c->irq);
drivers/i2c/busses/i2c-octeon-platdrv.c
90
static void octeon_i2c_hlc_int_enable78(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-platdrv.c
92
atomic_inc_return(&i2c->hlc_int_enable_cnt);
drivers/i2c/busses/i2c-octeon-platdrv.c
93
enable_irq(i2c->hlc_irq);
drivers/i2c/busses/i2c-octeon-platdrv.c
97
static void octeon_i2c_hlc_int_disable78(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-octeon-platdrv.c
99
__octeon_i2c_irq_disable(&i2c->hlc_int_enable_cnt, i2c->hlc_irq);
drivers/i2c/busses/i2c-pca-platform.c
103
struct i2c_pca_pf_data *i2c = pd;
drivers/i2c/busses/i2c-pca-platform.c
105
dev_warn(&i2c->adap.dev, "No reset-pin found. Chip may get stuck!\n");
drivers/i2c/busses/i2c-pca-platform.c
110
struct i2c_pca_pf_data *i2c = pd;
drivers/i2c/busses/i2c-pca-platform.c
112
gpiod_set_value(i2c->gpio, 1);
drivers/i2c/busses/i2c-pca-platform.c
114
gpiod_set_value(i2c->gpio, 0);
drivers/i2c/busses/i2c-pca-platform.c
119
struct i2c_pca_pf_data *i2c = dev_id;
drivers/i2c/busses/i2c-pca-platform.c
121
if ((i2c->algo_data.read_byte(i2c, I2C_PCA_CON) & I2C_PCA_CON_SI) == 0)
drivers/i2c/busses/i2c-pca-platform.c
124
wake_up(&i2c->wait);
drivers/i2c/busses/i2c-pca-platform.c
132
struct i2c_pca_pf_data *i2c;
drivers/i2c/busses/i2c-pca-platform.c
145
i2c = devm_kzalloc(&pdev->dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-pca-platform.c
146
if (!i2c)
drivers/i2c/busses/i2c-pca-platform.c
149
i2c->reg_base = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
drivers/i2c/busses/i2c-pca-platform.c
150
if (IS_ERR(i2c->reg_base))
drivers/i2c/busses/i2c-pca-platform.c
151
return PTR_ERR(i2c->reg_base);
drivers/i2c/busses/i2c-pca-platform.c
154
init_waitqueue_head(&i2c->wait);
drivers/i2c/busses/i2c-pca-platform.c
156
i2c->irq = irq;
drivers/i2c/busses/i2c-pca-platform.c
158
i2c->adap.nr = pdev->id;
drivers/i2c/busses/i2c-pca-platform.c
159
i2c->adap.owner = THIS_MODULE;
drivers/i2c/busses/i2c-pca-platform.c
160
snprintf(i2c->adap.name, sizeof(i2c->adap.name),
drivers/i2c/busses/i2c-pca-platform.c
163
i2c->adap.algo_data = &i2c->algo_data;
drivers/i2c/busses/i2c-pca-platform.c
164
i2c->adap.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-pca-platform.c
165
i2c->adap.dev.of_node = np;
drivers/i2c/busses/i2c-pca-platform.c
167
i2c->gpio = devm_gpiod_get_optional(&pdev->dev, "reset", GPIOD_OUT_LOW);
drivers/i2c/busses/i2c-pca-platform.c
168
if (IS_ERR(i2c->gpio))
drivers/i2c/busses/i2c-pca-platform.c
169
return PTR_ERR(i2c->gpio);
drivers/i2c/busses/i2c-pca-platform.c
171
i2c->adap.timeout = HZ;
drivers/i2c/busses/i2c-pca-platform.c
173
&i2c->algo_data.i2c_clock);
drivers/i2c/busses/i2c-pca-platform.c
175
i2c->algo_data.i2c_clock = 59000;
drivers/i2c/busses/i2c-pca-platform.c
178
i2c->adap.timeout = platform_data->timeout;
drivers/i2c/busses/i2c-pca-platform.c
179
i2c->algo_data.i2c_clock = platform_data->i2c_clock_speed;
drivers/i2c/busses/i2c-pca-platform.c
182
i2c->algo_data.data = i2c;
drivers/i2c/busses/i2c-pca-platform.c
183
i2c->algo_data.wait_for_completion_cb = i2c_pca_pf_waitforcompletion;
drivers/i2c/busses/i2c-pca-platform.c
184
if (i2c->gpio)
drivers/i2c/busses/i2c-pca-platform.c
185
i2c->algo_data.reset_chip = i2c_pca_pf_resetchip;
drivers/i2c/busses/i2c-pca-platform.c
187
i2c->algo_data.reset_chip = i2c_pca_pf_dummyreset;
drivers/i2c/busses/i2c-pca-platform.c
191
i2c->algo_data.write_byte = i2c_pca_pf_writebyte32;
drivers/i2c/busses/i2c-pca-platform.c
192
i2c->algo_data.read_byte = i2c_pca_pf_readbyte32;
drivers/i2c/busses/i2c-pca-platform.c
195
i2c->algo_data.write_byte = i2c_pca_pf_writebyte16;
drivers/i2c/busses/i2c-pca-platform.c
196
i2c->algo_data.read_byte = i2c_pca_pf_readbyte16;
drivers/i2c/busses/i2c-pca-platform.c
200
i2c->algo_data.write_byte = i2c_pca_pf_writebyte8;
drivers/i2c/busses/i2c-pca-platform.c
201
i2c->algo_data.read_byte = i2c_pca_pf_readbyte8;
drivers/i2c/busses/i2c-pca-platform.c
207
IRQF_TRIGGER_FALLING, pdev->name, i2c);
drivers/i2c/busses/i2c-pca-platform.c
212
ret = i2c_pca_add_numbered_bus(&i2c->adap);
drivers/i2c/busses/i2c-pca-platform.c
216
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-pca-platform.c
225
struct i2c_pca_pf_data *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-pca-platform.c
227
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-pca-platform.c
41
struct i2c_pca_pf_data *i2c = pd;
drivers/i2c/busses/i2c-pca-platform.c
42
return ioread8(i2c->reg_base + reg);
drivers/i2c/busses/i2c-pca-platform.c
47
struct i2c_pca_pf_data *i2c = pd;
drivers/i2c/busses/i2c-pca-platform.c
48
return ioread8(i2c->reg_base + reg * 2);
drivers/i2c/busses/i2c-pca-platform.c
53
struct i2c_pca_pf_data *i2c = pd;
drivers/i2c/busses/i2c-pca-platform.c
54
return ioread8(i2c->reg_base + reg * 4);
drivers/i2c/busses/i2c-pca-platform.c
59
struct i2c_pca_pf_data *i2c = pd;
drivers/i2c/busses/i2c-pca-platform.c
60
iowrite8(val, i2c->reg_base + reg);
drivers/i2c/busses/i2c-pca-platform.c
65
struct i2c_pca_pf_data *i2c = pd;
drivers/i2c/busses/i2c-pca-platform.c
66
iowrite8(val, i2c->reg_base + reg * 2);
drivers/i2c/busses/i2c-pca-platform.c
71
struct i2c_pca_pf_data *i2c = pd;
drivers/i2c/busses/i2c-pca-platform.c
72
iowrite8(val, i2c->reg_base + reg * 4);
drivers/i2c/busses/i2c-pca-platform.c
78
struct i2c_pca_pf_data *i2c = pd;
drivers/i2c/busses/i2c-pca-platform.c
82
if (i2c->irq) {
drivers/i2c/busses/i2c-pca-platform.c
83
ret = wait_event_timeout(i2c->wait,
drivers/i2c/busses/i2c-pca-platform.c
84
i2c->algo_data.read_byte(i2c, I2C_PCA_CON)
drivers/i2c/busses/i2c-pca-platform.c
85
& I2C_PCA_CON_SI, i2c->adap.timeout);
drivers/i2c/busses/i2c-pca-platform.c
88
timeout = jiffies + i2c->adap.timeout;
drivers/i2c/busses/i2c-pca-platform.c
91
if (i2c->algo_data.read_byte(i2c, I2C_PCA_CON)
drivers/i2c/busses/i2c-pxa.c
1002
struct pxa_i2c *i2c = dev_id;
drivers/i2c/busses/i2c-pxa.c
1003
u32 isr = readl(_ISR(i2c));
drivers/i2c/busses/i2c-pxa.c
1009
dev_dbg(&i2c->adap.dev, "%s: ISR=%08x, ICR=%08x, IBMR=%02x\n",
drivers/i2c/busses/i2c-pxa.c
1010
__func__, isr, readl(_ICR(i2c)), readl(_IBMR(i2c)));
drivers/i2c/busses/i2c-pxa.c
1014
if (i2c->irqlogidx < ARRAY_SIZE(i2c->isrlog))
drivers/i2c/busses/i2c-pxa.c
1015
i2c->isrlog[i2c->irqlogidx++] = isr;
drivers/i2c/busses/i2c-pxa.c
1017
show_state(i2c);
drivers/i2c/busses/i2c-pxa.c
1022
writel(isr & VALID_INT_SOURCE, _ISR(i2c));
drivers/i2c/busses/i2c-pxa.c
1025
i2c_pxa_slave_start(i2c, isr);
drivers/i2c/busses/i2c-pxa.c
1027
i2c_pxa_slave_stop(i2c);
drivers/i2c/busses/i2c-pxa.c
1029
if (i2c_pxa_is_slavemode(i2c)) {
drivers/i2c/busses/i2c-pxa.c
1031
i2c_pxa_slave_txempty(i2c, isr);
drivers/i2c/busses/i2c-pxa.c
1033
i2c_pxa_slave_rxfull(i2c, isr);
drivers/i2c/busses/i2c-pxa.c
1034
} else if (i2c->msg && (!i2c->highmode_enter)) {
drivers/i2c/busses/i2c-pxa.c
1036
i2c_pxa_irq_txempty(i2c, isr);
drivers/i2c/busses/i2c-pxa.c
1038
i2c_pxa_irq_rxfull(i2c, isr);
drivers/i2c/busses/i2c-pxa.c
1039
} else if ((isr & ISR_ITE) && i2c->highmode_enter) {
drivers/i2c/busses/i2c-pxa.c
1040
i2c->highmode_enter = false;
drivers/i2c/busses/i2c-pxa.c
1041
wake_up(&i2c->wait);
drivers/i2c/busses/i2c-pxa.c
1043
i2c_pxa_scream_blue_murder(i2c, "spurious irq");
drivers/i2c/busses/i2c-pxa.c
1052
static int i2c_pxa_do_xfer(struct pxa_i2c *i2c, struct i2c_msg *msg, int num)
drivers/i2c/busses/i2c-pxa.c
1060
ret = i2c_pxa_wait_bus_not_busy(i2c);
drivers/i2c/busses/i2c-pxa.c
1062
dev_err(&i2c->adap.dev, "i2c_pxa: timeout waiting for bus free\n");
drivers/i2c/busses/i2c-pxa.c
1063
i2c_recover_bus(&i2c->adap);
drivers/i2c/busses/i2c-pxa.c
1070
ret = i2c_pxa_set_master(i2c);
drivers/i2c/busses/i2c-pxa.c
1072
dev_err(&i2c->adap.dev, "i2c_pxa_set_master: error %d\n", ret);
drivers/i2c/busses/i2c-pxa.c
1076
if (i2c->high_mode) {
drivers/i2c/busses/i2c-pxa.c
1077
ret = i2c_pxa_send_mastercode(i2c);
drivers/i2c/busses/i2c-pxa.c
1079
dev_err(&i2c->adap.dev, "i2c_pxa_send_mastercode timeout\n");
drivers/i2c/busses/i2c-pxa.c
1084
spin_lock_irq(&i2c->lock);
drivers/i2c/busses/i2c-pxa.c
1086
i2c->msg = msg;
drivers/i2c/busses/i2c-pxa.c
1087
i2c->msg_num = num;
drivers/i2c/busses/i2c-pxa.c
1088
i2c->msg_idx = 0;
drivers/i2c/busses/i2c-pxa.c
1089
i2c->msg_ptr = 0;
drivers/i2c/busses/i2c-pxa.c
1090
i2c->irqlogidx = 0;
drivers/i2c/busses/i2c-pxa.c
1092
i2c_pxa_start_message(i2c);
drivers/i2c/busses/i2c-pxa.c
1094
spin_unlock_irq(&i2c->lock);
drivers/i2c/busses/i2c-pxa.c
1099
time_left = wait_event_timeout(i2c->wait, i2c->msg_num == 0, HZ * 5);
drivers/i2c/busses/i2c-pxa.c
1100
i2c_pxa_stop_message(i2c);
drivers/i2c/busses/i2c-pxa.c
1105
ret = i2c->msg_idx;
drivers/i2c/busses/i2c-pxa.c
1107
if (!time_left && i2c->msg_num) {
drivers/i2c/busses/i2c-pxa.c
1108
i2c_pxa_scream_blue_murder(i2c, "timeout with active message");
drivers/i2c/busses/i2c-pxa.c
1109
i2c_recover_bus(&i2c->adap);
drivers/i2c/busses/i2c-pxa.c
1117
static int i2c_pxa_internal_xfer(struct pxa_i2c *i2c,
drivers/i2c/busses/i2c-pxa.c
1125
ret = xfer(i2c, msgs, num);
drivers/i2c/busses/i2c-pxa.c
1128
if (++i >= i2c->adap.retries)
drivers/i2c/busses/i2c-pxa.c
1132
dev_dbg(&i2c->adap.dev, "Retrying transmission\n");
drivers/i2c/busses/i2c-pxa.c
1136
i2c_pxa_scream_blue_murder(i2c, "exhausted retries");
drivers/i2c/busses/i2c-pxa.c
1139
i2c_pxa_set_slave(i2c, ret);
drivers/i2c/busses/i2c-pxa.c
1146
struct pxa_i2c *i2c = adap->algo_data;
drivers/i2c/busses/i2c-pxa.c
1148
if (i2c->reset_before_xfer) {
drivers/i2c/busses/i2c-pxa.c
1149
i2c_pxa_reset(i2c);
drivers/i2c/busses/i2c-pxa.c
1150
i2c->reset_before_xfer = false;
drivers/i2c/busses/i2c-pxa.c
1153
return i2c_pxa_internal_xfer(i2c, msgs, num, i2c_pxa_do_xfer);
drivers/i2c/busses/i2c-pxa.c
1172
static int i2c_pxa_pio_set_master(struct pxa_i2c *i2c)
drivers/i2c/busses/i2c-pxa.c
1180
while (timeout-- && readl(_ISR(i2c)) & (ISR_IBB | ISR_UB))
drivers/i2c/busses/i2c-pxa.c
1184
show_state(i2c);
drivers/i2c/busses/i2c-pxa.c
1185
dev_err(&i2c->adap.dev,
drivers/i2c/busses/i2c-pxa.c
1193
writel(readl(_ICR(i2c)) | ICR_SCLE, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
1198
static int i2c_pxa_do_pio_xfer(struct pxa_i2c *i2c,
drivers/i2c/busses/i2c-pxa.c
1204
ret = i2c_pxa_pio_set_master(i2c);
drivers/i2c/busses/i2c-pxa.c
1208
i2c->msg = msg;
drivers/i2c/busses/i2c-pxa.c
1209
i2c->msg_num = num;
drivers/i2c/busses/i2c-pxa.c
1210
i2c->msg_idx = 0;
drivers/i2c/busses/i2c-pxa.c
1211
i2c->msg_ptr = 0;
drivers/i2c/busses/i2c-pxa.c
1212
i2c->irqlogidx = 0;
drivers/i2c/busses/i2c-pxa.c
1214
i2c_pxa_start_message(i2c);
drivers/i2c/busses/i2c-pxa.c
1216
while (i2c->msg_num > 0 && --timeout) {
drivers/i2c/busses/i2c-pxa.c
1217
i2c_pxa_handler(0, i2c);
drivers/i2c/busses/i2c-pxa.c
1221
i2c_pxa_stop_message(i2c);
drivers/i2c/busses/i2c-pxa.c
1226
ret = i2c->msg_idx;
drivers/i2c/busses/i2c-pxa.c
1230
i2c_pxa_scream_blue_murder(i2c, "timeout (do_pio_xfer)");
drivers/i2c/busses/i2c-pxa.c
1240
struct pxa_i2c *i2c = adap->algo_data;
drivers/i2c/busses/i2c-pxa.c
1246
if (!(readl(_ICR(i2c)) & ICR_IUE))
drivers/i2c/busses/i2c-pxa.c
1247
i2c_pxa_reset(i2c);
drivers/i2c/busses/i2c-pxa.c
1249
return i2c_pxa_internal_xfer(i2c, msgs, num, i2c_pxa_do_pio_xfer);
drivers/i2c/busses/i2c-pxa.c
1261
static int i2c_pxa_probe_dt(struct platform_device *pdev, struct pxa_i2c *i2c,
drivers/i2c/busses/i2c-pxa.c
1270
i2c->adap.nr = -1;
drivers/i2c/busses/i2c-pxa.c
1272
i2c->use_pio = of_property_read_bool(np, "mrvl,i2c-polling");
drivers/i2c/busses/i2c-pxa.c
1273
i2c->fast_mode = of_property_read_bool(np, "mrvl,i2c-fast-mode");
drivers/i2c/busses/i2c-pxa.c
1281
struct pxa_i2c *i2c,
drivers/i2c/busses/i2c-pxa.c
1289
i2c->use_pio = plat->use_pio;
drivers/i2c/busses/i2c-pxa.c
1290
i2c->fast_mode = plat->fast_mode;
drivers/i2c/busses/i2c-pxa.c
1291
i2c->high_mode = plat->high_mode;
drivers/i2c/busses/i2c-pxa.c
1292
i2c->master_code = plat->master_code;
drivers/i2c/busses/i2c-pxa.c
1293
if (!i2c->master_code)
drivers/i2c/busses/i2c-pxa.c
1294
i2c->master_code = 0xe;
drivers/i2c/busses/i2c-pxa.c
1295
i2c->rate = plat->rate;
drivers/i2c/busses/i2c-pxa.c
1302
struct pxa_i2c *i2c = adap->algo_data;
drivers/i2c/busses/i2c-pxa.c
1303
u32 ibmr = readl(_IBMR(i2c));
drivers/i2c/busses/i2c-pxa.c
1309
gpiod_set_value(i2c->recovery.scl_gpiod, ibmr & IBMR_SCLS);
drivers/i2c/busses/i2c-pxa.c
1310
gpiod_set_value(i2c->recovery.sda_gpiod, ibmr & IBMR_SDAS);
drivers/i2c/busses/i2c-pxa.c
1312
WARN_ON(pinctrl_select_state(i2c->pinctrl, i2c->pinctrl_recovery));
drivers/i2c/busses/i2c-pxa.c
1317
struct pxa_i2c *i2c = adap->algo_data;
drivers/i2c/busses/i2c-pxa.c
1324
isr = readl(_ISR(i2c));
drivers/i2c/busses/i2c-pxa.c
1326
dev_dbg(&i2c->adap.dev,
drivers/i2c/busses/i2c-pxa.c
1328
i2c_pxa_do_reset(i2c);
drivers/i2c/busses/i2c-pxa.c
1331
WARN_ON(pinctrl_select_state(i2c->pinctrl, i2c->pinctrl_default));
drivers/i2c/busses/i2c-pxa.c
1333
dev_dbg(&i2c->adap.dev, "recovery: IBMR 0x%08x ISR 0x%08x\n",
drivers/i2c/busses/i2c-pxa.c
1334
readl(_IBMR(i2c)), readl(_ISR(i2c)));
drivers/i2c/busses/i2c-pxa.c
1336
i2c_pxa_enable(i2c);
drivers/i2c/busses/i2c-pxa.c
1339
static int i2c_pxa_init_recovery(struct pxa_i2c *i2c)
drivers/i2c/busses/i2c-pxa.c
1341
struct i2c_bus_recovery_info *bri = &i2c->recovery;
drivers/i2c/busses/i2c-pxa.c
1342
struct device *dev = i2c->adap.dev.parent;
drivers/i2c/busses/i2c-pxa.c
1353
i2c->pinctrl = devm_pinctrl_get(dev);
drivers/i2c/busses/i2c-pxa.c
1354
if (PTR_ERR(i2c->pinctrl) == -ENODEV)
drivers/i2c/busses/i2c-pxa.c
1355
i2c->pinctrl = NULL;
drivers/i2c/busses/i2c-pxa.c
1356
if (IS_ERR(i2c->pinctrl))
drivers/i2c/busses/i2c-pxa.c
1357
return PTR_ERR(i2c->pinctrl);
drivers/i2c/busses/i2c-pxa.c
1359
if (!i2c->pinctrl)
drivers/i2c/busses/i2c-pxa.c
1362
i2c->pinctrl_default = pinctrl_lookup_state(i2c->pinctrl,
drivers/i2c/busses/i2c-pxa.c
1364
i2c->pinctrl_recovery = pinctrl_lookup_state(i2c->pinctrl, "recovery");
drivers/i2c/busses/i2c-pxa.c
1366
if (IS_ERR(i2c->pinctrl_default) || IS_ERR(i2c->pinctrl_recovery)) {
drivers/i2c/busses/i2c-pxa.c
1368
PTR_ERR(i2c->pinctrl_default),
drivers/i2c/busses/i2c-pxa.c
1369
PTR_ERR(i2c->pinctrl_recovery));
drivers/i2c/busses/i2c-pxa.c
1411
i2c->adap.bus_recovery_info = bri;
drivers/i2c/busses/i2c-pxa.c
1420
pinctrl_select_state(i2c->pinctrl, i2c->pinctrl_recovery);
drivers/i2c/busses/i2c-pxa.c
1422
return pinctrl_select_state(i2c->pinctrl, i2c->pinctrl_default);
drivers/i2c/busses/i2c-pxa.c
1429
struct pxa_i2c *i2c;
drivers/i2c/busses/i2c-pxa.c
1433
i2c = devm_kzalloc(&dev->dev, sizeof(struct pxa_i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-pxa.c
1434
if (!i2c)
drivers/i2c/busses/i2c-pxa.c
1438
i2c->adap.nr = dev->id;
drivers/i2c/busses/i2c-pxa.c
1439
i2c->adap.owner = THIS_MODULE;
drivers/i2c/busses/i2c-pxa.c
1440
i2c->adap.retries = 5;
drivers/i2c/busses/i2c-pxa.c
1441
i2c->adap.algo_data = i2c;
drivers/i2c/busses/i2c-pxa.c
1442
i2c->adap.dev.parent = &dev->dev;
drivers/i2c/busses/i2c-pxa.c
1444
i2c->adap.dev.of_node = dev->dev.of_node;
drivers/i2c/busses/i2c-pxa.c
1447
i2c->reg_base = devm_platform_get_and_ioremap_resource(dev, 0, &res);
drivers/i2c/busses/i2c-pxa.c
1448
if (IS_ERR(i2c->reg_base))
drivers/i2c/busses/i2c-pxa.c
1449
return PTR_ERR(i2c->reg_base);
drivers/i2c/busses/i2c-pxa.c
1455
ret = i2c_pxa_init_recovery(i2c);
drivers/i2c/busses/i2c-pxa.c
1459
ret = i2c_pxa_probe_dt(dev, i2c, &i2c_type);
drivers/i2c/busses/i2c-pxa.c
1461
ret = i2c_pxa_probe_pdata(dev, i2c, &i2c_type);
drivers/i2c/busses/i2c-pxa.c
1465
spin_lock_init(&i2c->lock);
drivers/i2c/busses/i2c-pxa.c
1466
init_waitqueue_head(&i2c->wait);
drivers/i2c/busses/i2c-pxa.c
1468
strscpy(i2c->adap.name, "pxa_i2c-i2c", sizeof(i2c->adap.name));
drivers/i2c/busses/i2c-pxa.c
1470
i2c->clk = devm_clk_get(&dev->dev, NULL);
drivers/i2c/busses/i2c-pxa.c
1471
if (IS_ERR(i2c->clk))
drivers/i2c/busses/i2c-pxa.c
1472
return dev_err_probe(&dev->dev, PTR_ERR(i2c->clk),
drivers/i2c/busses/i2c-pxa.c
1475
i2c->reg_ibmr = i2c->reg_base + pxa_reg_layout[i2c_type].ibmr;
drivers/i2c/busses/i2c-pxa.c
1476
i2c->reg_idbr = i2c->reg_base + pxa_reg_layout[i2c_type].idbr;
drivers/i2c/busses/i2c-pxa.c
1477
i2c->reg_icr = i2c->reg_base + pxa_reg_layout[i2c_type].icr;
drivers/i2c/busses/i2c-pxa.c
1478
i2c->reg_isr = i2c->reg_base + pxa_reg_layout[i2c_type].isr;
drivers/i2c/busses/i2c-pxa.c
1479
i2c->fm_mask = pxa_reg_layout[i2c_type].fm;
drivers/i2c/busses/i2c-pxa.c
1480
i2c->hs_mask = pxa_reg_layout[i2c_type].hs;
drivers/i2c/busses/i2c-pxa.c
1483
i2c->reg_isar = i2c->reg_base + pxa_reg_layout[i2c_type].isar;
drivers/i2c/busses/i2c-pxa.c
1486
i2c->reg_ilcr = i2c->reg_base + pxa_reg_layout[i2c_type].ilcr;
drivers/i2c/busses/i2c-pxa.c
1487
i2c->reg_iwcr = i2c->reg_base + pxa_reg_layout[i2c_type].iwcr;
drivers/i2c/busses/i2c-pxa.c
1490
i2c->iobase = res->start;
drivers/i2c/busses/i2c-pxa.c
1491
i2c->iosize = resource_size(res);
drivers/i2c/busses/i2c-pxa.c
1493
i2c->irq = irq;
drivers/i2c/busses/i2c-pxa.c
1495
i2c->slave_addr = I2C_PXA_SLAVE_ADDR;
drivers/i2c/busses/i2c-pxa.c
1496
i2c->highmode_enter = false;
drivers/i2c/busses/i2c-pxa.c
1499
i2c->adap.class = plat->class;
drivers/i2c/busses/i2c-pxa.c
1502
if (i2c->high_mode) {
drivers/i2c/busses/i2c-pxa.c
1503
if (i2c->rate) {
drivers/i2c/busses/i2c-pxa.c
1504
clk_set_rate(i2c->clk, i2c->rate);
drivers/i2c/busses/i2c-pxa.c
1506
i2c->adap.name, clk_get_rate(i2c->clk));
drivers/i2c/busses/i2c-pxa.c
1509
i2c->adap.name);
drivers/i2c/busses/i2c-pxa.c
1512
ret = clk_prepare_enable(i2c->clk);
drivers/i2c/busses/i2c-pxa.c
1517
if (i2c->use_pio) {
drivers/i2c/busses/i2c-pxa.c
1518
i2c->adap.algo = &i2c_pxa_pio_algorithm;
drivers/i2c/busses/i2c-pxa.c
1520
i2c->adap.algo = &i2c_pxa_algorithm;
drivers/i2c/busses/i2c-pxa.c
1523
dev_name(&dev->dev), i2c);
drivers/i2c/busses/i2c-pxa.c
1536
if (i2c_type == REGS_A3700 && i2c->adap.bus_recovery_info)
drivers/i2c/busses/i2c-pxa.c
1537
i2c->reset_before_xfer = true;
drivers/i2c/busses/i2c-pxa.c
1539
i2c_pxa_reset(i2c);
drivers/i2c/busses/i2c-pxa.c
1541
ret = i2c_add_numbered_adapter(&i2c->adap);
drivers/i2c/busses/i2c-pxa.c
1545
platform_set_drvdata(dev, i2c);
drivers/i2c/busses/i2c-pxa.c
1548
dev_info(&i2c->adap.dev, " PXA I2C adapter, slave address %d\n",
drivers/i2c/busses/i2c-pxa.c
1549
i2c->slave_addr);
drivers/i2c/busses/i2c-pxa.c
1551
dev_info(&i2c->adap.dev, " PXA I2C adapter\n");
drivers/i2c/busses/i2c-pxa.c
1556
clk_disable_unprepare(i2c->clk);
drivers/i2c/busses/i2c-pxa.c
1562
struct pxa_i2c *i2c = platform_get_drvdata(dev);
drivers/i2c/busses/i2c-pxa.c
1564
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-pxa.c
1566
clk_disable_unprepare(i2c->clk);
drivers/i2c/busses/i2c-pxa.c
1571
struct pxa_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-pxa.c
1573
clk_disable(i2c->clk);
drivers/i2c/busses/i2c-pxa.c
1580
struct pxa_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-pxa.c
1582
clk_enable(i2c->clk);
drivers/i2c/busses/i2c-pxa.c
1583
i2c_pxa_reset(i2c);
drivers/i2c/busses/i2c-pxa.c
274
#define _IBMR(i2c) ((i2c)->reg_ibmr)
drivers/i2c/busses/i2c-pxa.c
275
#define _IDBR(i2c) ((i2c)->reg_idbr)
drivers/i2c/busses/i2c-pxa.c
276
#define _ICR(i2c) ((i2c)->reg_icr)
drivers/i2c/busses/i2c-pxa.c
277
#define _ISR(i2c) ((i2c)->reg_isr)
drivers/i2c/busses/i2c-pxa.c
278
#define _ISAR(i2c) ((i2c)->reg_isar)
drivers/i2c/busses/i2c-pxa.c
279
#define _ILCR(i2c) ((i2c)->reg_ilcr)
drivers/i2c/busses/i2c-pxa.c
280
#define _IWCR(i2c) ((i2c)->reg_iwcr)
drivers/i2c/busses/i2c-pxa.c
355
static void i2c_pxa_show_state(struct pxa_i2c *i2c, int lno, const char *fname)
drivers/i2c/busses/i2c-pxa.c
357
dev_dbg(&i2c->adap.dev, "state:%s:%d: ISR=%08x, ICR=%08x, IBMR=%02x\n", fname, lno,
drivers/i2c/busses/i2c-pxa.c
358
readl(_ISR(i2c)), readl(_ICR(i2c)), readl(_IBMR(i2c)));
drivers/i2c/busses/i2c-pxa.c
361
#define show_state(i2c) i2c_pxa_show_state(i2c, __LINE__, __func__)
drivers/i2c/busses/i2c-pxa.c
363
static void i2c_pxa_scream_blue_murder(struct pxa_i2c *i2c, const char *why)
drivers/i2c/busses/i2c-pxa.c
366
struct device *dev = &i2c->adap.dev;
drivers/i2c/busses/i2c-pxa.c
369
i2c->req_slave_addr >> 1, why);
drivers/i2c/busses/i2c-pxa.c
371
i2c->msg_num, i2c->msg_idx, i2c->msg_ptr);
drivers/i2c/busses/i2c-pxa.c
373
readl(_IBMR(i2c)), readl(_IDBR(i2c)), readl(_ICR(i2c)),
drivers/i2c/busses/i2c-pxa.c
374
readl(_ISR(i2c)));
drivers/i2c/busses/i2c-pxa.c
376
for (i = 0; i < i2c->irqlogidx; i++)
drivers/i2c/busses/i2c-pxa.c
377
pr_cont(" [%03x:%05x]", i2c->isrlog[i], i2c->icrlog[i]);
drivers/i2c/busses/i2c-pxa.c
385
#define show_state(i2c) do { } while (0)
drivers/i2c/busses/i2c-pxa.c
388
#define i2c_pxa_scream_blue_murder(i2c, why) do { } while (0)
drivers/i2c/busses/i2c-pxa.c
392
static void i2c_pxa_master_complete(struct pxa_i2c *i2c, int ret);
drivers/i2c/busses/i2c-pxa.c
394
static inline int i2c_pxa_is_slavemode(struct pxa_i2c *i2c)
drivers/i2c/busses/i2c-pxa.c
396
return !(readl(_ICR(i2c)) & ICR_SCLE);
drivers/i2c/busses/i2c-pxa.c
399
static void i2c_pxa_abort(struct pxa_i2c *i2c)
drivers/i2c/busses/i2c-pxa.c
403
if (i2c_pxa_is_slavemode(i2c)) {
drivers/i2c/busses/i2c-pxa.c
404
dev_dbg(&i2c->adap.dev, "%s: called in slave mode\n", __func__);
drivers/i2c/busses/i2c-pxa.c
408
while ((i > 0) && (readl(_IBMR(i2c)) & IBMR_SDAS) == 0) {
drivers/i2c/busses/i2c-pxa.c
409
unsigned long icr = readl(_ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
414
writel(icr, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
416
show_state(i2c);
drivers/i2c/busses/i2c-pxa.c
422
writel(readl(_ICR(i2c)) & ~(ICR_MA | ICR_START | ICR_STOP),
drivers/i2c/busses/i2c-pxa.c
423
_ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
426
static int i2c_pxa_wait_bus_not_busy(struct pxa_i2c *i2c)
drivers/i2c/busses/i2c-pxa.c
432
isr = readl(_ISR(i2c));
drivers/i2c/busses/i2c-pxa.c
443
show_state(i2c);
drivers/i2c/busses/i2c-pxa.c
446
show_state(i2c);
drivers/i2c/busses/i2c-pxa.c
451
static int i2c_pxa_wait_master(struct pxa_i2c *i2c)
drivers/i2c/busses/i2c-pxa.c
457
dev_dbg(&i2c->adap.dev, "%s: %ld: ISR=%08x, ICR=%08x, IBMR=%02x\n",
drivers/i2c/busses/i2c-pxa.c
458
__func__, (long)jiffies, readl(_ISR(i2c)), readl(_ICR(i2c)), readl(_IBMR(i2c)));
drivers/i2c/busses/i2c-pxa.c
460
if (readl(_ISR(i2c)) & ISR_SAD) {
drivers/i2c/busses/i2c-pxa.c
462
dev_dbg(&i2c->adap.dev, "%s: Slave detected\n", __func__);
drivers/i2c/busses/i2c-pxa.c
470
if ((readl(_ISR(i2c)) & (ISR_UB | ISR_IBB)) == 0 &&
drivers/i2c/busses/i2c-pxa.c
471
readl(_IBMR(i2c)) == (IBMR_SCLS | IBMR_SDAS)) {
drivers/i2c/busses/i2c-pxa.c
473
dev_dbg(&i2c->adap.dev, "%s: done\n", __func__);
drivers/i2c/busses/i2c-pxa.c
481
dev_dbg(&i2c->adap.dev, "%s: did not free\n", __func__);
drivers/i2c/busses/i2c-pxa.c
486
static int i2c_pxa_set_master(struct pxa_i2c *i2c)
drivers/i2c/busses/i2c-pxa.c
489
dev_dbg(&i2c->adap.dev, "setting to bus master\n");
drivers/i2c/busses/i2c-pxa.c
491
if ((readl(_ISR(i2c)) & (ISR_UB | ISR_IBB)) != 0) {
drivers/i2c/busses/i2c-pxa.c
492
dev_dbg(&i2c->adap.dev, "%s: unit is busy\n", __func__);
drivers/i2c/busses/i2c-pxa.c
493
if (!i2c_pxa_wait_master(i2c)) {
drivers/i2c/busses/i2c-pxa.c
494
dev_dbg(&i2c->adap.dev, "%s: error: unit busy\n", __func__);
drivers/i2c/busses/i2c-pxa.c
499
writel(readl(_ICR(i2c)) | ICR_SCLE, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
504
static int i2c_pxa_wait_slave(struct pxa_i2c *i2c)
drivers/i2c/busses/i2c-pxa.c
510
show_state(i2c);
drivers/i2c/busses/i2c-pxa.c
514
dev_dbg(&i2c->adap.dev, "%s: %ld: ISR=%08x, ICR=%08x, IBMR=%02x\n",
drivers/i2c/busses/i2c-pxa.c
515
__func__, (long)jiffies, readl(_ISR(i2c)), readl(_ICR(i2c)), readl(_IBMR(i2c)));
drivers/i2c/busses/i2c-pxa.c
517
if ((readl(_ISR(i2c)) & (ISR_UB|ISR_IBB)) == 0 ||
drivers/i2c/busses/i2c-pxa.c
518
(readl(_ISR(i2c)) & ISR_SAD) != 0 ||
drivers/i2c/busses/i2c-pxa.c
519
(readl(_ICR(i2c)) & ICR_SCLE) == 0) {
drivers/i2c/busses/i2c-pxa.c
521
dev_dbg(&i2c->adap.dev, "%s: done\n", __func__);
drivers/i2c/busses/i2c-pxa.c
529
dev_dbg(&i2c->adap.dev, "%s: did not free\n", __func__);
drivers/i2c/busses/i2c-pxa.c
537
static void i2c_pxa_set_slave(struct pxa_i2c *i2c, int errcode)
drivers/i2c/busses/i2c-pxa.c
539
show_state(i2c);
drivers/i2c/busses/i2c-pxa.c
547
if (readl(_ICR(i2c)) & ICR_STOP) {
drivers/i2c/busses/i2c-pxa.c
549
writel(readl(_ICR(i2c)) & ~ICR_STOP, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
552
if (!i2c_pxa_wait_slave(i2c)) {
drivers/i2c/busses/i2c-pxa.c
553
dev_err(&i2c->adap.dev, "%s: wait timedout\n",
drivers/i2c/busses/i2c-pxa.c
559
writel(readl(_ICR(i2c)) & ~(ICR_STOP|ICR_ACKNAK|ICR_MA), _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
560
writel(readl(_ICR(i2c)) & ~ICR_SCLE, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
563
dev_dbg(&i2c->adap.dev, "ICR now %08x, ISR %08x\n", readl(_ICR(i2c)), readl(_ISR(i2c)));
drivers/i2c/busses/i2c-pxa.c
564
decode_ICR(readl(_ICR(i2c)));
drivers/i2c/busses/i2c-pxa.c
568
#define i2c_pxa_set_slave(i2c, err) do { } while (0)
drivers/i2c/busses/i2c-pxa.c
571
static void i2c_pxa_do_reset(struct pxa_i2c *i2c)
drivers/i2c/busses/i2c-pxa.c
574
writel(ICR_UR, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
575
writel(I2C_ISR_INIT, _ISR(i2c));
drivers/i2c/busses/i2c-pxa.c
576
writel(readl(_ICR(i2c)) & ~ICR_UR, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
578
if (i2c->reg_isar && IS_ENABLED(CONFIG_I2C_PXA_SLAVE))
drivers/i2c/busses/i2c-pxa.c
579
writel(i2c->slave_addr, _ISAR(i2c));
drivers/i2c/busses/i2c-pxa.c
582
writel(I2C_ICR_INIT | (i2c->fast_mode ? i2c->fm_mask : 0), _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
583
writel(readl(_ICR(i2c)) | (i2c->high_mode ? i2c->hs_mask : 0), _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
586
dev_info(&i2c->adap.dev, "Enabling slave mode\n");
drivers/i2c/busses/i2c-pxa.c
587
writel(readl(_ICR(i2c)) | ICR_SADIE | ICR_ALDIE | ICR_SSDIE, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
590
i2c_pxa_set_slave(i2c, 0);
drivers/i2c/busses/i2c-pxa.c
593
static void i2c_pxa_enable(struct pxa_i2c *i2c)
drivers/i2c/busses/i2c-pxa.c
596
writel(readl(_ICR(i2c)) | ICR_IUE, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
600
static void i2c_pxa_reset(struct pxa_i2c *i2c)
drivers/i2c/busses/i2c-pxa.c
605
i2c_pxa_abort(i2c);
drivers/i2c/busses/i2c-pxa.c
606
i2c_pxa_do_reset(i2c);
drivers/i2c/busses/i2c-pxa.c
607
i2c_pxa_enable(i2c);
drivers/i2c/busses/i2c-pxa.c
616
static void i2c_pxa_slave_txempty(struct pxa_i2c *i2c, u32 isr)
drivers/i2c/busses/i2c-pxa.c
623
if (i2c->slave != NULL)
drivers/i2c/busses/i2c-pxa.c
624
i2c_slave_event(i2c->slave, I2C_SLAVE_READ_PROCESSED,
drivers/i2c/busses/i2c-pxa.c
627
writel(byte, _IDBR(i2c));
drivers/i2c/busses/i2c-pxa.c
628
writel(readl(_ICR(i2c)) | ICR_TB, _ICR(i2c)); /* allow next byte */
drivers/i2c/busses/i2c-pxa.c
632
static void i2c_pxa_slave_rxfull(struct pxa_i2c *i2c, u32 isr)
drivers/i2c/busses/i2c-pxa.c
634
u8 byte = readl(_IDBR(i2c));
drivers/i2c/busses/i2c-pxa.c
636
if (i2c->slave != NULL)
drivers/i2c/busses/i2c-pxa.c
637
i2c_slave_event(i2c->slave, I2C_SLAVE_WRITE_RECEIVED, &byte);
drivers/i2c/busses/i2c-pxa.c
639
writel(readl(_ICR(i2c)) | ICR_TB, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
642
static void i2c_pxa_slave_start(struct pxa_i2c *i2c, u32 isr)
drivers/i2c/busses/i2c-pxa.c
647
dev_dbg(&i2c->adap.dev, "SAD, mode is slave-%cx\n",
drivers/i2c/busses/i2c-pxa.c
650
if (i2c->slave != NULL) {
drivers/i2c/busses/i2c-pxa.c
654
i2c_slave_event(i2c->slave, I2C_SLAVE_READ_REQUESTED,
drivers/i2c/busses/i2c-pxa.c
656
writel(byte, _IDBR(i2c));
drivers/i2c/busses/i2c-pxa.c
658
i2c_slave_event(i2c->slave, I2C_SLAVE_WRITE_REQUESTED,
drivers/i2c/busses/i2c-pxa.c
668
writel(readl(_ICR(i2c)) & ~(ICR_START|ICR_STOP), _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
669
writel(readl(_ICR(i2c)) | ICR_TB, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
674
if ((readl(_IBMR(i2c)) & IBMR_SCLS) == IBMR_SCLS)
drivers/i2c/busses/i2c-pxa.c
680
dev_err(&i2c->adap.dev, "timeout waiting for SCL high\n");
drivers/i2c/busses/i2c-pxa.c
685
writel(readl(_ICR(i2c)) & ~ICR_SCLE, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
688
static void i2c_pxa_slave_stop(struct pxa_i2c *i2c)
drivers/i2c/busses/i2c-pxa.c
691
dev_dbg(&i2c->adap.dev, "ISR: SSD (Slave Stop)\n");
drivers/i2c/busses/i2c-pxa.c
693
if (i2c->slave != NULL)
drivers/i2c/busses/i2c-pxa.c
694
i2c_slave_event(i2c->slave, I2C_SLAVE_STOP, NULL);
drivers/i2c/busses/i2c-pxa.c
697
dev_dbg(&i2c->adap.dev, "ISR: SSD (Slave Stop) acked\n");
drivers/i2c/busses/i2c-pxa.c
703
if (i2c->msg)
drivers/i2c/busses/i2c-pxa.c
704
i2c_pxa_master_complete(i2c, I2C_RETRY);
drivers/i2c/busses/i2c-pxa.c
709
struct pxa_i2c *i2c = slave->adapter->algo_data;
drivers/i2c/busses/i2c-pxa.c
711
if (i2c->slave)
drivers/i2c/busses/i2c-pxa.c
714
if (!i2c->reg_isar)
drivers/i2c/busses/i2c-pxa.c
717
i2c->slave = slave;
drivers/i2c/busses/i2c-pxa.c
718
i2c->slave_addr = slave->addr;
drivers/i2c/busses/i2c-pxa.c
720
writel(i2c->slave_addr, _ISAR(i2c));
drivers/i2c/busses/i2c-pxa.c
727
struct pxa_i2c *i2c = slave->adapter->algo_data;
drivers/i2c/busses/i2c-pxa.c
729
WARN_ON(!i2c->slave);
drivers/i2c/busses/i2c-pxa.c
731
i2c->slave_addr = I2C_PXA_SLAVE_ADDR;
drivers/i2c/busses/i2c-pxa.c
732
writel(i2c->slave_addr, _ISAR(i2c));
drivers/i2c/busses/i2c-pxa.c
734
i2c->slave = NULL;
drivers/i2c/busses/i2c-pxa.c
739
static void i2c_pxa_slave_txempty(struct pxa_i2c *i2c, u32 isr)
drivers/i2c/busses/i2c-pxa.c
744
writel(0, _IDBR(i2c));
drivers/i2c/busses/i2c-pxa.c
745
writel(readl(_ICR(i2c)) | ICR_TB, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
749
static void i2c_pxa_slave_rxfull(struct pxa_i2c *i2c, u32 isr)
drivers/i2c/busses/i2c-pxa.c
751
writel(readl(_ICR(i2c)) | ICR_TB | ICR_ACKNAK, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
754
static void i2c_pxa_slave_start(struct pxa_i2c *i2c, u32 isr)
drivers/i2c/busses/i2c-pxa.c
763
writel(readl(_ICR(i2c)) & ~(ICR_START|ICR_STOP), _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
764
writel(readl(_ICR(i2c)) | ICR_TB | ICR_ACKNAK, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
769
if ((readl(_IBMR(i2c)) & IBMR_SCLS) == IBMR_SCLS)
drivers/i2c/busses/i2c-pxa.c
775
dev_err(&i2c->adap.dev, "timeout waiting for SCL high\n");
drivers/i2c/busses/i2c-pxa.c
780
writel(readl(_ICR(i2c)) & ~ICR_SCLE, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
783
static void i2c_pxa_slave_stop(struct pxa_i2c *i2c)
drivers/i2c/busses/i2c-pxa.c
785
if (i2c->msg)
drivers/i2c/busses/i2c-pxa.c
786
i2c_pxa_master_complete(i2c, I2C_RETRY);
drivers/i2c/busses/i2c-pxa.c
794
static inline void i2c_pxa_start_message(struct pxa_i2c *i2c)
drivers/i2c/busses/i2c-pxa.c
801
i2c->req_slave_addr = i2c_8bit_addr_from_msg(i2c->msg);
drivers/i2c/busses/i2c-pxa.c
802
writel(i2c->req_slave_addr, _IDBR(i2c));
drivers/i2c/busses/i2c-pxa.c
807
icr = readl(_ICR(i2c)) & ~(ICR_STOP | ICR_ALDIE);
drivers/i2c/busses/i2c-pxa.c
808
writel(icr | ICR_START | ICR_TB, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
811
static inline void i2c_pxa_stop_message(struct pxa_i2c *i2c)
drivers/i2c/busses/i2c-pxa.c
816
icr = readl(_ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
818
writel(icr, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
827
static int i2c_pxa_send_mastercode(struct pxa_i2c *i2c)
drivers/i2c/busses/i2c-pxa.c
832
spin_lock_irq(&i2c->lock);
drivers/i2c/busses/i2c-pxa.c
833
i2c->highmode_enter = true;
drivers/i2c/busses/i2c-pxa.c
834
writel(i2c->master_code, _IDBR(i2c));
drivers/i2c/busses/i2c-pxa.c
836
icr = readl(_ICR(i2c)) & ~(ICR_STOP | ICR_ALDIE);
drivers/i2c/busses/i2c-pxa.c
838
writel(icr, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
840
spin_unlock_irq(&i2c->lock);
drivers/i2c/busses/i2c-pxa.c
841
time_left = wait_event_timeout(i2c->wait,
drivers/i2c/busses/i2c-pxa.c
842
i2c->highmode_enter == false, HZ * 1);
drivers/i2c/busses/i2c-pxa.c
844
i2c->highmode_enter = false;
drivers/i2c/busses/i2c-pxa.c
852
static void i2c_pxa_master_complete(struct pxa_i2c *i2c, int ret)
drivers/i2c/busses/i2c-pxa.c
854
i2c->msg_ptr = 0;
drivers/i2c/busses/i2c-pxa.c
855
i2c->msg = NULL;
drivers/i2c/busses/i2c-pxa.c
856
i2c->msg_idx ++;
drivers/i2c/busses/i2c-pxa.c
857
i2c->msg_num = 0;
drivers/i2c/busses/i2c-pxa.c
859
i2c->msg_idx = ret;
drivers/i2c/busses/i2c-pxa.c
860
if (!i2c->use_pio)
drivers/i2c/busses/i2c-pxa.c
861
wake_up(&i2c->wait);
drivers/i2c/busses/i2c-pxa.c
864
static void i2c_pxa_irq_txempty(struct pxa_i2c *i2c, u32 isr)
drivers/i2c/busses/i2c-pxa.c
866
u32 icr = readl(_ICR(i2c)) & ~(ICR_START|ICR_STOP|ICR_ACKNAK|ICR_TB);
drivers/i2c/busses/i2c-pxa.c
877
i2c_pxa_scream_blue_murder(i2c, "ALD set");
drivers/i2c/busses/i2c-pxa.c
889
(!((i2c->msg->flags & I2C_M_IGNORE_NAK) &&
drivers/i2c/busses/i2c-pxa.c
899
if (i2c->msg_ptr == 0 && i2c->msg_idx == 0)
drivers/i2c/busses/i2c-pxa.c
904
i2c_pxa_master_complete(i2c, ret);
drivers/i2c/busses/i2c-pxa.c
910
if (i2c->msg_ptr == i2c->msg->len - 1 &&
drivers/i2c/busses/i2c-pxa.c
911
i2c->msg_idx == i2c->msg_num - 1)
drivers/i2c/busses/i2c-pxa.c
915
} else if (i2c->msg_ptr < i2c->msg->len) {
drivers/i2c/busses/i2c-pxa.c
919
writel(i2c->msg->buf[i2c->msg_ptr++], _IDBR(i2c));
drivers/i2c/busses/i2c-pxa.c
927
if ((i2c->msg_ptr == i2c->msg->len) &&
drivers/i2c/busses/i2c-pxa.c
928
((i2c->msg->flags & I2C_M_STOP) ||
drivers/i2c/busses/i2c-pxa.c
929
(i2c->msg_idx == i2c->msg_num - 1)))
drivers/i2c/busses/i2c-pxa.c
932
} else if (i2c->msg_idx < i2c->msg_num - 1) {
drivers/i2c/busses/i2c-pxa.c
936
i2c->msg_ptr = 0;
drivers/i2c/busses/i2c-pxa.c
937
i2c->msg_idx ++;
drivers/i2c/busses/i2c-pxa.c
938
i2c->msg++;
drivers/i2c/busses/i2c-pxa.c
945
if (i2c->msg->flags & I2C_M_NOSTART)
drivers/i2c/busses/i2c-pxa.c
951
i2c->req_slave_addr = i2c_8bit_addr_from_msg(i2c->msg);
drivers/i2c/busses/i2c-pxa.c
952
writel(i2c->req_slave_addr, _IDBR(i2c));
drivers/i2c/busses/i2c-pxa.c
960
if (i2c->msg->len == 0)
drivers/i2c/busses/i2c-pxa.c
962
i2c_pxa_master_complete(i2c, 0);
drivers/i2c/busses/i2c-pxa.c
965
i2c->icrlog[i2c->irqlogidx-1] = icr;
drivers/i2c/busses/i2c-pxa.c
967
writel(icr, _ICR(i2c));
drivers/i2c/busses/i2c-pxa.c
968
show_state(i2c);
drivers/i2c/busses/i2c-pxa.c
971
static void i2c_pxa_irq_rxfull(struct pxa_i2c *i2c, u32 isr)
drivers/i2c/busses/i2c-pxa.c
973
u32 icr = readl(_ICR(i2c)) & ~(ICR_START|ICR_STOP|ICR_ACKNAK|ICR_TB);
drivers/i2c/busses/i2c-pxa.c
978
i2c->msg->buf[i2c->msg_ptr++] = readl(_IDBR(i2c));
drivers/i2c/busses/i2c-pxa.c
980
if (i2c->msg_ptr < i2c->msg->len) {
drivers/i2c/busses/i2c-pxa.c
985
if (i2c->msg_ptr == i2c->msg->len - 1)
drivers/i2c/busses/i2c-pxa.c
990
i2c_pxa_master_complete(i2c, 0);
drivers/i2c/busses/i2c-pxa.c
993
i2c->icrlog[i2c->irqlogidx-1] = icr;
drivers/i2c/busses/i2c-pxa.c
995
writel(icr, _ICR(i2c));
drivers/i2c/busses/i2c-rk3x.c
1001
i2c->msg = &msgs[1];
drivers/i2c/busses/i2c-rk3x.c
1003
i2c->mode = REG_CON_MOD_REGISTER_TX;
drivers/i2c/busses/i2c-rk3x.c
1005
i2c_writel(i2c, addr | REG_MRXADDR_VALID(0), REG_MRXADDR);
drivers/i2c/busses/i2c-rk3x.c
1006
i2c_writel(i2c, reg_addr, REG_MRXRADDR);
drivers/i2c/busses/i2c-rk3x.c
1022
i2c->mode = REG_CON_MOD_REGISTER_TX;
drivers/i2c/busses/i2c-rk3x.c
1023
i2c_writel(i2c, addr | REG_MRXADDR_VALID(0),
drivers/i2c/busses/i2c-rk3x.c
1025
i2c_writel(i2c, 0, REG_MRXRADDR);
drivers/i2c/busses/i2c-rk3x.c
1027
i2c->mode = REG_CON_MOD_TX;
drivers/i2c/busses/i2c-rk3x.c
1030
i2c->msg = &msgs[0];
drivers/i2c/busses/i2c-rk3x.c
1035
i2c->addr = msgs[0].addr;
drivers/i2c/busses/i2c-rk3x.c
1036
i2c->busy = true;
drivers/i2c/busses/i2c-rk3x.c
1037
i2c->state = STATE_START;
drivers/i2c/busses/i2c-rk3x.c
1038
i2c->processed = 0;
drivers/i2c/busses/i2c-rk3x.c
1039
i2c->error = 0;
drivers/i2c/busses/i2c-rk3x.c
1041
rk3x_i2c_clean_ipd(i2c);
drivers/i2c/busses/i2c-rk3x.c
1046
static int rk3x_i2c_wait_xfer_poll(struct rk3x_i2c *i2c)
drivers/i2c/busses/i2c-rk3x.c
1050
while (READ_ONCE(i2c->busy) &&
drivers/i2c/busses/i2c-rk3x.c
1053
rk3x_i2c_irq(0, i2c);
drivers/i2c/busses/i2c-rk3x.c
1056
return !i2c->busy;
drivers/i2c/busses/i2c-rk3x.c
1062
struct rk3x_i2c *i2c = (struct rk3x_i2c *)adap->algo_data;
drivers/i2c/busses/i2c-rk3x.c
1069
spin_lock_irqsave(&i2c->lock, flags);
drivers/i2c/busses/i2c-rk3x.c
1071
clk_enable(i2c->clk);
drivers/i2c/busses/i2c-rk3x.c
1072
clk_enable(i2c->pclk);
drivers/i2c/busses/i2c-rk3x.c
1074
i2c->is_last_msg = false;
drivers/i2c/busses/i2c-rk3x.c
1081
ret = rk3x_i2c_setup(i2c, msgs + i, num - i);
drivers/i2c/busses/i2c-rk3x.c
1084
dev_err(i2c->dev, "rk3x_i2c_setup() failed\n");
drivers/i2c/busses/i2c-rk3x.c
1089
i2c->is_last_msg = true;
drivers/i2c/busses/i2c-rk3x.c
1091
spin_unlock_irqrestore(&i2c->lock, flags);
drivers/i2c/busses/i2c-rk3x.c
1094
rk3x_i2c_start(i2c);
drivers/i2c/busses/i2c-rk3x.c
1096
time_left = wait_event_timeout(i2c->wait, !i2c->busy,
drivers/i2c/busses/i2c-rk3x.c
1099
disable_irq(i2c->irq);
drivers/i2c/busses/i2c-rk3x.c
1100
rk3x_i2c_start(i2c);
drivers/i2c/busses/i2c-rk3x.c
1102
time_left = rk3x_i2c_wait_xfer_poll(i2c);
drivers/i2c/busses/i2c-rk3x.c
1104
enable_irq(i2c->irq);
drivers/i2c/busses/i2c-rk3x.c
1107
spin_lock_irqsave(&i2c->lock, flags);
drivers/i2c/busses/i2c-rk3x.c
1111
i2c_writel(i2c, 0, REG_IEN);
drivers/i2c/busses/i2c-rk3x.c
1112
val = i2c_readl(i2c, REG_CON) & REG_CON_TUNING_MASK;
drivers/i2c/busses/i2c-rk3x.c
1114
i2c_writel(i2c, val, REG_CON);
drivers/i2c/busses/i2c-rk3x.c
1116
i2c->state = STATE_IDLE;
drivers/i2c/busses/i2c-rk3x.c
1122
if (i2c->error) {
drivers/i2c/busses/i2c-rk3x.c
1123
ret = i2c->error;
drivers/i2c/busses/i2c-rk3x.c
1128
clk_disable(i2c->pclk);
drivers/i2c/busses/i2c-rk3x.c
1129
clk_disable(i2c->clk);
drivers/i2c/busses/i2c-rk3x.c
1131
spin_unlock_irqrestore(&i2c->lock, flags);
drivers/i2c/busses/i2c-rk3x.c
1150
struct rk3x_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-rk3x.c
1152
rk3x_i2c_adapt_div(i2c, clk_get_rate(i2c->clk));
drivers/i2c/busses/i2c-rk3x.c
1240
struct rk3x_i2c *i2c;
drivers/i2c/busses/i2c-rk3x.c
1247
i2c = devm_kzalloc(&pdev->dev, sizeof(struct rk3x_i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-rk3x.c
1248
if (!i2c)
drivers/i2c/busses/i2c-rk3x.c
1252
i2c->soc_data = match->data;
drivers/i2c/busses/i2c-rk3x.c
1255
i2c_parse_fw_timings(&pdev->dev, &i2c->t, true);
drivers/i2c/busses/i2c-rk3x.c
1257
strscpy(i2c->adap.name, "rk3x-i2c", sizeof(i2c->adap.name));
drivers/i2c/busses/i2c-rk3x.c
1258
i2c->adap.owner = THIS_MODULE;
drivers/i2c/busses/i2c-rk3x.c
1259
i2c->adap.algo = &rk3x_i2c_algorithm;
drivers/i2c/busses/i2c-rk3x.c
1260
i2c->adap.retries = 3;
drivers/i2c/busses/i2c-rk3x.c
1261
i2c->adap.dev.of_node = np;
drivers/i2c/busses/i2c-rk3x.c
1262
i2c->adap.algo_data = i2c;
drivers/i2c/busses/i2c-rk3x.c
1263
i2c->adap.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-rk3x.c
1265
i2c->dev = &pdev->dev;
drivers/i2c/busses/i2c-rk3x.c
1267
spin_lock_init(&i2c->lock);
drivers/i2c/busses/i2c-rk3x.c
1268
init_waitqueue_head(&i2c->wait);
drivers/i2c/busses/i2c-rk3x.c
1270
i2c->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/i2c/busses/i2c-rk3x.c
1271
if (IS_ERR(i2c->regs))
drivers/i2c/busses/i2c-rk3x.c
1272
return PTR_ERR(i2c->regs);
drivers/i2c/busses/i2c-rk3x.c
1281
if (i2c->soc_data->grf_offset >= 0) {
drivers/i2c/busses/i2c-rk3x.c
1297
if (i2c->soc_data == &rv1126_soc_data && bus_nr == 2)
drivers/i2c/busses/i2c-rk3x.c
1303
ret = regmap_write(grf, i2c->soc_data->grf_offset, value);
drivers/i2c/busses/i2c-rk3x.c
1305
dev_err(i2c->dev, "Could not write to GRF: %d\n", ret);
drivers/i2c/busses/i2c-rk3x.c
1316
0, dev_name(&pdev->dev), i2c);
drivers/i2c/busses/i2c-rk3x.c
1322
i2c->irq = irq;
drivers/i2c/busses/i2c-rk3x.c
1324
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-rk3x.c
1326
if (i2c->soc_data->calc_timings == rk3x_i2c_v0_calc_timings) {
drivers/i2c/busses/i2c-rk3x.c
1328
i2c->clk = devm_clk_get(&pdev->dev, NULL);
drivers/i2c/busses/i2c-rk3x.c
1329
i2c->pclk = i2c->clk;
drivers/i2c/busses/i2c-rk3x.c
1331
i2c->clk = devm_clk_get(&pdev->dev, "i2c");
drivers/i2c/busses/i2c-rk3x.c
1332
i2c->pclk = devm_clk_get(&pdev->dev, "pclk");
drivers/i2c/busses/i2c-rk3x.c
1335
if (IS_ERR(i2c->clk))
drivers/i2c/busses/i2c-rk3x.c
1336
return dev_err_probe(&pdev->dev, PTR_ERR(i2c->clk),
drivers/i2c/busses/i2c-rk3x.c
1339
if (IS_ERR(i2c->pclk))
drivers/i2c/busses/i2c-rk3x.c
1340
return dev_err_probe(&pdev->dev, PTR_ERR(i2c->pclk),
drivers/i2c/busses/i2c-rk3x.c
1343
ret = clk_prepare(i2c->clk);
drivers/i2c/busses/i2c-rk3x.c
1348
ret = clk_prepare(i2c->pclk);
drivers/i2c/busses/i2c-rk3x.c
1354
i2c->clk_rate_nb.notifier_call = rk3x_i2c_clk_notifier_cb;
drivers/i2c/busses/i2c-rk3x.c
1355
ret = clk_notifier_register(i2c->clk, &i2c->clk_rate_nb);
drivers/i2c/busses/i2c-rk3x.c
1361
ret = clk_enable(i2c->clk);
drivers/i2c/busses/i2c-rk3x.c
1367
clk_rate = clk_get_rate(i2c->clk);
drivers/i2c/busses/i2c-rk3x.c
1368
rk3x_i2c_adapt_div(i2c, clk_rate);
drivers/i2c/busses/i2c-rk3x.c
1369
clk_disable(i2c->clk);
drivers/i2c/busses/i2c-rk3x.c
1371
ret = i2c_add_adapter(&i2c->adap);
drivers/i2c/busses/i2c-rk3x.c
1378
clk_notifier_unregister(i2c->clk, &i2c->clk_rate_nb);
drivers/i2c/busses/i2c-rk3x.c
1380
clk_unprepare(i2c->pclk);
drivers/i2c/busses/i2c-rk3x.c
1382
clk_unprepare(i2c->clk);
drivers/i2c/busses/i2c-rk3x.c
1388
struct rk3x_i2c *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-rk3x.c
1390
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-rk3x.c
1392
clk_notifier_unregister(i2c->clk, &i2c->clk_rate_nb);
drivers/i2c/busses/i2c-rk3x.c
1393
clk_unprepare(i2c->pclk);
drivers/i2c/busses/i2c-rk3x.c
1394
clk_unprepare(i2c->clk);
drivers/i2c/busses/i2c-rk3x.c
227
static inline void i2c_writel(struct rk3x_i2c *i2c, u32 value,
drivers/i2c/busses/i2c-rk3x.c
230
writel(value, i2c->regs + offset);
drivers/i2c/busses/i2c-rk3x.c
233
static inline u32 i2c_readl(struct rk3x_i2c *i2c, unsigned int offset)
drivers/i2c/busses/i2c-rk3x.c
235
return readl(i2c->regs + offset);
drivers/i2c/busses/i2c-rk3x.c
239
static inline void rk3x_i2c_clean_ipd(struct rk3x_i2c *i2c)
drivers/i2c/busses/i2c-rk3x.c
241
i2c_writel(i2c, REG_INT_ALL, REG_IPD);
drivers/i2c/busses/i2c-rk3x.c
248
static void rk3x_i2c_start(struct rk3x_i2c *i2c)
drivers/i2c/busses/i2c-rk3x.c
250
u32 val = i2c_readl(i2c, REG_CON) & REG_CON_TUNING_MASK;
drivers/i2c/busses/i2c-rk3x.c
252
i2c_writel(i2c, REG_INT_START, REG_IEN);
drivers/i2c/busses/i2c-rk3x.c
255
val |= REG_CON_EN | REG_CON_MOD(i2c->mode) | REG_CON_START;
drivers/i2c/busses/i2c-rk3x.c
258
if (!(i2c->msg->flags & I2C_M_IGNORE_NAK))
drivers/i2c/busses/i2c-rk3x.c
261
i2c_writel(i2c, val, REG_CON);
drivers/i2c/busses/i2c-rk3x.c
269
static void rk3x_i2c_stop(struct rk3x_i2c *i2c, int error)
drivers/i2c/busses/i2c-rk3x.c
273
i2c->processed = 0;
drivers/i2c/busses/i2c-rk3x.c
274
i2c->msg = NULL;
drivers/i2c/busses/i2c-rk3x.c
275
i2c->error = error;
drivers/i2c/busses/i2c-rk3x.c
277
if (i2c->is_last_msg) {
drivers/i2c/busses/i2c-rk3x.c
279
i2c_writel(i2c, REG_INT_STOP, REG_IEN);
drivers/i2c/busses/i2c-rk3x.c
281
i2c->state = STATE_STOP;
drivers/i2c/busses/i2c-rk3x.c
283
ctrl = i2c_readl(i2c, REG_CON);
drivers/i2c/busses/i2c-rk3x.c
285
i2c_writel(i2c, ctrl, REG_CON);
drivers/i2c/busses/i2c-rk3x.c
288
i2c->busy = false;
drivers/i2c/busses/i2c-rk3x.c
289
i2c->state = STATE_IDLE;
drivers/i2c/busses/i2c-rk3x.c
296
ctrl = i2c_readl(i2c, REG_CON) & REG_CON_TUNING_MASK;
drivers/i2c/busses/i2c-rk3x.c
297
i2c_writel(i2c, ctrl, REG_CON);
drivers/i2c/busses/i2c-rk3x.c
300
wake_up(&i2c->wait);
drivers/i2c/busses/i2c-rk3x.c
308
static void rk3x_i2c_prepare_read(struct rk3x_i2c *i2c)
drivers/i2c/busses/i2c-rk3x.c
310
unsigned int len = i2c->msg->len - i2c->processed;
drivers/i2c/busses/i2c-rk3x.c
313
con = i2c_readl(i2c, REG_CON);
drivers/i2c/busses/i2c-rk3x.c
327
if (i2c->processed != 0) {
drivers/i2c/busses/i2c-rk3x.c
332
i2c_writel(i2c, con, REG_CON);
drivers/i2c/busses/i2c-rk3x.c
333
i2c_writel(i2c, len, REG_MRXCNT);
drivers/i2c/busses/i2c-rk3x.c
340
static void rk3x_i2c_fill_transmit_buf(struct rk3x_i2c *i2c)
drivers/i2c/busses/i2c-rk3x.c
350
if ((i2c->processed == i2c->msg->len) && (cnt != 0))
drivers/i2c/busses/i2c-rk3x.c
353
if (i2c->processed == 0 && cnt == 0)
drivers/i2c/busses/i2c-rk3x.c
354
byte = (i2c->addr & 0x7f) << 1;
drivers/i2c/busses/i2c-rk3x.c
356
byte = i2c->msg->buf[i2c->processed++];
drivers/i2c/busses/i2c-rk3x.c
362
i2c_writel(i2c, val, TXBUFFER_BASE + 4 * i);
drivers/i2c/busses/i2c-rk3x.c
364
if (i2c->processed == i2c->msg->len)
drivers/i2c/busses/i2c-rk3x.c
368
i2c_writel(i2c, cnt, REG_MTXCNT);
drivers/i2c/busses/i2c-rk3x.c
374
static void rk3x_i2c_handle_start(struct rk3x_i2c *i2c, unsigned int ipd)
drivers/i2c/busses/i2c-rk3x.c
377
rk3x_i2c_stop(i2c, -EIO);
drivers/i2c/busses/i2c-rk3x.c
378
dev_warn(i2c->dev, "unexpected irq in START: 0x%x\n", ipd);
drivers/i2c/busses/i2c-rk3x.c
379
rk3x_i2c_clean_ipd(i2c);
drivers/i2c/busses/i2c-rk3x.c
384
i2c_writel(i2c, REG_INT_START, REG_IPD);
drivers/i2c/busses/i2c-rk3x.c
387
i2c_writel(i2c, i2c_readl(i2c, REG_CON) & ~REG_CON_START, REG_CON);
drivers/i2c/busses/i2c-rk3x.c
390
if (i2c->mode == REG_CON_MOD_TX) {
drivers/i2c/busses/i2c-rk3x.c
391
i2c_writel(i2c, REG_INT_MBTF | REG_INT_NAKRCV, REG_IEN);
drivers/i2c/busses/i2c-rk3x.c
392
i2c->state = STATE_WRITE;
drivers/i2c/busses/i2c-rk3x.c
393
rk3x_i2c_fill_transmit_buf(i2c);
drivers/i2c/busses/i2c-rk3x.c
396
i2c_writel(i2c, REG_INT_MBRF | REG_INT_NAKRCV, REG_IEN);
drivers/i2c/busses/i2c-rk3x.c
397
i2c->state = STATE_READ;
drivers/i2c/busses/i2c-rk3x.c
398
rk3x_i2c_prepare_read(i2c);
drivers/i2c/busses/i2c-rk3x.c
402
static void rk3x_i2c_handle_write(struct rk3x_i2c *i2c, unsigned int ipd)
drivers/i2c/busses/i2c-rk3x.c
405
rk3x_i2c_stop(i2c, -EIO);
drivers/i2c/busses/i2c-rk3x.c
406
dev_err(i2c->dev, "unexpected irq in WRITE: 0x%x\n", ipd);
drivers/i2c/busses/i2c-rk3x.c
407
rk3x_i2c_clean_ipd(i2c);
drivers/i2c/busses/i2c-rk3x.c
412
i2c_writel(i2c, REG_INT_MBTF, REG_IPD);
drivers/i2c/busses/i2c-rk3x.c
415
if (i2c->processed == i2c->msg->len)
drivers/i2c/busses/i2c-rk3x.c
416
rk3x_i2c_stop(i2c, i2c->error);
drivers/i2c/busses/i2c-rk3x.c
418
rk3x_i2c_fill_transmit_buf(i2c);
drivers/i2c/busses/i2c-rk3x.c
421
static void rk3x_i2c_handle_read(struct rk3x_i2c *i2c, unsigned int ipd)
drivers/i2c/busses/i2c-rk3x.c
424
unsigned int len = i2c->msg->len - i2c->processed;
drivers/i2c/busses/i2c-rk3x.c
433
i2c_writel(i2c, REG_INT_MBRF | REG_INT_START, REG_IPD);
drivers/i2c/busses/i2c-rk3x.c
442
val = i2c_readl(i2c, RXBUFFER_BASE + (i / 4) * 4);
drivers/i2c/busses/i2c-rk3x.c
445
i2c->msg->buf[i2c->processed++] = byte;
drivers/i2c/busses/i2c-rk3x.c
449
if (i2c->processed == i2c->msg->len)
drivers/i2c/busses/i2c-rk3x.c
450
rk3x_i2c_stop(i2c, i2c->error);
drivers/i2c/busses/i2c-rk3x.c
452
rk3x_i2c_prepare_read(i2c);
drivers/i2c/busses/i2c-rk3x.c
455
static void rk3x_i2c_handle_stop(struct rk3x_i2c *i2c, unsigned int ipd)
drivers/i2c/busses/i2c-rk3x.c
460
rk3x_i2c_stop(i2c, -EIO);
drivers/i2c/busses/i2c-rk3x.c
461
dev_err(i2c->dev, "unexpected irq in STOP: 0x%x\n", ipd);
drivers/i2c/busses/i2c-rk3x.c
462
rk3x_i2c_clean_ipd(i2c);
drivers/i2c/busses/i2c-rk3x.c
467
i2c_writel(i2c, REG_INT_STOP, REG_IPD);
drivers/i2c/busses/i2c-rk3x.c
470
con = i2c_readl(i2c, REG_CON);
drivers/i2c/busses/i2c-rk3x.c
472
i2c_writel(i2c, con, REG_CON);
drivers/i2c/busses/i2c-rk3x.c
474
i2c->busy = false;
drivers/i2c/busses/i2c-rk3x.c
475
i2c->state = STATE_IDLE;
drivers/i2c/busses/i2c-rk3x.c
478
wake_up(&i2c->wait);
drivers/i2c/busses/i2c-rk3x.c
483
struct rk3x_i2c *i2c = dev_id;
drivers/i2c/busses/i2c-rk3x.c
486
spin_lock(&i2c->lock);
drivers/i2c/busses/i2c-rk3x.c
488
ipd = i2c_readl(i2c, REG_IPD);
drivers/i2c/busses/i2c-rk3x.c
489
if (i2c->state == STATE_IDLE) {
drivers/i2c/busses/i2c-rk3x.c
490
dev_warn(i2c->dev, "irq in STATE_IDLE, ipd = 0x%x\n", ipd);
drivers/i2c/busses/i2c-rk3x.c
491
rk3x_i2c_clean_ipd(i2c);
drivers/i2c/busses/i2c-rk3x.c
495
dev_dbg(i2c->dev, "IRQ: state %d, ipd: %x\n", i2c->state, ipd);
drivers/i2c/busses/i2c-rk3x.c
506
i2c_writel(i2c, REG_INT_NAKRCV, REG_IPD);
drivers/i2c/busses/i2c-rk3x.c
510
if (!(i2c->msg->flags & I2C_M_IGNORE_NAK))
drivers/i2c/busses/i2c-rk3x.c
511
rk3x_i2c_stop(i2c, -ENXIO);
drivers/i2c/busses/i2c-rk3x.c
518
switch (i2c->state) {
drivers/i2c/busses/i2c-rk3x.c
520
rk3x_i2c_handle_start(i2c, ipd);
drivers/i2c/busses/i2c-rk3x.c
523
rk3x_i2c_handle_write(i2c, ipd);
drivers/i2c/busses/i2c-rk3x.c
526
rk3x_i2c_handle_read(i2c, ipd);
drivers/i2c/busses/i2c-rk3x.c
529
rk3x_i2c_handle_stop(i2c, ipd);
drivers/i2c/busses/i2c-rk3x.c
536
spin_unlock(&i2c->lock);
drivers/i2c/busses/i2c-rk3x.c
875
static void rk3x_i2c_adapt_div(struct rk3x_i2c *i2c, unsigned long clk_rate)
drivers/i2c/busses/i2c-rk3x.c
877
struct i2c_timings *t = &i2c->t;
drivers/i2c/busses/i2c-rk3x.c
884
ret = i2c->soc_data->calc_timings(clk_rate, t, &calc);
drivers/i2c/busses/i2c-rk3x.c
887
clk_enable(i2c->pclk);
drivers/i2c/busses/i2c-rk3x.c
889
spin_lock_irqsave(&i2c->lock, flags);
drivers/i2c/busses/i2c-rk3x.c
890
val = i2c_readl(i2c, REG_CON);
drivers/i2c/busses/i2c-rk3x.c
893
i2c_writel(i2c, val, REG_CON);
drivers/i2c/busses/i2c-rk3x.c
894
i2c_writel(i2c, (calc.div_high << 16) | (calc.div_low & 0xffff),
drivers/i2c/busses/i2c-rk3x.c
896
spin_unlock_irqrestore(&i2c->lock, flags);
drivers/i2c/busses/i2c-rk3x.c
898
clk_disable(i2c->pclk);
drivers/i2c/busses/i2c-rk3x.c
902
dev_dbg(i2c->dev,
drivers/i2c/busses/i2c-rk3x.c
930
struct rk3x_i2c *i2c = container_of(nb, struct rk3x_i2c, clk_rate_nb);
drivers/i2c/busses/i2c-rk3x.c
940
if (i2c->soc_data->calc_timings(ndata->new_rate, &i2c->t,
drivers/i2c/busses/i2c-rk3x.c
946
rk3x_i2c_adapt_div(i2c, ndata->new_rate);
drivers/i2c/busses/i2c-rk3x.c
952
rk3x_i2c_adapt_div(i2c, ndata->new_rate);
drivers/i2c/busses/i2c-rk3x.c
957
rk3x_i2c_adapt_div(i2c, ndata->old_rate);
drivers/i2c/busses/i2c-rk3x.c
974
static int rk3x_i2c_setup(struct rk3x_i2c *i2c, struct i2c_msg *msgs, int num)
drivers/i2c/busses/i2c-rk3x.c
991
dev_dbg(i2c->dev, "Combined write/read from addr 0x%x\n",
drivers/i2c/busses/i2c-rtl9300.c
109
static int rtl9300_i2c_reg_addr_set(struct rtl9300_i2c *i2c, u32 reg, u16 len)
drivers/i2c/busses/i2c-rtl9300.c
113
ret = regmap_field_write(i2c->fields[F_MEM_ADDR_WIDTH], len);
drivers/i2c/busses/i2c-rtl9300.c
117
return regmap_field_write(i2c->fields[F_MEM_ADDR], reg);
drivers/i2c/busses/i2c-rtl9300.c
120
static int rtl9300_i2c_select_scl(struct rtl9300_i2c *i2c, u8 scl)
drivers/i2c/busses/i2c-rtl9300.c
122
return regmap_field_write(i2c->fields[F_SCL_SEL], 1);
drivers/i2c/busses/i2c-rtl9300.c
125
static int rtl9310_i2c_select_scl(struct rtl9300_i2c *i2c, u8 scl)
drivers/i2c/busses/i2c-rtl9300.c
127
return regmap_field_update_bits(i2c->fields[F_SCL_SEL], BIT(scl), BIT(scl));
drivers/i2c/busses/i2c-rtl9300.c
130
static int rtl9300_i2c_config_chan(struct rtl9300_i2c *i2c, struct rtl9300_i2c_chan *chan)
drivers/i2c/busses/i2c-rtl9300.c
135
if (i2c->sda_num == chan->sda_num)
drivers/i2c/busses/i2c-rtl9300.c
138
ret = regmap_field_write(i2c->fields[F_SCL_FREQ], chan->bus_freq);
drivers/i2c/busses/i2c-rtl9300.c
142
drv_data = device_get_match_data(i2c->dev);
drivers/i2c/busses/i2c-rtl9300.c
143
ret = drv_data->select_scl(i2c, i2c->scl_num);
drivers/i2c/busses/i2c-rtl9300.c
147
ret = regmap_field_update_bits(i2c->fields[F_SDA_SEL], BIT(chan->sda_num),
drivers/i2c/busses/i2c-rtl9300.c
152
ret = regmap_field_write(i2c->fields[F_SDA_OUT_SEL], chan->sda_num);
drivers/i2c/busses/i2c-rtl9300.c
156
i2c->sda_num = chan->sda_num;
drivers/i2c/busses/i2c-rtl9300.c
160
static int rtl9300_i2c_read(struct rtl9300_i2c *i2c, u8 *buf, u8 len)
drivers/i2c/busses/i2c-rtl9300.c
168
ret = regmap_bulk_read(i2c->regmap, i2c->data_reg, vals, ARRAY_SIZE(vals));
drivers/i2c/busses/i2c-rtl9300.c
180
static int rtl9300_i2c_write(struct rtl9300_i2c *i2c, u8 *buf, u8 len)
drivers/i2c/busses/i2c-rtl9300.c
195
return regmap_bulk_write(i2c->regmap, i2c->data_reg, vals, ARRAY_SIZE(vals));
drivers/i2c/busses/i2c-rtl9300.c
198
static int rtl9300_i2c_writel(struct rtl9300_i2c *i2c, u32 data)
drivers/i2c/busses/i2c-rtl9300.c
200
return regmap_write(i2c->regmap, i2c->data_reg, data);
drivers/i2c/busses/i2c-rtl9300.c
203
static int rtl9300_i2c_prepare_xfer(struct rtl9300_i2c *i2c, struct rtl9300_i2c_xfer *xfer)
drivers/i2c/busses/i2c-rtl9300.c
210
ret = regmap_field_write(i2c->fields[F_DEV_ADDR], xfer->dev_addr);
drivers/i2c/busses/i2c-rtl9300.c
214
ret = rtl9300_i2c_reg_addr_set(i2c, xfer->reg_addr, xfer->reg_addr_len);
drivers/i2c/busses/i2c-rtl9300.c
218
ret = regmap_field_write(i2c->fields[F_RWOP], xfer->write);
drivers/i2c/busses/i2c-rtl9300.c
22
struct rtl9300_i2c *i2c;
drivers/i2c/busses/i2c-rtl9300.c
222
ret = regmap_field_write(i2c->fields[F_DATA_WIDTH], (xfer->data_len - 1) & 0xf);
drivers/i2c/busses/i2c-rtl9300.c
229
ret = rtl9300_i2c_writel(i2c, *xfer->data);
drivers/i2c/busses/i2c-rtl9300.c
232
ret = rtl9300_i2c_writel(i2c, get_unaligned((const u16 *)xfer->data));
drivers/i2c/busses/i2c-rtl9300.c
235
ret = rtl9300_i2c_write(i2c, xfer->data, xfer->data_len);
drivers/i2c/busses/i2c-rtl9300.c
243
static int rtl9300_i2c_do_xfer(struct rtl9300_i2c *i2c, struct rtl9300_i2c_xfer *xfer)
drivers/i2c/busses/i2c-rtl9300.c
248
ret = regmap_field_write(i2c->fields[F_I2C_TRIG], 1);
drivers/i2c/busses/i2c-rtl9300.c
252
ret = regmap_field_read_poll_timeout(i2c->fields[F_I2C_TRIG], val, !val, 100, 100000);
drivers/i2c/busses/i2c-rtl9300.c
256
ret = regmap_field_read(i2c->fields[F_I2C_FAIL], &val);
drivers/i2c/busses/i2c-rtl9300.c
265
ret = regmap_read(i2c->regmap, i2c->data_reg, &val);
drivers/i2c/busses/i2c-rtl9300.c
272
ret = regmap_read(i2c->regmap, i2c->data_reg, &val);
drivers/i2c/busses/i2c-rtl9300.c
279
ret = rtl9300_i2c_read(i2c, xfer->data, xfer->data_len);
drivers/i2c/busses/i2c-rtl9300.c
294
struct rtl9300_i2c *i2c = chan->i2c;
drivers/i2c/busses/i2c-rtl9300.c
301
guard(rtl9300_i2c)(i2c);
drivers/i2c/busses/i2c-rtl9300.c
303
ret = rtl9300_i2c_config_chan(i2c, chan);
drivers/i2c/busses/i2c-rtl9300.c
345
ret = rtl9300_i2c_prepare_xfer(i2c, &xfer);
drivers/i2c/busses/i2c-rtl9300.c
349
return rtl9300_i2c_do_xfer(i2c, &xfer);
drivers/i2c/busses/i2c-rtl9300.c
373
struct rtl9300_i2c *i2c;
drivers/i2c/busses/i2c-rtl9300.c
379
i2c = devm_kzalloc(dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-rtl9300.c
380
if (!i2c)
drivers/i2c/busses/i2c-rtl9300.c
383
i2c->regmap = syscon_node_to_regmap(dev->parent->of_node);
drivers/i2c/busses/i2c-rtl9300.c
384
if (IS_ERR(i2c->regmap))
drivers/i2c/busses/i2c-rtl9300.c
385
return PTR_ERR(i2c->regmap);
drivers/i2c/busses/i2c-rtl9300.c
386
i2c->dev = dev;
drivers/i2c/busses/i2c-rtl9300.c
388
mutex_init(&i2c->lock);
drivers/i2c/busses/i2c-rtl9300.c
390
ret = device_property_read_u32(dev, "reg", &i2c->reg_base);
drivers/i2c/busses/i2c-rtl9300.c
397
i2c->scl_num = (u8)scl_num;
drivers/i2c/busses/i2c-rtl9300.c
399
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-rtl9300.c
401
drv_data = device_get_match_data(i2c->dev);
drivers/i2c/busses/i2c-rtl9300.c
405
i2c->data_reg = i2c->reg_base + drv_data->data_reg;
drivers/i2c/busses/i2c-rtl9300.c
409
fields[i].reg += i2c->reg_base;
drivers/i2c/busses/i2c-rtl9300.c
411
ret = devm_regmap_field_bulk_alloc(dev, i2c->regmap, i2c->fields,
drivers/i2c/busses/i2c-rtl9300.c
418
struct rtl9300_i2c_chan *chan = &i2c->chans[i];
drivers/i2c/busses/i2c-rtl9300.c
437
dev_warn(i2c->dev, "SDA%d clock-frequency %d not supported using default\n",
drivers/i2c/busses/i2c-rtl9300.c
443
chan->i2c = i2c;
drivers/i2c/busses/i2c-rtl9300.c
444
adap = &i2c->chans[i].adap;
drivers/i2c/busses/i2c-rtl9300.c
459
i2c->sda_num = 0xff;
drivers/i2c/busses/i2c-rtl9300.c
462
ret = regmap_field_write(i2c->fields[F_RD_MODE], 0);
drivers/i2c/busses/i2c-rtl9300.c
57
int (*select_scl)(struct rtl9300_i2c *i2c, u8 scl);
drivers/i2c/busses/i2c-s3c2410.c
1000
s3c24xx_i2c_parse_dt(struct device_node *np, struct s3c24xx_i2c *i2c) { }
drivers/i2c/busses/i2c-s3c2410.c
1005
struct s3c24xx_i2c *i2c;
drivers/i2c/busses/i2c-s3c2410.c
1018
i2c = devm_kzalloc(&pdev->dev, sizeof(struct s3c24xx_i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-s3c2410.c
1019
if (!i2c)
drivers/i2c/busses/i2c-s3c2410.c
1022
i2c->pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
drivers/i2c/busses/i2c-s3c2410.c
1023
if (!i2c->pdata)
drivers/i2c/busses/i2c-s3c2410.c
1026
i2c->quirks = s3c24xx_get_device_quirks(pdev);
drivers/i2c/busses/i2c-s3c2410.c
1027
i2c->sysreg = ERR_PTR(-ENOENT);
drivers/i2c/busses/i2c-s3c2410.c
1029
memcpy(i2c->pdata, pdata, sizeof(*pdata));
drivers/i2c/busses/i2c-s3c2410.c
1031
s3c24xx_i2c_parse_dt(pdev->dev.of_node, i2c);
drivers/i2c/busses/i2c-s3c2410.c
1033
strscpy(i2c->adap.name, "s3c2410-i2c", sizeof(i2c->adap.name));
drivers/i2c/busses/i2c-s3c2410.c
1034
i2c->adap.owner = THIS_MODULE;
drivers/i2c/busses/i2c-s3c2410.c
1035
i2c->adap.algo = &s3c24xx_i2c_algorithm;
drivers/i2c/busses/i2c-s3c2410.c
1036
i2c->adap.retries = 2;
drivers/i2c/busses/i2c-s3c2410.c
1037
i2c->adap.class = I2C_CLASS_DEPRECATED;
drivers/i2c/busses/i2c-s3c2410.c
1038
i2c->tx_setup = 50;
drivers/i2c/busses/i2c-s3c2410.c
1040
init_waitqueue_head(&i2c->wait);
drivers/i2c/busses/i2c-s3c2410.c
1043
i2c->dev = &pdev->dev;
drivers/i2c/busses/i2c-s3c2410.c
1044
i2c->clk = devm_clk_get(&pdev->dev, "i2c");
drivers/i2c/busses/i2c-s3c2410.c
1045
if (IS_ERR(i2c->clk)) {
drivers/i2c/busses/i2c-s3c2410.c
1050
dev_dbg(&pdev->dev, "clock source %p\n", i2c->clk);
drivers/i2c/busses/i2c-s3c2410.c
1053
i2c->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
drivers/i2c/busses/i2c-s3c2410.c
1054
if (IS_ERR(i2c->regs))
drivers/i2c/busses/i2c-s3c2410.c
1055
return PTR_ERR(i2c->regs);
drivers/i2c/busses/i2c-s3c2410.c
1058
i2c->regs, res);
drivers/i2c/busses/i2c-s3c2410.c
1061
i2c->adap.algo_data = i2c;
drivers/i2c/busses/i2c-s3c2410.c
1062
i2c->adap.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-s3c2410.c
1063
i2c->pctrl = devm_pinctrl_get_select_default(i2c->dev);
drivers/i2c/busses/i2c-s3c2410.c
1066
if (i2c->pdata->cfg_gpio)
drivers/i2c/busses/i2c-s3c2410.c
1067
i2c->pdata->cfg_gpio(to_platform_device(i2c->dev));
drivers/i2c/busses/i2c-s3c2410.c
1068
else if (IS_ERR(i2c->pctrl) && s3c24xx_i2c_parse_dt_gpio(i2c))
drivers/i2c/busses/i2c-s3c2410.c
1072
ret = clk_prepare_enable(i2c->clk);
drivers/i2c/busses/i2c-s3c2410.c
1078
ret = s3c24xx_i2c_init(i2c);
drivers/i2c/busses/i2c-s3c2410.c
1079
clk_disable(i2c->clk);
drivers/i2c/busses/i2c-s3c2410.c
1082
clk_unprepare(i2c->clk);
drivers/i2c/busses/i2c-s3c2410.c
1090
if (!(i2c->quirks & QUIRK_POLL)) {
drivers/i2c/busses/i2c-s3c2410.c
1091
i2c->irq = ret = platform_get_irq(pdev, 0);
drivers/i2c/busses/i2c-s3c2410.c
1093
clk_unprepare(i2c->clk);
drivers/i2c/busses/i2c-s3c2410.c
1097
ret = devm_request_irq(&pdev->dev, i2c->irq, s3c24xx_i2c_irq,
drivers/i2c/busses/i2c-s3c2410.c
1098
0, dev_name(&pdev->dev), i2c);
drivers/i2c/busses/i2c-s3c2410.c
1100
dev_err(&pdev->dev, "cannot claim IRQ %d\n", i2c->irq);
drivers/i2c/busses/i2c-s3c2410.c
1101
clk_unprepare(i2c->clk);
drivers/i2c/busses/i2c-s3c2410.c
1112
i2c->adap.nr = i2c->pdata->bus_num;
drivers/i2c/busses/i2c-s3c2410.c
1113
i2c->adap.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-s3c2410.c
1115
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-s3c2410.c
1119
ret = i2c_add_numbered_adapter(&i2c->adap);
drivers/i2c/busses/i2c-s3c2410.c
1122
clk_unprepare(i2c->clk);
drivers/i2c/busses/i2c-s3c2410.c
1126
dev_info(&pdev->dev, "%s: S3C I2C adapter\n", dev_name(&i2c->adap.dev));
drivers/i2c/busses/i2c-s3c2410.c
1132
struct s3c24xx_i2c *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-s3c2410.c
1134
clk_unprepare(i2c->clk);
drivers/i2c/busses/i2c-s3c2410.c
1138
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-s3c2410.c
1143
struct s3c24xx_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-s3c2410.c
1145
i2c_mark_adapter_suspended(&i2c->adap);
drivers/i2c/busses/i2c-s3c2410.c
1147
if (!IS_ERR(i2c->sysreg))
drivers/i2c/busses/i2c-s3c2410.c
1148
regmap_read(i2c->sysreg, EXYNOS5_SYS_I2C_CFG, &i2c->sys_i2c_cfg);
drivers/i2c/busses/i2c-s3c2410.c
1155
struct s3c24xx_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-s3c2410.c
1158
if (!IS_ERR(i2c->sysreg))
drivers/i2c/busses/i2c-s3c2410.c
1159
regmap_write(i2c->sysreg, EXYNOS5_SYS_I2C_CFG, i2c->sys_i2c_cfg);
drivers/i2c/busses/i2c-s3c2410.c
1161
ret = clk_enable(i2c->clk);
drivers/i2c/busses/i2c-s3c2410.c
1164
s3c24xx_i2c_init(i2c);
drivers/i2c/busses/i2c-s3c2410.c
1165
clk_disable(i2c->clk);
drivers/i2c/busses/i2c-s3c2410.c
1166
i2c_mark_adapter_resumed(&i2c->adap);
drivers/i2c/busses/i2c-s3c2410.c
137
static void i2c_s3c_irq_nextbyte(struct s3c24xx_i2c *i2c, unsigned long iicstat);
drivers/i2c/busses/i2c-s3c2410.c
166
static inline void s3c24xx_i2c_master_complete(struct s3c24xx_i2c *i2c, int ret)
drivers/i2c/busses/i2c-s3c2410.c
168
dev_dbg(i2c->dev, "master_complete %d\n", ret);
drivers/i2c/busses/i2c-s3c2410.c
170
i2c->msg_ptr = 0;
drivers/i2c/busses/i2c-s3c2410.c
171
i2c->msg = NULL;
drivers/i2c/busses/i2c-s3c2410.c
172
i2c->msg_idx++;
drivers/i2c/busses/i2c-s3c2410.c
173
i2c->msg_num = 0;
drivers/i2c/busses/i2c-s3c2410.c
175
i2c->msg_idx = ret;
drivers/i2c/busses/i2c-s3c2410.c
177
if (!(i2c->quirks & (QUIRK_POLL | QUIRK_ATOMIC)))
drivers/i2c/busses/i2c-s3c2410.c
178
wake_up(&i2c->wait);
drivers/i2c/busses/i2c-s3c2410.c
181
static inline void s3c24xx_i2c_disable_ack(struct s3c24xx_i2c *i2c)
drivers/i2c/busses/i2c-s3c2410.c
185
tmp = readl(i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
186
writel(tmp & ~S3C2410_IICCON_ACKEN, i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
189
static inline void s3c24xx_i2c_enable_ack(struct s3c24xx_i2c *i2c)
drivers/i2c/busses/i2c-s3c2410.c
193
tmp = readl(i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
194
writel(tmp | S3C2410_IICCON_ACKEN, i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
198
static inline void s3c24xx_i2c_disable_irq(struct s3c24xx_i2c *i2c)
drivers/i2c/busses/i2c-s3c2410.c
202
tmp = readl(i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
203
writel(tmp & ~S3C2410_IICCON_IRQEN, i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
206
static inline void s3c24xx_i2c_enable_irq(struct s3c24xx_i2c *i2c)
drivers/i2c/busses/i2c-s3c2410.c
210
tmp = readl(i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
211
writel(tmp | S3C2410_IICCON_IRQEN, i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
214
static bool is_ack(struct s3c24xx_i2c *i2c)
drivers/i2c/busses/i2c-s3c2410.c
219
unsigned long tmp = readl(i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
230
if (!(readl(i2c->regs + S3C2410_IICSTAT)
drivers/i2c/busses/i2c-s3c2410.c
236
dev_err(i2c->dev, "ack was not received\n");
drivers/i2c/busses/i2c-s3c2410.c
243
static void s3c24xx_i2c_message_start(struct s3c24xx_i2c *i2c,
drivers/i2c/busses/i2c-s3c2410.c
263
s3c24xx_i2c_enable_ack(i2c);
drivers/i2c/busses/i2c-s3c2410.c
265
iiccon = readl(i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
266
writel(stat, i2c->regs + S3C2410_IICSTAT);
drivers/i2c/busses/i2c-s3c2410.c
268
dev_dbg(i2c->dev, "START: %08lx to IICSTAT, %02x to DS\n", stat, addr);
drivers/i2c/busses/i2c-s3c2410.c
269
writeb(addr, i2c->regs + S3C2410_IICDS);
drivers/i2c/busses/i2c-s3c2410.c
275
ndelay(i2c->tx_setup);
drivers/i2c/busses/i2c-s3c2410.c
277
dev_dbg(i2c->dev, "iiccon, %08lx\n", iiccon);
drivers/i2c/busses/i2c-s3c2410.c
278
writel(iiccon, i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
281
writel(stat, i2c->regs + S3C2410_IICSTAT);
drivers/i2c/busses/i2c-s3c2410.c
284
static inline void s3c24xx_i2c_stop(struct s3c24xx_i2c *i2c, int ret)
drivers/i2c/busses/i2c-s3c2410.c
286
unsigned long iicstat = readl(i2c->regs + S3C2410_IICSTAT);
drivers/i2c/busses/i2c-s3c2410.c
288
dev_dbg(i2c->dev, "STOP\n");
drivers/i2c/busses/i2c-s3c2410.c
324
if (i2c->quirks & QUIRK_HDMIPHY) {
drivers/i2c/busses/i2c-s3c2410.c
331
writel(iicstat, i2c->regs + S3C2410_IICSTAT);
drivers/i2c/busses/i2c-s3c2410.c
333
i2c->state = STATE_STOP;
drivers/i2c/busses/i2c-s3c2410.c
335
s3c24xx_i2c_master_complete(i2c, ret);
drivers/i2c/busses/i2c-s3c2410.c
336
s3c24xx_i2c_disable_irq(i2c);
drivers/i2c/busses/i2c-s3c2410.c
347
static inline int is_lastmsg(struct s3c24xx_i2c *i2c)
drivers/i2c/busses/i2c-s3c2410.c
349
return i2c->msg_idx >= (i2c->msg_num - 1);
drivers/i2c/busses/i2c-s3c2410.c
355
static inline int is_msglast(struct s3c24xx_i2c *i2c)
drivers/i2c/busses/i2c-s3c2410.c
362
if (i2c->msg->flags & I2C_M_RECV_LEN && i2c->msg->len == 1)
drivers/i2c/busses/i2c-s3c2410.c
365
return i2c->msg_ptr == i2c->msg->len-1;
drivers/i2c/busses/i2c-s3c2410.c
371
static inline int is_msgend(struct s3c24xx_i2c *i2c)
drivers/i2c/busses/i2c-s3c2410.c
373
return i2c->msg_ptr >= i2c->msg->len;
drivers/i2c/busses/i2c-s3c2410.c
379
static void i2c_s3c_irq_nextbyte(struct s3c24xx_i2c *i2c, unsigned long iicstat)
drivers/i2c/busses/i2c-s3c2410.c
384
switch (i2c->state) {
drivers/i2c/busses/i2c-s3c2410.c
387
dev_err(i2c->dev, "%s: called in STATE_IDLE\n", __func__);
drivers/i2c/busses/i2c-s3c2410.c
391
dev_err(i2c->dev, "%s: called in STATE_STOP\n", __func__);
drivers/i2c/busses/i2c-s3c2410.c
392
s3c24xx_i2c_disable_irq(i2c);
drivers/i2c/busses/i2c-s3c2410.c
401
!(i2c->msg->flags & I2C_M_IGNORE_NAK)) {
drivers/i2c/busses/i2c-s3c2410.c
403
dev_dbg(i2c->dev, "ack was not received\n");
drivers/i2c/busses/i2c-s3c2410.c
404
s3c24xx_i2c_stop(i2c, -ENXIO);
drivers/i2c/busses/i2c-s3c2410.c
408
if (i2c->msg->flags & I2C_M_RD)
drivers/i2c/busses/i2c-s3c2410.c
409
i2c->state = STATE_READ;
drivers/i2c/busses/i2c-s3c2410.c
411
i2c->state = STATE_WRITE;
drivers/i2c/busses/i2c-s3c2410.c
417
if (is_lastmsg(i2c) && i2c->msg->len == 0) {
drivers/i2c/busses/i2c-s3c2410.c
418
s3c24xx_i2c_stop(i2c, 0);
drivers/i2c/busses/i2c-s3c2410.c
422
if (i2c->state == STATE_READ)
drivers/i2c/busses/i2c-s3c2410.c
435
if (!(i2c->msg->flags & I2C_M_IGNORE_NAK)) {
drivers/i2c/busses/i2c-s3c2410.c
437
dev_dbg(i2c->dev, "WRITE: No Ack\n");
drivers/i2c/busses/i2c-s3c2410.c
439
s3c24xx_i2c_stop(i2c, -ECONNREFUSED);
drivers/i2c/busses/i2c-s3c2410.c
446
if (!is_msgend(i2c)) {
drivers/i2c/busses/i2c-s3c2410.c
447
byte = i2c->msg->buf[i2c->msg_ptr++];
drivers/i2c/busses/i2c-s3c2410.c
448
writeb(byte, i2c->regs + S3C2410_IICDS);
drivers/i2c/busses/i2c-s3c2410.c
457
ndelay(i2c->tx_setup);
drivers/i2c/busses/i2c-s3c2410.c
459
} else if (!is_lastmsg(i2c)) {
drivers/i2c/busses/i2c-s3c2410.c
462
dev_dbg(i2c->dev, "WRITE: Next Message\n");
drivers/i2c/busses/i2c-s3c2410.c
464
i2c->msg_ptr = 0;
drivers/i2c/busses/i2c-s3c2410.c
465
i2c->msg_idx++;
drivers/i2c/busses/i2c-s3c2410.c
466
i2c->msg++;
drivers/i2c/busses/i2c-s3c2410.c
469
if (i2c->msg->flags & I2C_M_NOSTART) {
drivers/i2c/busses/i2c-s3c2410.c
471
if (i2c->msg->flags & I2C_M_RD) {
drivers/i2c/busses/i2c-s3c2410.c
477
dev_dbg(i2c->dev,
drivers/i2c/busses/i2c-s3c2410.c
479
s3c24xx_i2c_stop(i2c, -EINVAL);
drivers/i2c/busses/i2c-s3c2410.c
486
s3c24xx_i2c_message_start(i2c, i2c->msg);
drivers/i2c/busses/i2c-s3c2410.c
487
i2c->state = STATE_START;
drivers/i2c/busses/i2c-s3c2410.c
492
s3c24xx_i2c_stop(i2c, 0);
drivers/i2c/busses/i2c-s3c2410.c
502
byte = readb(i2c->regs + S3C2410_IICDS);
drivers/i2c/busses/i2c-s3c2410.c
503
i2c->msg->buf[i2c->msg_ptr++] = byte;
drivers/i2c/busses/i2c-s3c2410.c
506
if (i2c->msg->flags & I2C_M_RECV_LEN && i2c->msg->len == 1)
drivers/i2c/busses/i2c-s3c2410.c
507
i2c->msg->len += byte;
drivers/i2c/busses/i2c-s3c2410.c
509
if (is_msglast(i2c)) {
drivers/i2c/busses/i2c-s3c2410.c
512
if (is_lastmsg(i2c))
drivers/i2c/busses/i2c-s3c2410.c
513
s3c24xx_i2c_disable_ack(i2c);
drivers/i2c/busses/i2c-s3c2410.c
515
} else if (is_msgend(i2c)) {
drivers/i2c/busses/i2c-s3c2410.c
520
if (is_lastmsg(i2c)) {
drivers/i2c/busses/i2c-s3c2410.c
522
dev_dbg(i2c->dev, "READ: Send Stop\n");
drivers/i2c/busses/i2c-s3c2410.c
524
s3c24xx_i2c_stop(i2c, 0);
drivers/i2c/busses/i2c-s3c2410.c
527
dev_dbg(i2c->dev, "READ: Next Transfer\n");
drivers/i2c/busses/i2c-s3c2410.c
529
i2c->msg_ptr = 0;
drivers/i2c/busses/i2c-s3c2410.c
530
i2c->msg_idx++;
drivers/i2c/busses/i2c-s3c2410.c
531
i2c->msg++;
drivers/i2c/busses/i2c-s3c2410.c
541
tmp = readl(i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
543
writel(tmp, i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
553
struct s3c24xx_i2c *i2c = dev_id;
drivers/i2c/busses/i2c-s3c2410.c
557
status = readl(i2c->regs + S3C2410_IICSTAT);
drivers/i2c/busses/i2c-s3c2410.c
561
dev_err(i2c->dev, "deal with arbitration loss\n");
drivers/i2c/busses/i2c-s3c2410.c
564
if (i2c->state == STATE_IDLE) {
drivers/i2c/busses/i2c-s3c2410.c
565
dev_dbg(i2c->dev, "IRQ: error i2c->state == IDLE\n");
drivers/i2c/busses/i2c-s3c2410.c
567
tmp = readl(i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
569
writel(tmp, i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
577
i2c_s3c_irq_nextbyte(i2c, status);
drivers/i2c/busses/i2c-s3c2410.c
592
static inline void s3c24xx_i2c_disable_bus(struct s3c24xx_i2c *i2c)
drivers/i2c/busses/i2c-s3c2410.c
597
tmp = readl(i2c->regs + S3C2410_IICSTAT);
drivers/i2c/busses/i2c-s3c2410.c
599
writel(tmp, i2c->regs + S3C2410_IICSTAT);
drivers/i2c/busses/i2c-s3c2410.c
602
tmp = readl(i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
605
writel(tmp, i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
612
static int s3c24xx_i2c_set_master(struct s3c24xx_i2c *i2c)
drivers/i2c/busses/i2c-s3c2410.c
618
iicstat = readl(i2c->regs + S3C2410_IICSTAT);
drivers/i2c/busses/i2c-s3c2410.c
632
static void s3c24xx_i2c_wait_idle(struct s3c24xx_i2c *i2c)
drivers/i2c/busses/i2c-s3c2410.c
641
dev_dbg(i2c->dev, "waiting for bus idle\n");
drivers/i2c/busses/i2c-s3c2410.c
654
iicstat = readl(i2c->regs + S3C2410_IICSTAT);
drivers/i2c/busses/i2c-s3c2410.c
657
iicstat = readl(i2c->regs + S3C2410_IICSTAT);
drivers/i2c/busses/i2c-s3c2410.c
674
iicstat = readl(i2c->regs + S3C2410_IICSTAT);
drivers/i2c/busses/i2c-s3c2410.c
678
dev_warn(i2c->dev, "timeout waiting for bus idle\n");
drivers/i2c/busses/i2c-s3c2410.c
684
static int s3c24xx_i2c_doxfer(struct s3c24xx_i2c *i2c,
drivers/i2c/busses/i2c-s3c2410.c
690
ret = s3c24xx_i2c_set_master(i2c);
drivers/i2c/busses/i2c-s3c2410.c
692
dev_err(i2c->dev, "cannot get bus (error %d)\n", ret);
drivers/i2c/busses/i2c-s3c2410.c
697
i2c->msg = msgs;
drivers/i2c/busses/i2c-s3c2410.c
698
i2c->msg_num = num;
drivers/i2c/busses/i2c-s3c2410.c
699
i2c->msg_ptr = 0;
drivers/i2c/busses/i2c-s3c2410.c
700
i2c->msg_idx = 0;
drivers/i2c/busses/i2c-s3c2410.c
701
i2c->state = STATE_START;
drivers/i2c/busses/i2c-s3c2410.c
703
s3c24xx_i2c_enable_irq(i2c);
drivers/i2c/busses/i2c-s3c2410.c
704
s3c24xx_i2c_message_start(i2c, msgs);
drivers/i2c/busses/i2c-s3c2410.c
706
if (i2c->quirks & (QUIRK_POLL | QUIRK_ATOMIC)) {
drivers/i2c/busses/i2c-s3c2410.c
707
while ((i2c->msg_num != 0) && is_ack(i2c)) {
drivers/i2c/busses/i2c-s3c2410.c
708
unsigned long stat = readl(i2c->regs + S3C2410_IICSTAT);
drivers/i2c/busses/i2c-s3c2410.c
710
i2c_s3c_irq_nextbyte(i2c, stat);
drivers/i2c/busses/i2c-s3c2410.c
712
stat = readl(i2c->regs + S3C2410_IICSTAT);
drivers/i2c/busses/i2c-s3c2410.c
714
dev_err(i2c->dev, "deal with arbitration loss\n");
drivers/i2c/busses/i2c-s3c2410.c
717
time_left = wait_event_timeout(i2c->wait, i2c->msg_num == 0, HZ * 5);
drivers/i2c/busses/i2c-s3c2410.c
720
ret = i2c->msg_idx;
drivers/i2c/busses/i2c-s3c2410.c
727
dev_dbg(i2c->dev, "timeout\n");
drivers/i2c/busses/i2c-s3c2410.c
729
dev_dbg(i2c->dev, "incomplete xfer (%d)\n", ret);
drivers/i2c/busses/i2c-s3c2410.c
732
if (i2c->quirks & QUIRK_HDMIPHY)
drivers/i2c/busses/i2c-s3c2410.c
735
s3c24xx_i2c_wait_idle(i2c);
drivers/i2c/busses/i2c-s3c2410.c
737
s3c24xx_i2c_disable_bus(i2c);
drivers/i2c/busses/i2c-s3c2410.c
740
i2c->state = STATE_IDLE;
drivers/i2c/busses/i2c-s3c2410.c
752
struct s3c24xx_i2c *i2c = (struct s3c24xx_i2c *)adap->algo_data;
drivers/i2c/busses/i2c-s3c2410.c
756
ret = clk_enable(i2c->clk);
drivers/i2c/busses/i2c-s3c2410.c
762
ret = s3c24xx_i2c_doxfer(i2c, msgs, num);
drivers/i2c/busses/i2c-s3c2410.c
765
clk_disable(i2c->clk);
drivers/i2c/busses/i2c-s3c2410.c
769
dev_dbg(i2c->dev, "Retrying transmission (%d)\n", retry);
drivers/i2c/busses/i2c-s3c2410.c
774
clk_disable(i2c->clk);
drivers/i2c/busses/i2c-s3c2410.c
781
struct s3c24xx_i2c *i2c = (struct s3c24xx_i2c *)adap->algo_data;
drivers/i2c/busses/i2c-s3c2410.c
784
disable_irq(i2c->irq);
drivers/i2c/busses/i2c-s3c2410.c
785
i2c->quirks |= QUIRK_ATOMIC;
drivers/i2c/busses/i2c-s3c2410.c
787
i2c->quirks &= ~QUIRK_ATOMIC;
drivers/i2c/busses/i2c-s3c2410.c
788
enable_irq(i2c->irq);
drivers/i2c/busses/i2c-s3c2410.c
840
static int s3c24xx_i2c_clockrate(struct s3c24xx_i2c *i2c, unsigned int *got)
drivers/i2c/busses/i2c-s3c2410.c
842
struct s3c2410_platform_i2c *pdata = i2c->pdata;
drivers/i2c/busses/i2c-s3c2410.c
843
unsigned long clkin = clk_get_rate(i2c->clk);
drivers/i2c/busses/i2c-s3c2410.c
849
i2c->clkrate = clkin;
drivers/i2c/busses/i2c-s3c2410.c
852
dev_dbg(i2c->dev, "pdata desired frequency %lu\n", pdata->frequency);
drivers/i2c/busses/i2c-s3c2410.c
861
dev_err(i2c->dev,
drivers/i2c/busses/i2c-s3c2410.c
869
iiccon = readl(i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
876
if (i2c->quirks & QUIRK_POLL)
drivers/i2c/busses/i2c-s3c2410.c
879
writel(iiccon, i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
881
if (i2c->quirks & QUIRK_S3C2440) {
drivers/i2c/busses/i2c-s3c2410.c
894
dev_dbg(i2c->dev, "IICLC=%08lx\n", sda_delay);
drivers/i2c/busses/i2c-s3c2410.c
895
writel(sda_delay, i2c->regs + S3C2440_IICLC);
drivers/i2c/busses/i2c-s3c2410.c
902
static int s3c24xx_i2c_parse_dt_gpio(struct s3c24xx_i2c *i2c)
drivers/i2c/busses/i2c-s3c2410.c
906
if (i2c->quirks & QUIRK_NO_GPIO)
drivers/i2c/busses/i2c-s3c2410.c
910
i2c->gpios[i] = devm_gpiod_get_index(i2c->dev, NULL,
drivers/i2c/busses/i2c-s3c2410.c
912
if (IS_ERR(i2c->gpios[i])) {
drivers/i2c/busses/i2c-s3c2410.c
913
dev_err(i2c->dev, "i2c gpio invalid at index %d\n", i);
drivers/i2c/busses/i2c-s3c2410.c
921
static int s3c24xx_i2c_parse_dt_gpio(struct s3c24xx_i2c *i2c)
drivers/i2c/busses/i2c-s3c2410.c
930
static int s3c24xx_i2c_init(struct s3c24xx_i2c *i2c)
drivers/i2c/busses/i2c-s3c2410.c
937
pdata = i2c->pdata;
drivers/i2c/busses/i2c-s3c2410.c
941
writeb(pdata->slave_addr, i2c->regs + S3C2410_IICADD);
drivers/i2c/busses/i2c-s3c2410.c
943
dev_info(i2c->dev, "slave address 0x%02x\n", pdata->slave_addr);
drivers/i2c/busses/i2c-s3c2410.c
945
writel(0, i2c->regs + S3C2410_IICCON);
drivers/i2c/busses/i2c-s3c2410.c
946
writel(0, i2c->regs + S3C2410_IICSTAT);
drivers/i2c/busses/i2c-s3c2410.c
950
if (s3c24xx_i2c_clockrate(i2c, &freq) != 0) {
drivers/i2c/busses/i2c-s3c2410.c
951
dev_err(i2c->dev, "cannot meet bus frequency required\n");
drivers/i2c/busses/i2c-s3c2410.c
957
dev_info(i2c->dev, "bus frequency set to %d KHz\n", freq);
drivers/i2c/busses/i2c-s3c2410.c
958
dev_dbg(i2c->dev, "S3C2410_IICCON=0x%02x\n",
drivers/i2c/busses/i2c-s3c2410.c
959
readl(i2c->regs + S3C2410_IICCON));
drivers/i2c/busses/i2c-s3c2410.c
969
s3c24xx_i2c_parse_dt(struct device_node *np, struct s3c24xx_i2c *i2c)
drivers/i2c/busses/i2c-s3c2410.c
971
struct s3c2410_platform_i2c *pdata = i2c->pdata;
drivers/i2c/busses/i2c-s3c2410.c
991
i2c->sysreg = syscon_regmap_lookup_by_phandle(np,
drivers/i2c/busses/i2c-s3c2410.c
993
if (IS_ERR(i2c->sysreg))
drivers/i2c/busses/i2c-s3c2410.c
996
regmap_update_bits(i2c->sysreg, EXYNOS5_SYS_I2C_CFG, BIT(id), 0);
drivers/i2c/busses/i2c-st.c
643
u32 ctl, i2c, it;
drivers/i2c/busses/i2c-st.c
659
i2c = SSC_I2C_TXENB;
drivers/i2c/busses/i2c-st.c
661
i2c |= SSC_I2C_ACKG;
drivers/i2c/busses/i2c-st.c
662
st_i2c_set_bits(i2c_dev->base + SSC_I2C, i2c);
drivers/i2c/busses/i2c-st.c
689
i2c = SSC_I2C_STOPG | SSC_I2C_REPSTRTG;
drivers/i2c/busses/i2c-st.c
690
st_i2c_clr_bits(i2c_dev->base + SSC_I2C, i2c);
drivers/i2c/busses/i2c-synquacer.c
149
static inline int is_lastmsg(struct synquacer_i2c *i2c)
drivers/i2c/busses/i2c-synquacer.c
151
return i2c->msg_idx >= (i2c->msg_num - 1);
drivers/i2c/busses/i2c-synquacer.c
154
static inline int is_msglast(struct synquacer_i2c *i2c)
drivers/i2c/busses/i2c-synquacer.c
156
return i2c->msg_ptr == (i2c->msg->len - 1);
drivers/i2c/busses/i2c-synquacer.c
159
static inline int is_msgend(struct synquacer_i2c *i2c)
drivers/i2c/busses/i2c-synquacer.c
161
return i2c->msg_ptr >= i2c->msg->len;
drivers/i2c/busses/i2c-synquacer.c
164
static inline unsigned long calc_timeout_ms(struct synquacer_i2c *i2c,
drivers/i2c/busses/i2c-synquacer.c
177
static void synquacer_i2c_stop(struct synquacer_i2c *i2c, int ret)
drivers/i2c/busses/i2c-synquacer.c
184
writeb(0, i2c->base + SYNQUACER_I2C_REG_BCR);
drivers/i2c/busses/i2c-synquacer.c
186
i2c->state = STATE_IDLE;
drivers/i2c/busses/i2c-synquacer.c
188
i2c->msg_ptr = 0;
drivers/i2c/busses/i2c-synquacer.c
189
i2c->msg = NULL;
drivers/i2c/busses/i2c-synquacer.c
190
i2c->msg_idx++;
drivers/i2c/busses/i2c-synquacer.c
191
i2c->msg_num = 0;
drivers/i2c/busses/i2c-synquacer.c
193
i2c->msg_idx = ret;
drivers/i2c/busses/i2c-synquacer.c
195
complete(&i2c->completion);
drivers/i2c/busses/i2c-synquacer.c
198
static void synquacer_i2c_hw_init(struct synquacer_i2c *i2c)
drivers/i2c/busses/i2c-synquacer.c
201
u32 rt = i2c->pclkrate;
drivers/i2c/busses/i2c-synquacer.c
204
writeb(0, i2c->base + SYNQUACER_I2C_REG_ADR);
drivers/i2c/busses/i2c-synquacer.c
207
writeb(SYNQUACER_I2C_BUS_CLK_FR(i2c->pclkrate),
drivers/i2c/busses/i2c-synquacer.c
208
i2c->base + SYNQUACER_I2C_REG_FSR);
drivers/i2c/busses/i2c-synquacer.c
210
switch (i2c->speed_khz) {
drivers/i2c/busses/i2c-synquacer.c
212
if (i2c->pclkrate <= SYNQUACER_I2C_CLK_RATE_18M) {
drivers/i2c/busses/i2c-synquacer.c
223
i2c->base + SYNQUACER_I2C_REG_CCR);
drivers/i2c/busses/i2c-synquacer.c
224
writeb(csr_cs, i2c->base + SYNQUACER_I2C_REG_CSR);
drivers/i2c/busses/i2c-synquacer.c
227
if (i2c->pclkrate <= SYNQUACER_I2C_CLK_RATE_18M) {
drivers/i2c/busses/i2c-synquacer.c
237
i2c->base + SYNQUACER_I2C_REG_CCR);
drivers/i2c/busses/i2c-synquacer.c
238
writeb(csr_cs, i2c->base + SYNQUACER_I2C_REG_CSR);
drivers/i2c/busses/i2c-synquacer.c
245
writeb(0, i2c->base + SYNQUACER_I2C_REG_BCR);
drivers/i2c/busses/i2c-synquacer.c
246
writeb(0, i2c->base + SYNQUACER_I2C_REG_BC2R);
drivers/i2c/busses/i2c-synquacer.c
249
static void synquacer_i2c_hw_reset(struct synquacer_i2c *i2c)
drivers/i2c/busses/i2c-synquacer.c
252
writeb(0, i2c->base + SYNQUACER_I2C_REG_CCR);
drivers/i2c/busses/i2c-synquacer.c
253
writeb(0, i2c->base + SYNQUACER_I2C_REG_CSR);
drivers/i2c/busses/i2c-synquacer.c
255
WAIT_PCLK(100, i2c->pclkrate);
drivers/i2c/busses/i2c-synquacer.c
258
static int synquacer_i2c_master_start(struct synquacer_i2c *i2c,
drivers/i2c/busses/i2c-synquacer.c
263
writeb(i2c_8bit_addr_from_msg(pmsg), i2c->base + SYNQUACER_I2C_REG_DAR);
drivers/i2c/busses/i2c-synquacer.c
265
dev_dbg(i2c->dev, "slave:0x%02x\n", pmsg->addr);
drivers/i2c/busses/i2c-synquacer.c
268
bsr = readb(i2c->base + SYNQUACER_I2C_REG_BSR);
drivers/i2c/busses/i2c-synquacer.c
269
bcr = readb(i2c->base + SYNQUACER_I2C_REG_BCR);
drivers/i2c/busses/i2c-synquacer.c
270
dev_dbg(i2c->dev, "bsr:0x%02x, bcr:0x%02x\n", bsr, bcr);
drivers/i2c/busses/i2c-synquacer.c
274
dev_dbg(i2c->dev, "bus is busy");
drivers/i2c/busses/i2c-synquacer.c
279
dev_dbg(i2c->dev, "Continuous Start");
drivers/i2c/busses/i2c-synquacer.c
281
i2c->base + SYNQUACER_I2C_REG_BCR);
drivers/i2c/busses/i2c-synquacer.c
284
dev_dbg(i2c->dev, "not in master mode");
drivers/i2c/busses/i2c-synquacer.c
287
dev_dbg(i2c->dev, "Start Condition");
drivers/i2c/busses/i2c-synquacer.c
291
i2c->base + SYNQUACER_I2C_REG_BCR);
drivers/i2c/busses/i2c-synquacer.c
294
WAIT_PCLK(10, i2c->pclkrate);
drivers/i2c/busses/i2c-synquacer.c
297
bsr = readb(i2c->base + SYNQUACER_I2C_REG_BSR);
drivers/i2c/busses/i2c-synquacer.c
298
bcr = readb(i2c->base + SYNQUACER_I2C_REG_BCR);
drivers/i2c/busses/i2c-synquacer.c
299
dev_dbg(i2c->dev, "bsr:0x%02x, bcr:0x%02x\n", bsr, bcr);
drivers/i2c/busses/i2c-synquacer.c
303
dev_dbg(i2c->dev, "arbitration lost\n");
drivers/i2c/busses/i2c-synquacer.c
310
static int synquacer_i2c_doxfer(struct synquacer_i2c *i2c,
drivers/i2c/busses/i2c-synquacer.c
317
synquacer_i2c_hw_init(i2c);
drivers/i2c/busses/i2c-synquacer.c
318
bsr = readb(i2c->base + SYNQUACER_I2C_REG_BSR);
drivers/i2c/busses/i2c-synquacer.c
320
dev_err(i2c->dev, "cannot get bus (bus busy)\n");
drivers/i2c/busses/i2c-synquacer.c
324
reinit_completion(&i2c->completion);
drivers/i2c/busses/i2c-synquacer.c
326
i2c->msg = msgs;
drivers/i2c/busses/i2c-synquacer.c
327
i2c->msg_num = num;
drivers/i2c/busses/i2c-synquacer.c
328
i2c->msg_ptr = 0;
drivers/i2c/busses/i2c-synquacer.c
329
i2c->msg_idx = 0;
drivers/i2c/busses/i2c-synquacer.c
330
i2c->state = STATE_START;
drivers/i2c/busses/i2c-synquacer.c
332
ret = synquacer_i2c_master_start(i2c, i2c->msg);
drivers/i2c/busses/i2c-synquacer.c
334
dev_dbg(i2c->dev, "Address failed: (%d)\n", ret);
drivers/i2c/busses/i2c-synquacer.c
338
time_left = wait_for_completion_timeout(&i2c->completion,
drivers/i2c/busses/i2c-synquacer.c
339
msecs_to_jiffies(i2c->timeout_ms));
drivers/i2c/busses/i2c-synquacer.c
341
dev_dbg(i2c->dev, "timeout\n");
drivers/i2c/busses/i2c-synquacer.c
345
ret = i2c->msg_idx;
drivers/i2c/busses/i2c-synquacer.c
347
dev_dbg(i2c->dev, "incomplete xfer (%d)\n", ret);
drivers/i2c/busses/i2c-synquacer.c
352
udelay(DIV_ROUND_UP(2 * 1000, i2c->speed_khz));
drivers/i2c/busses/i2c-synquacer.c
359
struct synquacer_i2c *i2c = dev_id;
drivers/i2c/busses/i2c-synquacer.c
365
bcr = readb(i2c->base + SYNQUACER_I2C_REG_BCR);
drivers/i2c/busses/i2c-synquacer.c
366
bsr = readb(i2c->base + SYNQUACER_I2C_REG_BSR);
drivers/i2c/busses/i2c-synquacer.c
367
dev_dbg(i2c->dev, "bsr:0x%02x, bcr:0x%02x\n", bsr, bcr);
drivers/i2c/busses/i2c-synquacer.c
370
dev_err(i2c->dev, "bus error\n");
drivers/i2c/busses/i2c-synquacer.c
371
synquacer_i2c_stop(i2c, -EAGAIN);
drivers/i2c/busses/i2c-synquacer.c
376
dev_dbg(i2c->dev, "arbitration lost\n");
drivers/i2c/busses/i2c-synquacer.c
377
synquacer_i2c_stop(i2c, -EAGAIN);
drivers/i2c/busses/i2c-synquacer.c
381
switch (i2c->state) {
drivers/i2c/busses/i2c-synquacer.c
384
dev_dbg(i2c->dev, "ack was not received\n");
drivers/i2c/busses/i2c-synquacer.c
385
synquacer_i2c_stop(i2c, -EAGAIN);
drivers/i2c/busses/i2c-synquacer.c
389
if (i2c->msg->flags & I2C_M_RD)
drivers/i2c/busses/i2c-synquacer.c
390
i2c->state = STATE_READ;
drivers/i2c/busses/i2c-synquacer.c
392
i2c->state = STATE_WRITE;
drivers/i2c/busses/i2c-synquacer.c
394
if (is_lastmsg(i2c) && i2c->msg->len == 0) {
drivers/i2c/busses/i2c-synquacer.c
395
synquacer_i2c_stop(i2c, 0);
drivers/i2c/busses/i2c-synquacer.c
399
if (i2c->state == STATE_READ)
drivers/i2c/busses/i2c-synquacer.c
405
dev_dbg(i2c->dev, "WRITE: No Ack\n");
drivers/i2c/busses/i2c-synquacer.c
406
synquacer_i2c_stop(i2c, -EAGAIN);
drivers/i2c/busses/i2c-synquacer.c
410
if (!is_msgend(i2c)) {
drivers/i2c/busses/i2c-synquacer.c
411
writeb(i2c->msg->buf[i2c->msg_ptr++],
drivers/i2c/busses/i2c-synquacer.c
412
i2c->base + SYNQUACER_I2C_REG_DAR);
drivers/i2c/busses/i2c-synquacer.c
418
i2c->base + SYNQUACER_I2C_REG_BCR);
drivers/i2c/busses/i2c-synquacer.c
421
if (is_lastmsg(i2c)) {
drivers/i2c/busses/i2c-synquacer.c
422
synquacer_i2c_stop(i2c, 0);
drivers/i2c/busses/i2c-synquacer.c
425
dev_dbg(i2c->dev, "WRITE: Next Message\n");
drivers/i2c/busses/i2c-synquacer.c
427
i2c->msg_ptr = 0;
drivers/i2c/busses/i2c-synquacer.c
428
i2c->msg_idx++;
drivers/i2c/busses/i2c-synquacer.c
429
i2c->msg++;
drivers/i2c/busses/i2c-synquacer.c
432
ret = synquacer_i2c_master_start(i2c, i2c->msg);
drivers/i2c/busses/i2c-synquacer.c
434
dev_dbg(i2c->dev, "restart error (%d)\n", ret);
drivers/i2c/busses/i2c-synquacer.c
435
synquacer_i2c_stop(i2c, -EAGAIN);
drivers/i2c/busses/i2c-synquacer.c
438
i2c->state = STATE_START;
drivers/i2c/busses/i2c-synquacer.c
442
byte = readb(i2c->base + SYNQUACER_I2C_REG_DAR);
drivers/i2c/busses/i2c-synquacer.c
444
i2c->msg->buf[i2c->msg_ptr++] = byte;
drivers/i2c/busses/i2c-synquacer.c
446
dev_dbg(i2c->dev, "address:0x%02x. ignore it.\n", byte);
drivers/i2c/busses/i2c-synquacer.c
449
if (is_msglast(i2c)) {
drivers/i2c/busses/i2c-synquacer.c
453
i2c->base + SYNQUACER_I2C_REG_BCR);
drivers/i2c/busses/i2c-synquacer.c
456
if (!is_msgend(i2c)) {
drivers/i2c/busses/i2c-synquacer.c
461
i2c->base + SYNQUACER_I2C_REG_BCR);
drivers/i2c/busses/i2c-synquacer.c
464
if (is_lastmsg(i2c)) {
drivers/i2c/busses/i2c-synquacer.c
466
dev_dbg(i2c->dev, "READ: Send Stop\n");
drivers/i2c/busses/i2c-synquacer.c
467
synquacer_i2c_stop(i2c, 0);
drivers/i2c/busses/i2c-synquacer.c
470
dev_dbg(i2c->dev, "READ: Next Transfer\n");
drivers/i2c/busses/i2c-synquacer.c
472
i2c->msg_ptr = 0;
drivers/i2c/busses/i2c-synquacer.c
473
i2c->msg_idx++;
drivers/i2c/busses/i2c-synquacer.c
474
i2c->msg++;
drivers/i2c/busses/i2c-synquacer.c
476
ret = synquacer_i2c_master_start(i2c, i2c->msg);
drivers/i2c/busses/i2c-synquacer.c
478
dev_dbg(i2c->dev, "restart error (%d)\n", ret);
drivers/i2c/busses/i2c-synquacer.c
479
synquacer_i2c_stop(i2c, -EAGAIN);
drivers/i2c/busses/i2c-synquacer.c
481
i2c->state = STATE_START;
drivers/i2c/busses/i2c-synquacer.c
485
dev_err(i2c->dev, "called in err STATE (%d)\n", i2c->state);
drivers/i2c/busses/i2c-synquacer.c
490
WAIT_PCLK(10, i2c->pclkrate);
drivers/i2c/busses/i2c-synquacer.c
497
struct synquacer_i2c *i2c;
drivers/i2c/busses/i2c-synquacer.c
501
i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-synquacer.c
502
i2c->timeout_ms = calc_timeout_ms(i2c, msgs, num);
drivers/i2c/busses/i2c-synquacer.c
504
dev_dbg(i2c->dev, "calculated timeout %d ms\n", i2c->timeout_ms);
drivers/i2c/busses/i2c-synquacer.c
507
ret = synquacer_i2c_doxfer(i2c, msgs, num);
drivers/i2c/busses/i2c-synquacer.c
511
dev_dbg(i2c->dev, "Retrying transmission (%d)\n", retry);
drivers/i2c/busses/i2c-synquacer.c
513
synquacer_i2c_hw_reset(i2c);
drivers/i2c/busses/i2c-synquacer.c
537
struct synquacer_i2c *i2c;
drivers/i2c/busses/i2c-synquacer.c
542
i2c = devm_kzalloc(&pdev->dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-synquacer.c
543
if (!i2c)
drivers/i2c/busses/i2c-synquacer.c
552
&i2c->pclkrate);
drivers/i2c/busses/i2c-synquacer.c
560
i2c->pclkrate = clk_get_rate(pclk);
drivers/i2c/busses/i2c-synquacer.c
562
if (i2c->pclkrate < SYNQUACER_I2C_MIN_CLK_RATE ||
drivers/i2c/busses/i2c-synquacer.c
563
i2c->pclkrate > SYNQUACER_I2C_MAX_CLK_RATE)
drivers/i2c/busses/i2c-synquacer.c
566
i2c->pclkrate);
drivers/i2c/busses/i2c-synquacer.c
568
i2c->base = devm_platform_ioremap_resource(pdev, 0);
drivers/i2c/busses/i2c-synquacer.c
569
if (IS_ERR(i2c->base))
drivers/i2c/busses/i2c-synquacer.c
570
return PTR_ERR(i2c->base);
drivers/i2c/busses/i2c-synquacer.c
572
i2c->irq = platform_get_irq(pdev, 0);
drivers/i2c/busses/i2c-synquacer.c
573
if (i2c->irq < 0)
drivers/i2c/busses/i2c-synquacer.c
574
return i2c->irq;
drivers/i2c/busses/i2c-synquacer.c
576
ret = devm_request_irq(&pdev->dev, i2c->irq, synquacer_i2c_isr,
drivers/i2c/busses/i2c-synquacer.c
577
0, dev_name(&pdev->dev), i2c);
drivers/i2c/busses/i2c-synquacer.c
579
return dev_err_probe(&pdev->dev, ret, "cannot claim IRQ %d\n", i2c->irq);
drivers/i2c/busses/i2c-synquacer.c
581
i2c->state = STATE_IDLE;
drivers/i2c/busses/i2c-synquacer.c
582
i2c->dev = &pdev->dev;
drivers/i2c/busses/i2c-synquacer.c
583
i2c->adapter = synquacer_i2c_ops;
drivers/i2c/busses/i2c-synquacer.c
584
i2c_set_adapdata(&i2c->adapter, i2c);
drivers/i2c/busses/i2c-synquacer.c
585
i2c->adapter.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-synquacer.c
586
i2c->adapter.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-synquacer.c
587
ACPI_COMPANION_SET(&i2c->adapter.dev, ACPI_COMPANION(&pdev->dev));
drivers/i2c/busses/i2c-synquacer.c
588
i2c->adapter.nr = pdev->id;
drivers/i2c/busses/i2c-synquacer.c
589
init_completion(&i2c->completion);
drivers/i2c/busses/i2c-synquacer.c
592
i2c->speed_khz = SYNQUACER_I2C_SPEED_SM;
drivers/i2c/busses/i2c-synquacer.c
594
i2c->speed_khz = SYNQUACER_I2C_SPEED_FM;
drivers/i2c/busses/i2c-synquacer.c
596
synquacer_i2c_hw_init(i2c);
drivers/i2c/busses/i2c-synquacer.c
598
ret = i2c_add_numbered_adapter(&i2c->adapter);
drivers/i2c/busses/i2c-synquacer.c
602
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-synquacer.c
605
dev_name(&i2c->adapter.dev));
drivers/i2c/busses/i2c-synquacer.c
612
struct synquacer_i2c *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-synquacer.c
614
i2c_del_adapter(&i2c->adapter);
drivers/i2c/busses/i2c-tegra-bpmp.c
126
static int tegra_bpmp_i2c_deserialize(struct tegra_bpmp_i2c *i2c,
drivers/i2c/busses/i2c-tegra-bpmp.c
174
static int tegra_bpmp_i2c_msg_xfer(struct tegra_bpmp_i2c *i2c,
drivers/i2c/busses/i2c-tegra-bpmp.c
183
request->xfer.bus_id = i2c->bus;
drivers/i2c/busses/i2c-tegra-bpmp.c
193
err = tegra_bpmp_transfer_atomic(i2c->bpmp, &msg);
drivers/i2c/busses/i2c-tegra-bpmp.c
195
err = tegra_bpmp_transfer(i2c->bpmp, &msg);
drivers/i2c/busses/i2c-tegra-bpmp.c
198
dev_err(i2c->dev, "failed to transfer message: %d\n", err);
drivers/i2c/busses/i2c-tegra-bpmp.c
204
dev_dbg(i2c->dev, "arbitration lost\n");
drivers/i2c/busses/i2c-tegra-bpmp.c
209
dev_dbg(i2c->dev, "timeout\n");
drivers/i2c/busses/i2c-tegra-bpmp.c
214
dev_dbg(i2c->dev, "NAK\n");
drivers/i2c/busses/i2c-tegra-bpmp.c
218
dev_err(i2c->dev, "transaction failed: %d\n", msg.rx.ret);
drivers/i2c/busses/i2c-tegra-bpmp.c
229
struct tegra_bpmp_i2c *i2c = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-tegra-bpmp.c
236
dev_err(i2c->dev, "unsupported message length\n");
drivers/i2c/busses/i2c-tegra-bpmp.c
243
tegra_bpmp_serialize_i2c_msg(i2c, &request, msgs, num);
drivers/i2c/busses/i2c-tegra-bpmp.c
244
err = tegra_bpmp_i2c_msg_xfer(i2c, &request, &response, atomic);
drivers/i2c/busses/i2c-tegra-bpmp.c
246
dev_err(i2c->dev, "failed to transfer message: %d\n", err);
drivers/i2c/busses/i2c-tegra-bpmp.c
250
err = tegra_bpmp_i2c_deserialize(i2c, &response, msgs, num);
drivers/i2c/busses/i2c-tegra-bpmp.c
252
dev_err(i2c->dev, "failed to deserialize message: %d\n", err);
drivers/i2c/busses/i2c-tegra-bpmp.c
285
struct tegra_bpmp_i2c *i2c;
drivers/i2c/busses/i2c-tegra-bpmp.c
289
i2c = devm_kzalloc(&pdev->dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-tegra-bpmp.c
290
if (!i2c)
drivers/i2c/busses/i2c-tegra-bpmp.c
293
i2c->dev = &pdev->dev;
drivers/i2c/busses/i2c-tegra-bpmp.c
295
i2c->bpmp = dev_get_drvdata(pdev->dev.parent);
drivers/i2c/busses/i2c-tegra-bpmp.c
296
if (!i2c->bpmp)
drivers/i2c/busses/i2c-tegra-bpmp.c
304
i2c->bus = value;
drivers/i2c/busses/i2c-tegra-bpmp.c
306
i2c_set_adapdata(&i2c->adapter, i2c);
drivers/i2c/busses/i2c-tegra-bpmp.c
307
i2c->adapter.owner = THIS_MODULE;
drivers/i2c/busses/i2c-tegra-bpmp.c
308
strscpy(i2c->adapter.name, "Tegra BPMP I2C adapter",
drivers/i2c/busses/i2c-tegra-bpmp.c
309
sizeof(i2c->adapter.name));
drivers/i2c/busses/i2c-tegra-bpmp.c
310
i2c->adapter.algo = &tegra_bpmp_i2c_algo;
drivers/i2c/busses/i2c-tegra-bpmp.c
311
i2c->adapter.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-tegra-bpmp.c
312
i2c->adapter.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-tegra-bpmp.c
314
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-tegra-bpmp.c
316
return i2c_add_adapter(&i2c->adapter);
drivers/i2c/busses/i2c-tegra-bpmp.c
321
struct tegra_bpmp_i2c *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-tegra-bpmp.c
323
i2c_del_adapter(&i2c->adapter);
drivers/i2c/busses/i2c-tegra-bpmp.c
82
static void tegra_bpmp_serialize_i2c_msg(struct tegra_bpmp_i2c *i2c,
drivers/i2c/busses/i2c-thunderx-pcidrv.c
100
i2c->sys_freq = clk_get_rate(i2c->clk);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
103
if (device_property_read_u32(dev, "sclk", &i2c->sys_freq))
drivers/i2c/busses/i2c-thunderx-pcidrv.c
104
device_property_read_u32(dev, "ioclk", &i2c->sys_freq);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
108
if (!i2c->sys_freq)
drivers/i2c/busses/i2c-thunderx-pcidrv.c
109
i2c->sys_freq = SYS_FREQ_DEFAULT;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
120
static int thunder_i2c_smbus_setup_of(struct octeon_i2c *i2c,
drivers/i2c/busses/i2c-thunderx-pcidrv.c
128
i2c->alert_data.irq = irq_of_parse_and_map(node, 0);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
129
if (!i2c->alert_data.irq)
drivers/i2c/busses/i2c-thunderx-pcidrv.c
132
ara = i2c_new_smbus_alert_device(&i2c->adap, &i2c->alert_data);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
136
i2c->ara = ara;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
141
static int thunder_i2c_smbus_setup(struct octeon_i2c *i2c,
drivers/i2c/busses/i2c-thunderx-pcidrv.c
148
return thunder_i2c_smbus_setup_of(i2c, node);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
151
static void thunder_i2c_smbus_remove(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-thunderx-pcidrv.c
153
i2c_unregister_device(i2c->ara);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
160
struct octeon_i2c *i2c;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
163
i2c = devm_kzalloc(dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
164
if (!i2c)
drivers/i2c/busses/i2c-thunderx-pcidrv.c
167
i2c->roff.sw_twsi = 0x1000;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
168
i2c->roff.twsi_int = 0x1010;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
169
i2c->roff.sw_twsi_ext = 0x1018;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
170
i2c->roff.mode = 0x1038;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
171
i2c->roff.block_ctl = 0x1048;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
172
i2c->roff.block_sts = 0x1050;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
173
i2c->roff.block_fifo = 0x1058;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
175
i2c->dev = dev;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
176
pci_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
185
i2c->twsi_base = pcim_iomap(pdev, 0, pci_resource_len(pdev, 0));
drivers/i2c/busses/i2c-thunderx-pcidrv.c
186
if (!i2c->twsi_base)
drivers/i2c/busses/i2c-thunderx-pcidrv.c
189
thunder_i2c_clock_enable(dev, i2c);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
190
ret = device_property_read_u32(dev, "clock-frequency", &i2c->twsi_freq);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
192
i2c->twsi_freq = I2C_MAX_STANDARD_MODE_FREQ;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
194
init_waitqueue_head(&i2c->queue);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
196
i2c->int_enable = thunder_i2c_int_enable;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
197
i2c->int_disable = thunder_i2c_int_disable;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
198
i2c->hlc_int_enable = thunder_i2c_hlc_int_enable;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
199
i2c->hlc_int_disable = thunder_i2c_hlc_int_disable;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
206
DRV_NAME, i2c);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
210
ret = octeon_i2c_init_lowlevel(i2c);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
218
if (octeon_i2c_is_otx2(pdev) && IS_LS_FREQ(i2c->twsi_freq))
drivers/i2c/busses/i2c-thunderx-pcidrv.c
219
i2c->sys_freq = OTX2_REF_FREQ_DEFAULT;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
220
octeon_i2c_set_clock(i2c);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
222
i2c->adap = thunderx_i2c_ops;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
223
i2c->adap.retries = 5;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
224
i2c->adap.class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
225
i2c->adap.bus_recovery_info = &octeon_i2c_recovery_info;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
226
i2c->adap.dev.parent = dev;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
227
i2c->adap.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
228
i2c->adap.dev.fwnode = dev->fwnode;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
229
snprintf(i2c->adap.name, sizeof(i2c->adap.name),
drivers/i2c/busses/i2c-thunderx-pcidrv.c
231
i2c_set_adapdata(&i2c->adap, i2c);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
233
ret = i2c_add_adapter(&i2c->adap);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
237
dev_info(i2c->dev, "Probed. Set system clock to %u\n", i2c->sys_freq);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
239
ret = thunder_i2c_smbus_setup(i2c, pdev->dev.of_node);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
246
thunder_i2c_clock_disable(dev, i2c->clk);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
252
struct octeon_i2c *i2c = pci_get_drvdata(pdev);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
254
thunder_i2c_smbus_remove(i2c);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
255
thunder_i2c_clock_disable(&pdev->dev, i2c->clk);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
256
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
41
static void thunder_i2c_int_enable(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-thunderx-pcidrv.c
44
i2c->twsi_base + TWSI_INT_ENA_W1S);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
50
static void thunder_i2c_int_disable(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-thunderx-pcidrv.c
53
i2c->twsi_base + TWSI_INT_ENA_W1C);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
56
static void thunder_i2c_hlc_int_enable(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-thunderx-pcidrv.c
59
i2c->twsi_base + TWSI_INT_ENA_W1S);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
62
static void thunder_i2c_hlc_int_disable(struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-thunderx-pcidrv.c
65
i2c->twsi_base + TWSI_INT_ENA_W1C);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
85
static void thunder_i2c_clock_enable(struct device *dev, struct octeon_i2c *i2c)
drivers/i2c/busses/i2c-thunderx-pcidrv.c
91
i2c->clk = clk_get(dev, NULL);
drivers/i2c/busses/i2c-thunderx-pcidrv.c
92
if (IS_ERR(i2c->clk)) {
drivers/i2c/busses/i2c-thunderx-pcidrv.c
93
i2c->clk = NULL;
drivers/i2c/busses/i2c-thunderx-pcidrv.c
97
ret = clk_prepare_enable(i2c->clk);
drivers/i2c/busses/i2c-usbio.c
101
ret = usbio_bulk_msg(i2c->adev, USBIO_PKTTYPE_I2C,
drivers/i2c/busses/i2c-usbio.c
115
ret = usbio_bulk_msg(i2c->adev, USBIO_PKTTYPE_I2C, USBIO_I2CCMD_READ, true,
drivers/i2c/busses/i2c-usbio.c
127
struct usbio_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-usbio.c
128
u16 txchunk = i2c->txbuf_len - I2C_RW_OVERHEAD;
drivers/i2c/busses/i2c-usbio.c
129
struct usbio_i2c_rw *wbuf = i2c->rwbuf;
drivers/i2c/busses/i2c-usbio.c
137
wbuf->busid = i2c->adev->id;
drivers/i2c/busses/i2c-usbio.c
140
if (i2c->quirks & USBIO_QUIRK_I2C_USE_CHUNK_LEN)
drivers/i2c/busses/i2c-usbio.c
148
ret = usbio_bulk_msg(i2c->adev, USBIO_PKTTYPE_I2C,
drivers/i2c/busses/i2c-usbio.c
162
wbuf->busid = i2c->adev->id;
drivers/i2c/busses/i2c-usbio.c
167
ret = usbio_bulk_msg(i2c->adev, USBIO_PKTTYPE_I2C, USBIO_I2CCMD_WRITE, true,
drivers/i2c/busses/i2c-usbio.c
177
struct usbio_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-usbio.c
180
usbio_acquire(i2c->adev);
drivers/i2c/busses/i2c-usbio.c
199
usbio_release(i2c->adev);
drivers/i2c/busses/i2c-usbio.c
231
struct usbio_i2c *i2c;
drivers/i2c/busses/i2c-usbio.c
239
i2c = devm_kzalloc(dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-usbio.c
240
if (!i2c)
drivers/i2c/busses/i2c-usbio.c
243
i2c->adev = adev;
drivers/i2c/busses/i2c-usbio.c
245
usbio_acpi_bind(i2c->adev, usbio_i2c_acpi_hids);
drivers/i2c/busses/i2c-usbio.c
246
usbio_get_txrxbuf_len(i2c->adev, &i2c->txbuf_len, &i2c->rxbuf_len);
drivers/i2c/busses/i2c-usbio.c
248
i2c->rwbuf = devm_kzalloc(dev, max(i2c->txbuf_len, i2c->rxbuf_len), GFP_KERNEL);
drivers/i2c/busses/i2c-usbio.c
249
if (!i2c->rwbuf)
drivers/i2c/busses/i2c-usbio.c
252
i2c->quirks = usbio_get_quirks(i2c->adev);
drivers/i2c/busses/i2c-usbio.c
256
(i2c->quirks & USBIO_QUIRK_I2C_ALLOW_400KHZ))
drivers/i2c/busses/i2c-usbio.c
259
i2c->speed = i2c_acpi_find_bus_speed(dev);
drivers/i2c/busses/i2c-usbio.c
260
if (!i2c->speed)
drivers/i2c/busses/i2c-usbio.c
261
i2c->speed = I2C_MAX_STANDARD_MODE_FREQ;
drivers/i2c/busses/i2c-usbio.c
262
else if (i2c->speed > max_speed) {
drivers/i2c/busses/i2c-usbio.c
264
i2c->speed, max_speed);
drivers/i2c/busses/i2c-usbio.c
265
i2c->speed = max_speed;
drivers/i2c/busses/i2c-usbio.c
268
i2c->adap.owner = THIS_MODULE;
drivers/i2c/busses/i2c-usbio.c
269
i2c->adap.class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-usbio.c
270
i2c->adap.dev.parent = dev;
drivers/i2c/busses/i2c-usbio.c
271
i2c->adap.algo = &usbio_i2c_algo;
drivers/i2c/busses/i2c-usbio.c
273
if (i2c->quirks & USBIO_QUIRK_I2C_MAX_RW_LEN_52)
drivers/i2c/busses/i2c-usbio.c
274
i2c->adap.quirks = &usbio_i2c_quirks_max_rw_len52;
drivers/i2c/busses/i2c-usbio.c
276
i2c->adap.quirks = &usbio_i2c_quirks;
drivers/i2c/busses/i2c-usbio.c
278
snprintf(i2c->adap.name, sizeof(i2c->adap.name), "%s.%d",
drivers/i2c/busses/i2c-usbio.c
279
USBIO_I2C_CLIENT, i2c->adev->id);
drivers/i2c/busses/i2c-usbio.c
281
device_set_node(&i2c->adap.dev, dev_fwnode(&adev->dev));
drivers/i2c/busses/i2c-usbio.c
283
auxiliary_set_drvdata(adev, i2c);
drivers/i2c/busses/i2c-usbio.c
284
i2c_set_adapdata(&i2c->adap, i2c);
drivers/i2c/busses/i2c-usbio.c
286
ret = i2c_add_adapter(&i2c->adap);
drivers/i2c/busses/i2c-usbio.c
290
if (has_acpi_companion(&i2c->adap.dev))
drivers/i2c/busses/i2c-usbio.c
291
acpi_dev_clear_dependencies(ACPI_COMPANION(&i2c->adap.dev));
drivers/i2c/busses/i2c-usbio.c
298
struct usbio_i2c *i2c = auxiliary_get_drvdata(adev);
drivers/i2c/busses/i2c-usbio.c
300
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-usbio.c
44
struct usbio_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-usbio.c
47
ubuf.busid = i2c->adev->id;
drivers/i2c/busses/i2c-usbio.c
50
usbio_bulk_msg(i2c->adev, USBIO_PKTTYPE_I2C, USBIO_I2CCMD_UNINIT, true,
drivers/i2c/busses/i2c-usbio.c
56
struct usbio_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-usbio.c
62
ibuf.busid = i2c->adev->id;
drivers/i2c/busses/i2c-usbio.c
64
ibuf.speed = cpu_to_le32(i2c->speed);
drivers/i2c/busses/i2c-usbio.c
66
if (i2c->quirks & USBIO_QUIRK_I2C_NO_INIT_ACK) {
drivers/i2c/busses/i2c-usbio.c
74
ret = usbio_bulk_msg(i2c->adev, USBIO_PKTTYPE_I2C, USBIO_I2CCMD_INIT, true,
drivers/i2c/busses/i2c-usbio.c
84
struct usbio_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-usbio.c
85
u16 rxchunk = i2c->rxbuf_len - I2C_RW_OVERHEAD;
drivers/i2c/busses/i2c-usbio.c
86
struct usbio_i2c_rw *rbuf = i2c->rwbuf;
drivers/i2c/busses/i2c-usbio.c
89
rbuf->busid = i2c->adev->id;
drivers/i2c/busses/i2c-versatile.c
101
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-versatile.c
31
struct i2c_versatile *i2c = data;
drivers/i2c/busses/i2c-versatile.c
33
writel(SDA, i2c->base + (state ? I2C_CONTROLS : I2C_CONTROLC));
drivers/i2c/busses/i2c-versatile.c
38
struct i2c_versatile *i2c = data;
drivers/i2c/busses/i2c-versatile.c
40
writel(SCL, i2c->base + (state ? I2C_CONTROLS : I2C_CONTROLC));
drivers/i2c/busses/i2c-versatile.c
45
struct i2c_versatile *i2c = data;
drivers/i2c/busses/i2c-versatile.c
46
return !!(readl(i2c->base + I2C_CONTROL) & SDA);
drivers/i2c/busses/i2c-versatile.c
51
struct i2c_versatile *i2c = data;
drivers/i2c/busses/i2c-versatile.c
52
return !!(readl(i2c->base + I2C_CONTROL) & SCL);
drivers/i2c/busses/i2c-versatile.c
66
struct i2c_versatile *i2c;
drivers/i2c/busses/i2c-versatile.c
69
i2c = devm_kzalloc(&dev->dev, sizeof(struct i2c_versatile), GFP_KERNEL);
drivers/i2c/busses/i2c-versatile.c
70
if (!i2c)
drivers/i2c/busses/i2c-versatile.c
73
i2c->base = devm_platform_get_and_ioremap_resource(dev, 0, NULL);
drivers/i2c/busses/i2c-versatile.c
74
if (IS_ERR(i2c->base))
drivers/i2c/busses/i2c-versatile.c
75
return PTR_ERR(i2c->base);
drivers/i2c/busses/i2c-versatile.c
77
writel(SCL | SDA, i2c->base + I2C_CONTROLS);
drivers/i2c/busses/i2c-versatile.c
79
i2c->adap.owner = THIS_MODULE;
drivers/i2c/busses/i2c-versatile.c
80
strscpy(i2c->adap.name, "Versatile I2C adapter", sizeof(i2c->adap.name));
drivers/i2c/busses/i2c-versatile.c
81
i2c->adap.algo_data = &i2c->algo;
drivers/i2c/busses/i2c-versatile.c
82
i2c->adap.dev.parent = &dev->dev;
drivers/i2c/busses/i2c-versatile.c
83
i2c->adap.dev.of_node = dev->dev.of_node;
drivers/i2c/busses/i2c-versatile.c
84
i2c->algo = i2c_versatile_algo;
drivers/i2c/busses/i2c-versatile.c
85
i2c->algo.data = i2c;
drivers/i2c/busses/i2c-versatile.c
87
i2c->adap.nr = dev->id;
drivers/i2c/busses/i2c-versatile.c
88
ret = i2c_bit_add_numbered_bus(&i2c->adap);
drivers/i2c/busses/i2c-versatile.c
92
platform_set_drvdata(dev, i2c);
drivers/i2c/busses/i2c-versatile.c
99
struct i2c_versatile *i2c = platform_get_drvdata(dev);
drivers/i2c/busses/i2c-viai2c-common.c
10
while (!(readw(i2c->base + VIAI2C_REG_CSR) & VIAI2C_CSR_READY_MASK)) {
drivers/i2c/busses/i2c-viai2c-common.c
103
struct viai2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-viai2c-common.c
105
i2c->mode = VIAI2C_BYTE_MODE;
drivers/i2c/busses/i2c-viai2c-common.c
108
if (i2c->platform == VIAI2C_PLAT_WMT && !(pmsg->flags & I2C_M_NOSTART)) {
drivers/i2c/busses/i2c-viai2c-common.c
109
ret = viai2c_wait_bus_not_busy(i2c);
drivers/i2c/busses/i2c-viai2c-common.c
114
i2c->msg = pmsg;
drivers/i2c/busses/i2c-viai2c-common.c
115
i2c->xfered_len = 0;
drivers/i2c/busses/i2c-viai2c-common.c
118
ret = viai2c_read(i2c, pmsg, i == 0);
drivers/i2c/busses/i2c-viai2c-common.c
12
dev_warn(i2c->dev, "timeout waiting for bus ready\n");
drivers/i2c/busses/i2c-viai2c-common.c
120
ret = viai2c_write(i2c, pmsg, (i + 1) == num);
drivers/i2c/busses/i2c-viai2c-common.c
135
int viai2c_irq_xfer(struct viai2c *i2c)
drivers/i2c/busses/i2c-viai2c-common.c
138
struct i2c_msg *msg = i2c->msg;
drivers/i2c/busses/i2c-viai2c-common.c
140
void __iomem *base = i2c->base;
drivers/i2c/busses/i2c-viai2c-common.c
143
msg->buf[i2c->xfered_len] = readw(base + VIAI2C_REG_CDR) >> 8;
drivers/i2c/busses/i2c-viai2c-common.c
146
if (i2c->xfered_len == msg->len - 2)
drivers/i2c/busses/i2c-viai2c-common.c
161
if ((i2c->xfered_len + 1) == msg->len) {
drivers/i2c/busses/i2c-viai2c-common.c
162
if (i2c->platform == VIAI2C_PLAT_WMT && !i2c->last)
drivers/i2c/busses/i2c-viai2c-common.c
164
else if (i2c->platform == VIAI2C_PLAT_ZHAOXIN && i2c->last)
drivers/i2c/busses/i2c-viai2c-common.c
167
writew(msg->buf[i2c->xfered_len + 1] & 0xFF, base + VIAI2C_REG_CDR);
drivers/i2c/busses/i2c-viai2c-common.c
172
i2c->xfered_len++;
drivers/i2c/busses/i2c-viai2c-common.c
174
return i2c->xfered_len == msg->len;
drivers/i2c/busses/i2c-viai2c-common.c
180
struct viai2c *i2c;
drivers/i2c/busses/i2c-viai2c-common.c
182
i2c = devm_kzalloc(&pdev->dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-viai2c-common.c
183
if (!i2c)
drivers/i2c/busses/i2c-viai2c-common.c
186
i2c->base = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
drivers/i2c/busses/i2c-viai2c-common.c
187
if (IS_ERR(i2c->base))
drivers/i2c/busses/i2c-viai2c-common.c
188
return PTR_ERR(i2c->base);
drivers/i2c/busses/i2c-viai2c-common.c
190
i2c->platform = plat;
drivers/i2c/busses/i2c-viai2c-common.c
192
i2c->dev = &pdev->dev;
drivers/i2c/busses/i2c-viai2c-common.c
193
init_completion(&i2c->complete);
drivers/i2c/busses/i2c-viai2c-common.c
194
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-viai2c-common.c
196
*pi2c = i2c;
drivers/i2c/busses/i2c-viai2c-common.c
22
static int viai2c_write(struct viai2c *i2c, struct i2c_msg *pmsg, int last)
drivers/i2c/busses/i2c-viai2c-common.c
24
u16 val, tcr_val = i2c->tcr;
drivers/i2c/busses/i2c-viai2c-common.c
26
i2c->last = last;
drivers/i2c/busses/i2c-viai2c-common.c
33
i2c->xfered_len = -1;
drivers/i2c/busses/i2c-viai2c-common.c
34
writew(0, i2c->base + VIAI2C_REG_CDR);
drivers/i2c/busses/i2c-viai2c-common.c
36
writew(pmsg->buf[0] & 0xFF, i2c->base + VIAI2C_REG_CDR);
drivers/i2c/busses/i2c-viai2c-common.c
39
if (i2c->platform == VIAI2C_PLAT_WMT && !(pmsg->flags & I2C_M_NOSTART)) {
drivers/i2c/busses/i2c-viai2c-common.c
40
val = readw(i2c->base + VIAI2C_REG_CR);
drivers/i2c/busses/i2c-viai2c-common.c
43
writew(val, i2c->base + VIAI2C_REG_CR);
drivers/i2c/busses/i2c-viai2c-common.c
46
reinit_completion(&i2c->complete);
drivers/i2c/busses/i2c-viai2c-common.c
5
int viai2c_wait_bus_not_busy(struct viai2c *i2c)
drivers/i2c/busses/i2c-viai2c-common.c
50
writew(tcr_val, i2c->base + VIAI2C_REG_TCR);
drivers/i2c/busses/i2c-viai2c-common.c
52
if (i2c->platform == VIAI2C_PLAT_WMT && pmsg->flags & I2C_M_NOSTART) {
drivers/i2c/busses/i2c-viai2c-common.c
53
val = readw(i2c->base + VIAI2C_REG_CR);
drivers/i2c/busses/i2c-viai2c-common.c
55
writew(val, i2c->base + VIAI2C_REG_CR);
drivers/i2c/busses/i2c-viai2c-common.c
58
if (!wait_for_completion_timeout(&i2c->complete, VIAI2C_TIMEOUT))
drivers/i2c/busses/i2c-viai2c-common.c
61
return i2c->ret;
drivers/i2c/busses/i2c-viai2c-common.c
64
static int viai2c_read(struct viai2c *i2c, struct i2c_msg *pmsg, bool first)
drivers/i2c/busses/i2c-viai2c-common.c
66
u16 val, tcr_val = i2c->tcr;
drivers/i2c/busses/i2c-viai2c-common.c
68
val = readw(i2c->base + VIAI2C_REG_CR);
drivers/i2c/busses/i2c-viai2c-common.c
71
if (i2c->platform == VIAI2C_PLAT_WMT && !(pmsg->flags & I2C_M_NOSTART))
drivers/i2c/busses/i2c-viai2c-common.c
77
writew(val, i2c->base + VIAI2C_REG_CR);
drivers/i2c/busses/i2c-viai2c-common.c
79
reinit_completion(&i2c->complete);
drivers/i2c/busses/i2c-viai2c-common.c
83
writew(tcr_val, i2c->base + VIAI2C_REG_TCR);
drivers/i2c/busses/i2c-viai2c-common.c
85
if ((i2c->platform == VIAI2C_PLAT_WMT && (pmsg->flags & I2C_M_NOSTART)) ||
drivers/i2c/busses/i2c-viai2c-common.c
86
(i2c->platform == VIAI2C_PLAT_ZHAOXIN && !first)) {
drivers/i2c/busses/i2c-viai2c-common.c
87
val = readw(i2c->base + VIAI2C_REG_CR);
drivers/i2c/busses/i2c-viai2c-common.c
89
writew(val, i2c->base + VIAI2C_REG_CR);
drivers/i2c/busses/i2c-viai2c-common.c
92
if (!wait_for_completion_timeout(&i2c->complete, VIAI2C_TIMEOUT))
drivers/i2c/busses/i2c-viai2c-common.c
95
return i2c->ret;
drivers/i2c/busses/i2c-viai2c-common.h
80
int viai2c_wait_bus_not_busy(struct viai2c *i2c);
drivers/i2c/busses/i2c-viai2c-common.h
83
int viai2c_irq_xfer(struct viai2c *i2c);
drivers/i2c/busses/i2c-viai2c-wmt.c
101
struct viai2c *i2c;
drivers/i2c/busses/i2c-viai2c-wmt.c
106
err = viai2c_init(pdev, &i2c, VIAI2C_PLAT_WMT);
drivers/i2c/busses/i2c-viai2c-wmt.c
110
i2c->irq = platform_get_irq(pdev, 0);
drivers/i2c/busses/i2c-viai2c-wmt.c
111
if (i2c->irq < 0)
drivers/i2c/busses/i2c-viai2c-wmt.c
112
return i2c->irq;
drivers/i2c/busses/i2c-viai2c-wmt.c
114
err = devm_request_irq(&pdev->dev, i2c->irq, wmt_i2c_isr,
drivers/i2c/busses/i2c-viai2c-wmt.c
115
0, pdev->name, i2c);
drivers/i2c/busses/i2c-viai2c-wmt.c
118
"failed to request irq %i\n", i2c->irq);
drivers/i2c/busses/i2c-viai2c-wmt.c
120
i2c->clk = of_clk_get(np, 0);
drivers/i2c/busses/i2c-viai2c-wmt.c
121
if (IS_ERR(i2c->clk))
drivers/i2c/busses/i2c-viai2c-wmt.c
122
return dev_err_probe(&pdev->dev, PTR_ERR(i2c->clk),
drivers/i2c/busses/i2c-viai2c-wmt.c
127
i2c->tcr = VIAI2C_TCR_FAST;
drivers/i2c/busses/i2c-viai2c-wmt.c
129
adap = &i2c->adapter;
drivers/i2c/busses/i2c-viai2c-wmt.c
130
i2c_set_adapdata(adap, i2c);
drivers/i2c/busses/i2c-viai2c-wmt.c
137
err = wmt_i2c_reset_hardware(i2c);
drivers/i2c/busses/i2c-viai2c-wmt.c
144
clk_disable_unprepare(i2c->clk);
drivers/i2c/busses/i2c-viai2c-wmt.c
151
struct viai2c *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-viai2c-wmt.c
154
writew(0, i2c->base + VIAI2C_REG_IMR);
drivers/i2c/busses/i2c-viai2c-wmt.c
155
clk_disable_unprepare(i2c->clk);
drivers/i2c/busses/i2c-viai2c-wmt.c
156
i2c_del_adapter(&i2c->adapter);
drivers/i2c/busses/i2c-viai2c-wmt.c
42
static int wmt_i2c_reset_hardware(struct viai2c *i2c)
drivers/i2c/busses/i2c-viai2c-wmt.c
46
err = clk_prepare_enable(i2c->clk);
drivers/i2c/busses/i2c-viai2c-wmt.c
48
return dev_err_probe(i2c->dev, err, "failed to enable clock\n");
drivers/i2c/busses/i2c-viai2c-wmt.c
50
err = clk_set_rate(i2c->clk, 20000000);
drivers/i2c/busses/i2c-viai2c-wmt.c
52
clk_disable_unprepare(i2c->clk);
drivers/i2c/busses/i2c-viai2c-wmt.c
53
return dev_err_probe(i2c->dev, err, "failed to set clock = 20Mhz\n");
drivers/i2c/busses/i2c-viai2c-wmt.c
56
writew(0, i2c->base + VIAI2C_REG_CR);
drivers/i2c/busses/i2c-viai2c-wmt.c
57
writew(MCR_APB_166M, i2c->base + VIAI2C_REG_MCR);
drivers/i2c/busses/i2c-viai2c-wmt.c
58
writew(VIAI2C_ISR_MASK_ALL, i2c->base + VIAI2C_REG_ISR);
drivers/i2c/busses/i2c-viai2c-wmt.c
59
writew(VIAI2C_IMR_ENABLE_ALL, i2c->base + VIAI2C_REG_IMR);
drivers/i2c/busses/i2c-viai2c-wmt.c
60
writew(VIAI2C_CR_ENABLE, i2c->base + VIAI2C_REG_CR);
drivers/i2c/busses/i2c-viai2c-wmt.c
61
readw(i2c->base + VIAI2C_REG_CSR); /* read clear */
drivers/i2c/busses/i2c-viai2c-wmt.c
62
writew(VIAI2C_ISR_MASK_ALL, i2c->base + VIAI2C_REG_ISR);
drivers/i2c/busses/i2c-viai2c-wmt.c
64
if (i2c->tcr == VIAI2C_TCR_FAST)
drivers/i2c/busses/i2c-viai2c-wmt.c
65
writew(SCL_TIMEOUT(128) | TR_HS, i2c->base + VIAI2C_REG_TR);
drivers/i2c/busses/i2c-viai2c-wmt.c
67
writew(SCL_TIMEOUT(128) | TR_STD, i2c->base + VIAI2C_REG_TR);
drivers/i2c/busses/i2c-viai2c-wmt.c
74
struct viai2c *i2c = data;
drivers/i2c/busses/i2c-viai2c-wmt.c
78
status = readw(i2c->base + VIAI2C_REG_ISR);
drivers/i2c/busses/i2c-viai2c-wmt.c
79
writew(status, i2c->base + VIAI2C_REG_ISR);
drivers/i2c/busses/i2c-viai2c-wmt.c
81
i2c->ret = 0;
drivers/i2c/busses/i2c-viai2c-wmt.c
83
i2c->ret = -EIO;
drivers/i2c/busses/i2c-viai2c-wmt.c
86
i2c->ret = -ETIMEDOUT;
drivers/i2c/busses/i2c-viai2c-wmt.c
88
if (!i2c->ret)
drivers/i2c/busses/i2c-viai2c-wmt.c
89
i2c->ret = viai2c_irq_xfer(i2c);
drivers/i2c/busses/i2c-viai2c-wmt.c
92
if (i2c->ret)
drivers/i2c/busses/i2c-viai2c-wmt.c
93
complete(&i2c->complete);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
104
msg->buf[i2c->xfered_len + i] = ioread8(base + ZXI2C_REG_HRDR);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
106
i2c->xfered_len += priv->xfer_len;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
107
if (i2c->xfered_len == msg->len)
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
115
priv->xfer_len = min_t(u16, msg->len - i2c->xfered_len, ZXI2C_FIFO_SIZE);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
122
iowrite8(msg->buf[i2c->xfered_len + i], base + ZXI2C_REG_HTDR);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
126
if (priv->hrv && msg->len == (i2c->xfered_len + priv->xfer_len)) {
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
143
struct viai2c *i2c = (struct viai2c *)i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
144
struct viai2c_zhaoxin *priv = i2c->pltfm_priv;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
145
void __iomem *base = i2c->base;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
147
ret = viai2c_wait_bus_not_busy(i2c);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
162
i2c->msg = msgs;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
163
i2c->mode = VIAI2C_FIFO_MODE;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
165
i2c->xfered_len = 0;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
167
viai2c_fifo_xfer(i2c);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
169
if (!wait_for_completion_timeout(&i2c->complete, VIAI2C_TIMEOUT))
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
172
ret = i2c->ret;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
214
static void zxi2c_set_bus_speed(struct viai2c *i2c)
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
216
struct viai2c_zhaoxin *priv = i2c->pltfm_priv;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
218
iowrite16(priv->tr, i2c->base + VIAI2C_REG_TR);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
219
iowrite8(ZXI2C_CLK_50M, i2c->base + ZXI2C_REG_CLK);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
220
iowrite16(priv->mcr, i2c->base + VIAI2C_REG_MCR);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
223
static void zxi2c_get_bus_speed(struct viai2c *i2c)
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
228
struct viai2c_zhaoxin *priv = i2c->pltfm_priv;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
229
u32 acpi_speed = i2c_acpi_find_bus_speed(i2c->dev);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
239
fstp = ioread8(i2c->base + VIAI2C_REG_TR);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
245
dev_warn(i2c->dev, "FW FSTP[%x] might cause wrong timings, dropped\n", fstp);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
251
i2c->tcr = params[1];
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
252
priv->mcr = ioread16(i2c->base + VIAI2C_REG_MCR);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
257
dev_info(i2c->dev, "speed mode is %s\n", i2c_freq_mode_string(params[0]));
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
262
struct viai2c *i2c = data;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
266
status = readw(i2c->base + VIAI2C_REG_ISR);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
270
writew(status, i2c->base + VIAI2C_REG_ISR);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
272
i2c->ret = 0;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
274
i2c->ret = -EIO;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
276
if (!i2c->ret) {
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
277
if (i2c->mode == VIAI2C_BYTE_MODE)
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
278
i2c->ret = viai2c_irq_xfer(i2c);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
280
i2c->ret = viai2c_fifo_irq_xfer(i2c);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
284
if (i2c->ret)
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
285
complete(&i2c->complete);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
293
struct viai2c *i2c;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
297
error = viai2c_init(pdev, &i2c, VIAI2C_PLAT_ZHAOXIN);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
301
i2c->irq = platform_get_irq(pdev, 0);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
302
if (i2c->irq < 0)
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
303
return i2c->irq;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
305
error = devm_request_irq(&pdev->dev, i2c->irq, zxi2c_isr,
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
306
IRQF_SHARED, pdev->name, i2c);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
309
"failed to request irq %i\n", i2c->irq);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
314
i2c->pltfm_priv = priv;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
316
zxi2c_get_bus_speed(i2c);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
317
zxi2c_set_bus_speed(i2c);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
319
priv->hrv = ioread8(i2c->base + ZXI2C_REG_REV);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
321
adap = &i2c->adapter;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
328
dev_name(pdev->dev.parent), dev_name(i2c->dev));
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
329
i2c_set_adapdata(adap, i2c);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
336
struct viai2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
338
iowrite8(ZXI2C_CR_MST_RST, i2c->base + VIAI2C_REG_CR);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
339
zxi2c_set_bus_speed(i2c);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
52
static int viai2c_fifo_xfer(struct viai2c *i2c)
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
56
struct i2c_msg *msg = i2c->msg;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
57
void __iomem *base = i2c->base;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
59
struct viai2c_zhaoxin *priv = i2c->pltfm_priv;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
66
priv->xfer_len = min_t(u16, msg->len - i2c->xfered_len, ZXI2C_FIFO_SIZE);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
73
iowrite8(msg->buf[i2c->xfered_len + i], base + ZXI2C_REG_HTDR);
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
77
if (priv->hrv && msg->len == (i2c->xfered_len + priv->xfer_len)) {
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
83
u16 tcr_val = i2c->tcr;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
92
static int viai2c_fifo_irq_xfer(struct viai2c *i2c)
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
96
struct i2c_msg *msg = i2c->msg;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
97
void __iomem *base = i2c->base;
drivers/i2c/busses/i2c-viai2c-zhaoxin.c
99
struct viai2c_zhaoxin *priv = i2c->pltfm_priv;
drivers/i2c/busses/i2c-viperboard.c
25
struct i2c_adapter i2c;
drivers/i2c/busses/i2c-viperboard.c
266
static int vprbrd_i2c_xfer(struct i2c_adapter *i2c, struct i2c_msg *msgs,
drivers/i2c/busses/i2c-viperboard.c
272
struct vprbrd *vb = (struct vprbrd *)i2c->algo_data;
drivers/i2c/busses/i2c-viperboard.c
280
dev_dbg(&i2c->dev,
drivers/i2c/busses/i2c-viperboard.c
304
ret = vprbrd_i2c_status(i2c, smsg, error);
drivers/i2c/busses/i2c-viperboard.c
325
ret = vprbrd_i2c_status(i2c, smsg, error);
drivers/i2c/busses/i2c-viperboard.c
340
static u32 vprbrd_i2c_func(struct i2c_adapter *i2c)
drivers/i2c/busses/i2c-viperboard.c
36
static int vprbrd_i2c_status(struct i2c_adapter *i2c,
drivers/i2c/busses/i2c-viperboard.c
368
vb_i2c->i2c.owner = THIS_MODULE;
drivers/i2c/busses/i2c-viperboard.c
369
vb_i2c->i2c.class = I2C_CLASS_HWMON;
drivers/i2c/busses/i2c-viperboard.c
370
vb_i2c->i2c.algo = &vprbrd_algorithm;
drivers/i2c/busses/i2c-viperboard.c
371
vb_i2c->i2c.quirks = &vprbrd_quirks;
drivers/i2c/busses/i2c-viperboard.c
372
vb_i2c->i2c.algo_data = vb;
drivers/i2c/busses/i2c-viperboard.c
376
snprintf(vb_i2c->i2c.name, sizeof(vb_i2c->i2c.name),
drivers/i2c/busses/i2c-viperboard.c
397
vb_i2c->i2c.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-viperboard.c
400
i2c_add_adapter(&vb_i2c->i2c);
drivers/i2c/busses/i2c-viperboard.c
41
struct vprbrd *vb = (struct vprbrd *)i2c->algo_data;
drivers/i2c/busses/i2c-viperboard.c
411
i2c_del_adapter(&vb_i2c->i2c);
drivers/i2c/busses/i2c-viperboard.c
54
dev_err(&i2c->dev, "failure in usb communication\n");
drivers/i2c/busses/i2c-viperboard.c
58
dev_dbg(&i2c->dev, " status = %d\n", status->status);
drivers/i2c/busses/i2c-viperboard.c
60
dev_err(&i2c->dev, "failure: i2c protocol error\n");
drivers/i2c/busses/i2c-xiic.c
1001
xiic_irq_clr_en(i2c, XIIC_INTR_BNB_MASK);
drivers/i2c/busses/i2c-xiic.c
1009
if (i2c->prev_msg_tx) {
drivers/i2c/busses/i2c-xiic.c
1012
status = xiic_wait_tx_empty(i2c);
drivers/i2c/busses/i2c-xiic.c
1017
cr = xiic_getreg8(i2c, XIIC_CR_REG_OFFSET);
drivers/i2c/busses/i2c-xiic.c
1027
if (!(i2c->rx_msg->flags & I2C_M_RECV_LEN)) {
drivers/i2c/busses/i2c-xiic.c
1039
xiic_setreg8(i2c, XIIC_CR_REG_OFFSET, (cr |
drivers/i2c/busses/i2c-xiic.c
1044
xiic_setreg8(i2c, XIIC_RFD_REG_OFFSET, rfd_set);
drivers/i2c/busses/i2c-xiic.c
1047
xiic_irq_clr_en(i2c, XIIC_INTR_RX_FULL_MASK |
drivers/i2c/busses/i2c-xiic.c
1051
xiic_setreg16(i2c, XIIC_DTR_REG_OFFSET,
drivers/i2c/busses/i2c-xiic.c
1056
xiic_setreg8(i2c, XIIC_CR_REG_OFFSET, (cr |
drivers/i2c/busses/i2c-xiic.c
1060
if (!i2c->atomic)
drivers/i2c/busses/i2c-xiic.c
1061
dev_dbg(i2c->adap.dev.parent, "%s end, ISR: 0x%x, CR: 0x%x\n",
drivers/i2c/busses/i2c-xiic.c
1062
__func__, xiic_getreg32(i2c, XIIC_IISR_OFFSET),
drivers/i2c/busses/i2c-xiic.c
1063
xiic_getreg8(i2c, XIIC_CR_REG_OFFSET));
drivers/i2c/busses/i2c-xiic.c
1066
if (i2c->nmsgs == 1)
drivers/i2c/busses/i2c-xiic.c
1068
xiic_irq_clr_en(i2c, XIIC_INTR_BNB_MASK);
drivers/i2c/busses/i2c-xiic.c
1071
i2c->tx_pos = msg->len;
drivers/i2c/busses/i2c-xiic.c
1073
i2c->prev_msg_tx = false;
drivers/i2c/busses/i2c-xiic.c
1076
if (!i2c->atomic)
drivers/i2c/busses/i2c-xiic.c
1077
xiic_setreg32(i2c, XIIC_DGIER_OFFSET, XIIC_GINTR_ENABLE_MASK);
drivers/i2c/busses/i2c-xiic.c
1079
xiic_recv_atomic(i2c);
drivers/i2c/busses/i2c-xiic.c
1082
static void xiic_send_rem_atomic(struct xiic_i2c *i2c)
drivers/i2c/busses/i2c-xiic.c
1084
while (xiic_tx_space(i2c)) {
drivers/i2c/busses/i2c-xiic.c
1085
if (xiic_tx_fifo_space(i2c)) {
drivers/i2c/busses/i2c-xiic.c
1088
data = i2c->tx_msg->buf[i2c->tx_pos];
drivers/i2c/busses/i2c-xiic.c
1089
i2c->tx_pos++;
drivers/i2c/busses/i2c-xiic.c
1090
if (!xiic_tx_space(i2c) && i2c->nmsgs == 1) {
drivers/i2c/busses/i2c-xiic.c
1092
if (i2c->dynamic) {
drivers/i2c/busses/i2c-xiic.c
1099
status = xiic_wait_tx_empty(i2c);
drivers/i2c/busses/i2c-xiic.c
1104
cr = xiic_getreg8(i2c, XIIC_CR_REG_OFFSET);
drivers/i2c/busses/i2c-xiic.c
1105
xiic_setreg8(i2c, XIIC_CR_REG_OFFSET, cr &
drivers/i2c/busses/i2c-xiic.c
1109
xiic_setreg16(i2c, XIIC_DTR_REG_OFFSET, data);
drivers/i2c/busses/i2c-xiic.c
1111
if (xiic_error_check(i2c))
drivers/i2c/busses/i2c-xiic.c
1115
if (i2c->nmsgs > 1) {
drivers/i2c/busses/i2c-xiic.c
1116
i2c->nmsgs--;
drivers/i2c/busses/i2c-xiic.c
1117
i2c->tx_msg++;
drivers/i2c/busses/i2c-xiic.c
1118
__xiic_start_xfer(i2c);
drivers/i2c/busses/i2c-xiic.c
1120
xiic_irq_dis(i2c, XIIC_INTR_TX_HALF_MASK);
drivers/i2c/busses/i2c-xiic.c
1124
static void xiic_start_send(struct xiic_i2c *i2c)
drivers/i2c/busses/i2c-xiic.c
1128
struct i2c_msg *msg = i2c->tx_msg;
drivers/i2c/busses/i2c-xiic.c
1130
if (!i2c->atomic) {
drivers/i2c/busses/i2c-xiic.c
1131
dev_dbg(i2c->adap.dev.parent, "%s entry, msg: %p, len: %d",
drivers/i2c/busses/i2c-xiic.c
1133
dev_dbg(i2c->adap.dev.parent, "%s entry, ISR: 0x%x, CR: 0x%x\n",
drivers/i2c/busses/i2c-xiic.c
1134
__func__, xiic_getreg32(i2c, XIIC_IISR_OFFSET),
drivers/i2c/busses/i2c-xiic.c
1135
xiic_getreg8(i2c, XIIC_CR_REG_OFFSET));
drivers/i2c/busses/i2c-xiic.c
1138
if (i2c->dynamic) {
drivers/i2c/busses/i2c-xiic.c
1143
if (i2c->nmsgs == 1 && msg->len == 0)
drivers/i2c/busses/i2c-xiic.c
1147
xiic_setreg16(i2c, XIIC_DTR_REG_OFFSET, data);
drivers/i2c/busses/i2c-xiic.c
1150
xiic_irq_clr_en(i2c, XIIC_INTR_TX_EMPTY_MASK |
drivers/i2c/busses/i2c-xiic.c
1153
((i2c->nmsgs > 1 || xiic_tx_space(i2c)) ?
drivers/i2c/busses/i2c-xiic.c
1156
xiic_fill_tx_fifo(i2c);
drivers/i2c/busses/i2c-xiic.c
1164
if (i2c->prev_msg_tx) {
drivers/i2c/busses/i2c-xiic.c
1167
status = xiic_wait_tx_empty(i2c);
drivers/i2c/busses/i2c-xiic.c
1172
cr = xiic_getreg8(i2c, XIIC_CR_REG_OFFSET);
drivers/i2c/busses/i2c-xiic.c
1175
xiic_setreg8(i2c, XIIC_CR_REG_OFFSET, (cr |
drivers/i2c/busses/i2c-xiic.c
1183
xiic_setreg16(i2c, XIIC_DTR_REG_OFFSET, data);
drivers/i2c/busses/i2c-xiic.c
1186
xiic_fill_tx_fifo(i2c);
drivers/i2c/busses/i2c-xiic.c
1190
cr = xiic_getreg8(i2c, XIIC_CR_REG_OFFSET);
drivers/i2c/busses/i2c-xiic.c
1191
xiic_setreg8(i2c, XIIC_CR_REG_OFFSET, cr |
drivers/i2c/busses/i2c-xiic.c
1197
xiic_irq_clr_en(i2c, XIIC_INTR_TX_EMPTY_MASK |
drivers/i2c/busses/i2c-xiic.c
1202
i2c->prev_msg_tx = true;
drivers/i2c/busses/i2c-xiic.c
1204
if (i2c->atomic && !i2c->atomic_xfer_state)
drivers/i2c/busses/i2c-xiic.c
1205
xiic_send_rem_atomic(i2c);
drivers/i2c/busses/i2c-xiic.c
1208
static void __xiic_start_xfer(struct xiic_i2c *i2c)
drivers/i2c/busses/i2c-xiic.c
1210
int fifo_space = xiic_tx_fifo_space(i2c);
drivers/i2c/busses/i2c-xiic.c
1212
if (!i2c->atomic)
drivers/i2c/busses/i2c-xiic.c
1213
dev_dbg(i2c->adap.dev.parent, "%s entry, msg: %p, fifos space: %d\n",
drivers/i2c/busses/i2c-xiic.c
1214
__func__, i2c->tx_msg, fifo_space);
drivers/i2c/busses/i2c-xiic.c
1216
if (!i2c->tx_msg)
drivers/i2c/busses/i2c-xiic.c
1219
if (i2c->atomic && xiic_error_check(i2c))
drivers/i2c/busses/i2c-xiic.c
1222
i2c->rx_pos = 0;
drivers/i2c/busses/i2c-xiic.c
1223
i2c->tx_pos = 0;
drivers/i2c/busses/i2c-xiic.c
1224
i2c->state = STATE_START;
drivers/i2c/busses/i2c-xiic.c
1225
if (i2c->tx_msg->flags & I2C_M_RD) {
drivers/i2c/busses/i2c-xiic.c
1227
xiic_start_recv(i2c);
drivers/i2c/busses/i2c-xiic.c
1229
xiic_start_send(i2c);
drivers/i2c/busses/i2c-xiic.c
1233
static int xiic_start_xfer(struct xiic_i2c *i2c, struct i2c_msg *msgs, int num)
drivers/i2c/busses/i2c-xiic.c
1238
if (i2c->atomic)
drivers/i2c/busses/i2c-xiic.c
1239
spin_lock(&i2c->atomic_lock);
drivers/i2c/busses/i2c-xiic.c
1241
mutex_lock(&i2c->lock);
drivers/i2c/busses/i2c-xiic.c
1243
if (i2c->tx_msg || i2c->rx_msg) {
drivers/i2c/busses/i2c-xiic.c
1244
dev_err(i2c->adap.dev.parent,
drivers/i2c/busses/i2c-xiic.c
1250
i2c->atomic_xfer_state = STATE_DONE;
drivers/i2c/busses/i2c-xiic.c
1257
if (!i2c->singlemaster) {
drivers/i2c/busses/i2c-xiic.c
1258
ret = xiic_wait_not_busy(i2c);
drivers/i2c/busses/i2c-xiic.c
1265
dev_warn(i2c->adap.dev.parent, "I2C bus busy timeout, reinitializing\n");
drivers/i2c/busses/i2c-xiic.c
1266
ret = xiic_reinit(i2c);
drivers/i2c/busses/i2c-xiic.c
1269
ret = xiic_wait_not_busy(i2c);
drivers/i2c/busses/i2c-xiic.c
1275
i2c->tx_msg = msgs;
drivers/i2c/busses/i2c-xiic.c
1276
i2c->rx_msg = NULL;
drivers/i2c/busses/i2c-xiic.c
1277
i2c->nmsgs = num;
drivers/i2c/busses/i2c-xiic.c
1279
if (!i2c->atomic)
drivers/i2c/busses/i2c-xiic.c
1280
init_completion(&i2c->completion);
drivers/i2c/busses/i2c-xiic.c
1283
i2c->dynamic = true;
drivers/i2c/busses/i2c-xiic.c
1286
i2c->prev_msg_tx = false;
drivers/i2c/busses/i2c-xiic.c
1297
for (count = 0; count < i2c->nmsgs; count++) {
drivers/i2c/busses/i2c-xiic.c
1298
broken_read = (i2c->quirks & DYNAMIC_MODE_READ_BROKEN_BIT) &&
drivers/i2c/busses/i2c-xiic.c
1299
(i2c->tx_msg[count].flags & I2C_M_RD);
drivers/i2c/busses/i2c-xiic.c
1300
max_read_len = (i2c->tx_msg[count].flags & I2C_M_RD) &&
drivers/i2c/busses/i2c-xiic.c
1301
(i2c->tx_msg[count].len > MAX_READ_LENGTH_DYNAMIC);
drivers/i2c/busses/i2c-xiic.c
1302
smbus_blk_read = (i2c->tx_msg[count].flags & I2C_M_RECV_LEN);
drivers/i2c/busses/i2c-xiic.c
1305
i2c->dynamic = false;
drivers/i2c/busses/i2c-xiic.c
1310
ret = xiic_reinit(i2c);
drivers/i2c/busses/i2c-xiic.c
1312
__xiic_start_xfer(i2c);
drivers/i2c/busses/i2c-xiic.c
1315
if (i2c->atomic)
drivers/i2c/busses/i2c-xiic.c
1316
spin_unlock(&i2c->atomic_lock);
drivers/i2c/busses/i2c-xiic.c
1318
mutex_unlock(&i2c->lock);
drivers/i2c/busses/i2c-xiic.c
1325
struct xiic_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-xiic.c
1329
xiic_getreg8(i2c, XIIC_SR_REG_OFFSET));
drivers/i2c/busses/i2c-xiic.c
1331
err = pm_runtime_resume_and_get(i2c->dev);
drivers/i2c/busses/i2c-xiic.c
1335
err = xiic_start_xfer(i2c, msgs, num);
drivers/i2c/busses/i2c-xiic.c
1339
err = wait_for_completion_timeout(&i2c->completion, XIIC_XFER_TIMEOUT);
drivers/i2c/busses/i2c-xiic.c
1340
mutex_lock(&i2c->lock);
drivers/i2c/busses/i2c-xiic.c
1342
i2c->tx_msg = NULL;
drivers/i2c/busses/i2c-xiic.c
1343
i2c->rx_msg = NULL;
drivers/i2c/busses/i2c-xiic.c
1344
i2c->nmsgs = 0;
drivers/i2c/busses/i2c-xiic.c
1347
err = (i2c->state == STATE_DONE) ? num : -EIO;
drivers/i2c/busses/i2c-xiic.c
1349
mutex_unlock(&i2c->lock);
drivers/i2c/busses/i2c-xiic.c
1352
pm_runtime_put_autosuspend(i2c->dev);
drivers/i2c/busses/i2c-xiic.c
1358
struct xiic_i2c *i2c = i2c_get_adapdata(adap);
drivers/i2c/busses/i2c-xiic.c
1362
err = xiic_i2c_runtime_resume(i2c->dev);
drivers/i2c/busses/i2c-xiic.c
1366
i2c->atomic = true;
drivers/i2c/busses/i2c-xiic.c
1367
err = xiic_start_xfer(i2c, msgs, num);
drivers/i2c/busses/i2c-xiic.c
1371
err = readl_poll_timeout_atomic(i2c->base + XIIC_SR_REG_OFFSET,
drivers/i2c/busses/i2c-xiic.c
1378
spin_lock(&i2c->atomic_lock);
drivers/i2c/busses/i2c-xiic.c
1379
if (err || i2c->state) {
drivers/i2c/busses/i2c-xiic.c
1380
i2c->tx_msg = NULL;
drivers/i2c/busses/i2c-xiic.c
1381
i2c->rx_msg = NULL;
drivers/i2c/busses/i2c-xiic.c
1382
i2c->nmsgs = 0;
drivers/i2c/busses/i2c-xiic.c
1385
err = (i2c->atomic_xfer_state == STATE_DONE) ? num : -EIO;
drivers/i2c/busses/i2c-xiic.c
1386
spin_unlock(&i2c->atomic_lock);
drivers/i2c/busses/i2c-xiic.c
1388
i2c->atomic = false;
drivers/i2c/busses/i2c-xiic.c
1389
xiic_i2c_runtime_suspend(i2c->dev);
drivers/i2c/busses/i2c-xiic.c
1426
struct xiic_i2c *i2c;
drivers/i2c/busses/i2c-xiic.c
1434
i2c = devm_kzalloc(&pdev->dev, sizeof(*i2c), GFP_KERNEL);
drivers/i2c/busses/i2c-xiic.c
1435
if (!i2c)
drivers/i2c/busses/i2c-xiic.c
1442
i2c->quirks = data->quirks;
drivers/i2c/busses/i2c-xiic.c
1445
i2c->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
drivers/i2c/busses/i2c-xiic.c
1446
if (IS_ERR(i2c->base))
drivers/i2c/busses/i2c-xiic.c
1447
return PTR_ERR(i2c->base);
drivers/i2c/busses/i2c-xiic.c
1456
platform_set_drvdata(pdev, i2c);
drivers/i2c/busses/i2c-xiic.c
1457
i2c->adap = xiic_adapter;
drivers/i2c/busses/i2c-xiic.c
1458
i2c_set_adapdata(&i2c->adap, i2c);
drivers/i2c/busses/i2c-xiic.c
1459
i2c->adap.dev.parent = &pdev->dev;
drivers/i2c/busses/i2c-xiic.c
1460
i2c->adap.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-xiic.c
1461
snprintf(i2c->adap.name, sizeof(i2c->adap.name),
drivers/i2c/busses/i2c-xiic.c
1464
mutex_init(&i2c->lock);
drivers/i2c/busses/i2c-xiic.c
1465
spin_lock_init(&i2c->atomic_lock);
drivers/i2c/busses/i2c-xiic.c
1467
i2c->clk = devm_clk_get_enabled(&pdev->dev, NULL);
drivers/i2c/busses/i2c-xiic.c
1468
if (IS_ERR(i2c->clk))
drivers/i2c/busses/i2c-xiic.c
1469
return dev_err_probe(&pdev->dev, PTR_ERR(i2c->clk),
drivers/i2c/busses/i2c-xiic.c
1472
i2c->dev = &pdev->dev;
drivers/i2c/busses/i2c-xiic.c
1473
pm_runtime_set_autosuspend_delay(i2c->dev, XIIC_PM_TIMEOUT);
drivers/i2c/busses/i2c-xiic.c
1474
pm_runtime_use_autosuspend(i2c->dev);
drivers/i2c/busses/i2c-xiic.c
1475
pm_runtime_set_active(i2c->dev);
drivers/i2c/busses/i2c-xiic.c
1476
pm_runtime_enable(i2c->dev);
drivers/i2c/busses/i2c-xiic.c
1479
i2c->input_clk = clk_get_rate(i2c->clk);
drivers/i2c/busses/i2c-xiic.c
1481
&i2c->i2c_clk);
drivers/i2c/busses/i2c-xiic.c
1483
if (ret || i2c->i2c_clk > I2C_MAX_FAST_MODE_PLUS_FREQ)
drivers/i2c/busses/i2c-xiic.c
1484
i2c->i2c_clk = 0;
drivers/i2c/busses/i2c-xiic.c
1488
pdev->name, i2c);
drivers/i2c/busses/i2c-xiic.c
1495
i2c->singlemaster =
drivers/i2c/busses/i2c-xiic.c
1503
i2c->endianness = LITTLE;
drivers/i2c/busses/i2c-xiic.c
1504
xiic_setreg32(i2c, XIIC_CR_REG_OFFSET, XIIC_CR_TX_FIFO_RESET_MASK);
drivers/i2c/busses/i2c-xiic.c
1506
sr = xiic_getreg32(i2c, XIIC_SR_REG_OFFSET);
drivers/i2c/busses/i2c-xiic.c
1508
i2c->endianness = BIG;
drivers/i2c/busses/i2c-xiic.c
1510
ret = xiic_reinit(i2c);
drivers/i2c/busses/i2c-xiic.c
1517
ret = i2c_add_adapter(&i2c->adap);
drivers/i2c/busses/i2c-xiic.c
1519
xiic_deinit(i2c);
drivers/i2c/busses/i2c-xiic.c
1526
i2c_new_client_device(&i2c->adap, pdata->devices + i);
drivers/i2c/busses/i2c-xiic.c
1530
(unsigned long)res->start, irq, i2c->i2c_clk);
drivers/i2c/busses/i2c-xiic.c
1543
struct xiic_i2c *i2c = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-xiic.c
1547
i2c_del_adapter(&i2c->adap);
drivers/i2c/busses/i2c-xiic.c
1549
ret = pm_runtime_get_sync(i2c->dev);
drivers/i2c/busses/i2c-xiic.c
1555
xiic_deinit(i2c);
drivers/i2c/busses/i2c-xiic.c
1557
pm_runtime_put_sync(i2c->dev);
drivers/i2c/busses/i2c-xiic.c
245
#define xiic_tx_space(i2c) ((i2c)->tx_msg->len - (i2c)->tx_pos)
drivers/i2c/busses/i2c-xiic.c
246
#define xiic_rx_space(i2c) ((i2c)->rx_msg->len - (i2c)->rx_pos)
drivers/i2c/busses/i2c-xiic.c
248
static int xiic_start_xfer(struct xiic_i2c *i2c, struct i2c_msg *msgs, int num);
drivers/i2c/busses/i2c-xiic.c
249
static void __xiic_start_xfer(struct xiic_i2c *i2c);
drivers/i2c/busses/i2c-xiic.c
253
struct xiic_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-xiic.c
255
clk_disable(i2c->clk);
drivers/i2c/busses/i2c-xiic.c
262
struct xiic_i2c *i2c = dev_get_drvdata(dev);
drivers/i2c/busses/i2c-xiic.c
265
ret = clk_enable(i2c->clk);
drivers/i2c/busses/i2c-xiic.c
282
static inline void xiic_setreg8(struct xiic_i2c *i2c, int reg, u8 value)
drivers/i2c/busses/i2c-xiic.c
284
if (i2c->endianness == LITTLE)
drivers/i2c/busses/i2c-xiic.c
285
iowrite8(value, i2c->base + reg);
drivers/i2c/busses/i2c-xiic.c
287
iowrite8(value, i2c->base + reg + 3);
drivers/i2c/busses/i2c-xiic.c
290
static inline u8 xiic_getreg8(struct xiic_i2c *i2c, int reg)
drivers/i2c/busses/i2c-xiic.c
294
if (i2c->endianness == LITTLE)
drivers/i2c/busses/i2c-xiic.c
295
ret = ioread8(i2c->base + reg);
drivers/i2c/busses/i2c-xiic.c
297
ret = ioread8(i2c->base + reg + 3);
drivers/i2c/busses/i2c-xiic.c
301
static inline void xiic_setreg16(struct xiic_i2c *i2c, int reg, u16 value)
drivers/i2c/busses/i2c-xiic.c
303
if (i2c->endianness == LITTLE)
drivers/i2c/busses/i2c-xiic.c
304
iowrite16(value, i2c->base + reg);
drivers/i2c/busses/i2c-xiic.c
306
iowrite16be(value, i2c->base + reg + 2);
drivers/i2c/busses/i2c-xiic.c
309
static inline void xiic_setreg32(struct xiic_i2c *i2c, int reg, int value)
drivers/i2c/busses/i2c-xiic.c
311
if (i2c->endianness == LITTLE)
drivers/i2c/busses/i2c-xiic.c
312
iowrite32(value, i2c->base + reg);
drivers/i2c/busses/i2c-xiic.c
314
iowrite32be(value, i2c->base + reg);
drivers/i2c/busses/i2c-xiic.c
317
static inline int xiic_getreg32(struct xiic_i2c *i2c, int reg)
drivers/i2c/busses/i2c-xiic.c
321
if (i2c->endianness == LITTLE)
drivers/i2c/busses/i2c-xiic.c
322
ret = ioread32(i2c->base + reg);
drivers/i2c/busses/i2c-xiic.c
324
ret = ioread32be(i2c->base + reg);
drivers/i2c/busses/i2c-xiic.c
328
static inline void xiic_irq_dis(struct xiic_i2c *i2c, u32 mask)
drivers/i2c/busses/i2c-xiic.c
330
u32 ier = xiic_getreg32(i2c, XIIC_IIER_OFFSET);
drivers/i2c/busses/i2c-xiic.c
332
xiic_setreg32(i2c, XIIC_IIER_OFFSET, ier & ~mask);
drivers/i2c/busses/i2c-xiic.c
335
static inline void xiic_irq_en(struct xiic_i2c *i2c, u32 mask)
drivers/i2c/busses/i2c-xiic.c
337
u32 ier = xiic_getreg32(i2c, XIIC_IIER_OFFSET);
drivers/i2c/busses/i2c-xiic.c
339
xiic_setreg32(i2c, XIIC_IIER_OFFSET, ier | mask);
drivers/i2c/busses/i2c-xiic.c
342
static inline void xiic_irq_clr(struct xiic_i2c *i2c, u32 mask)
drivers/i2c/busses/i2c-xiic.c
344
u32 isr = xiic_getreg32(i2c, XIIC_IISR_OFFSET);
drivers/i2c/busses/i2c-xiic.c
346
xiic_setreg32(i2c, XIIC_IISR_OFFSET, isr & mask);
drivers/i2c/busses/i2c-xiic.c
349
static inline void xiic_irq_clr_en(struct xiic_i2c *i2c, u32 mask)
drivers/i2c/busses/i2c-xiic.c
351
xiic_irq_clr(i2c, mask);
drivers/i2c/busses/i2c-xiic.c
352
xiic_irq_en(i2c, mask);
drivers/i2c/busses/i2c-xiic.c
355
static int xiic_clear_rx_fifo(struct xiic_i2c *i2c)
drivers/i2c/busses/i2c-xiic.c
361
for (sr = xiic_getreg8(i2c, XIIC_SR_REG_OFFSET);
drivers/i2c/busses/i2c-xiic.c
363
sr = xiic_getreg8(i2c, XIIC_SR_REG_OFFSET)) {
drivers/i2c/busses/i2c-xiic.c
364
xiic_getreg8(i2c, XIIC_DRR_REG_OFFSET);
drivers/i2c/busses/i2c-xiic.c
366
dev_err(i2c->dev, "Failed to clear rx fifo\n");
drivers/i2c/busses/i2c-xiic.c
374
static int xiic_wait_tx_empty(struct xiic_i2c *i2c)
drivers/i2c/busses/i2c-xiic.c
380
for (isr = xiic_getreg32(i2c, XIIC_IISR_OFFSET);
drivers/i2c/busses/i2c-xiic.c
382
isr = xiic_getreg32(i2c, XIIC_IISR_OFFSET)) {
drivers/i2c/busses/i2c-xiic.c
384
dev_err(i2c->dev, "Timeout waiting at Tx empty\n");
drivers/i2c/busses/i2c-xiic.c
404
static int xiic_setclk(struct xiic_i2c *i2c)
drivers/i2c/busses/i2c-xiic.c
410
if (!i2c->atomic)
drivers/i2c/busses/i2c-xiic.c
411
dev_dbg(i2c->adap.dev.parent,
drivers/i2c/busses/i2c-xiic.c
413
__func__, i2c->input_clk, i2c->i2c_clk);
drivers/i2c/busses/i2c-xiic.c
416
if (!i2c->i2c_clk || !i2c->input_clk)
drivers/i2c/busses/i2c-xiic.c
419
clk_in_mhz = DIV_ROUND_UP(i2c->input_clk, 1000000);
drivers/i2c/busses/i2c-xiic.c
421
switch (i2c->i2c_clk) {
drivers/i2c/busses/i2c-xiic.c
432
dev_warn(i2c->adap.dev.parent, "Unsupported scl frequency\n");
drivers/i2c/busses/i2c-xiic.c
444
reg_val = (DIV_ROUND_UP(i2c->input_clk, 2 * i2c->i2c_clk)) - 7;
drivers/i2c/busses/i2c-xiic.c
448
xiic_setreg32(i2c, XIIC_THIGH_REG_OFFSET, reg_val - 1);
drivers/i2c/busses/i2c-xiic.c
451
xiic_setreg32(i2c, XIIC_TLOW_REG_OFFSET, reg_val - 1);
drivers/i2c/busses/i2c-xiic.c
455
xiic_setreg32(i2c, XIIC_TSUSTA_REG_OFFSET, reg_val - 1);
drivers/i2c/busses/i2c-xiic.c
459
xiic_setreg32(i2c, XIIC_TSUSTO_REG_OFFSET, reg_val - 1);
drivers/i2c/busses/i2c-xiic.c
463
xiic_setreg32(i2c, XIIC_THDSTA_REG_OFFSET, reg_val - 1);
drivers/i2c/busses/i2c-xiic.c
467
xiic_setreg32(i2c, XIIC_TSUDAT_REG_OFFSET, reg_val - 1);
drivers/i2c/busses/i2c-xiic.c
471
xiic_setreg32(i2c, XIIC_TBUF_REG_OFFSET, reg_val - 1);
drivers/i2c/busses/i2c-xiic.c
474
xiic_setreg32(i2c, XIIC_THDDAT_REG_OFFSET, 1);
drivers/i2c/busses/i2c-xiic.c
479
static int xiic_reinit(struct xiic_i2c *i2c)
drivers/i2c/busses/i2c-xiic.c
483
xiic_setreg32(i2c, XIIC_RESETR_OFFSET, XIIC_RESET_MASK);
drivers/i2c/busses/i2c-xiic.c
485
ret = xiic_setclk(i2c);
drivers/i2c/busses/i2c-xiic.c
490
xiic_setreg8(i2c, XIIC_RFD_REG_OFFSET, IIC_RX_FIFO_DEPTH - 1);
drivers/i2c/busses/i2c-xiic.c
493
xiic_setreg8(i2c, XIIC_CR_REG_OFFSET, XIIC_CR_TX_FIFO_RESET_MASK);
drivers/i2c/busses/i2c-xiic.c
496
xiic_setreg8(i2c, XIIC_CR_REG_OFFSET, XIIC_CR_ENABLE_DEVICE_MASK);
drivers/i2c/busses/i2c-xiic.c
499
ret = xiic_clear_rx_fifo(i2c);
drivers/i2c/busses/i2c-xiic.c
504
if (!i2c->atomic)
drivers/i2c/busses/i2c-xiic.c
505
xiic_setreg32(i2c, XIIC_DGIER_OFFSET, XIIC_GINTR_ENABLE_MASK);
drivers/i2c/busses/i2c-xiic.c
507
xiic_irq_clr_en(i2c, XIIC_INTR_ARB_LOST_MASK);
drivers/i2c/busses/i2c-xiic.c
512
static void xiic_deinit(struct xiic_i2c *i2c)
drivers/i2c/busses/i2c-xiic.c
516
xiic_setreg32(i2c, XIIC_RESETR_OFFSET, XIIC_RESET_MASK);
drivers/i2c/busses/i2c-xiic.c
519
cr = xiic_getreg8(i2c, XIIC_CR_REG_OFFSET);
drivers/i2c/busses/i2c-xiic.c
520
xiic_setreg8(i2c, XIIC_CR_REG_OFFSET, cr & ~XIIC_CR_ENABLE_DEVICE_MASK);
drivers/i2c/busses/i2c-xiic.c
523
static void xiic_smbus_block_read_setup(struct xiic_i2c *i2c)
drivers/i2c/busses/i2c-xiic.c
531
i2c->rx_msg->flags &= ~I2C_M_RECV_LEN;
drivers/i2c/busses/i2c-xiic.c
534
i2c->smbus_block_read = true;
drivers/i2c/busses/i2c-xiic.c
537
rxmsg_len = xiic_getreg8(i2c, XIIC_DRR_REG_OFFSET);
drivers/i2c/busses/i2c-xiic.c
539
i2c->rx_msg->buf[i2c->rx_pos++] = rxmsg_len;
drivers/i2c/busses/i2c-xiic.c
550
i2c->rx_msg->len = rxmsg_len + 1;
drivers/i2c/busses/i2c-xiic.c
559
i2c->rx_msg->len = SMBUS_BLOCK_READ_MIN_LEN;
drivers/i2c/busses/i2c-xiic.c
566
i2c->rx_msg->len = rxmsg_len + 1;
drivers/i2c/busses/i2c-xiic.c
568
xiic_setreg8(i2c, XIIC_RFD_REG_OFFSET, rfd_set);
drivers/i2c/busses/i2c-xiic.c
574
i2c->tx_msg->len = 3;
drivers/i2c/busses/i2c-xiic.c
575
i2c->smbus_block_read = false;
drivers/i2c/busses/i2c-xiic.c
576
dev_err(i2c->adap.dev.parent, "smbus_block_read Invalid msg length\n");
drivers/i2c/busses/i2c-xiic.c
579
static void xiic_read_rx(struct xiic_i2c *i2c)
drivers/i2c/busses/i2c-xiic.c
585
bytes_in_fifo = xiic_getreg8(i2c, XIIC_RFO_REG_OFFSET) + 1;
drivers/i2c/busses/i2c-xiic.c
587
if (!i2c->atomic)
drivers/i2c/busses/i2c-xiic.c
588
dev_dbg(i2c->adap.dev.parent,
drivers/i2c/busses/i2c-xiic.c
590
__func__, bytes_in_fifo, xiic_rx_space(i2c),
drivers/i2c/busses/i2c-xiic.c
591
xiic_getreg8(i2c, XIIC_SR_REG_OFFSET),
drivers/i2c/busses/i2c-xiic.c
592
xiic_getreg8(i2c, XIIC_CR_REG_OFFSET));
drivers/i2c/busses/i2c-xiic.c
594
if (bytes_in_fifo > xiic_rx_space(i2c))
drivers/i2c/busses/i2c-xiic.c
595
bytes_in_fifo = xiic_rx_space(i2c);
drivers/i2c/busses/i2c-xiic.c
599
if (!i2c->dynamic) {
drivers/i2c/busses/i2c-xiic.c
600
bytes_rem = xiic_rx_space(i2c) - bytes_in_fifo;
drivers/i2c/busses/i2c-xiic.c
603
if (i2c->rx_msg->flags & I2C_M_RECV_LEN) {
drivers/i2c/busses/i2c-xiic.c
604
xiic_smbus_block_read_setup(i2c);
drivers/i2c/busses/i2c-xiic.c
615
cr = xiic_getreg8(i2c, XIIC_CR_REG_OFFSET);
drivers/i2c/busses/i2c-xiic.c
616
xiic_setreg8(i2c, XIIC_CR_REG_OFFSET, cr |
drivers/i2c/busses/i2c-xiic.c
622
if (i2c->nmsgs == 1) {
drivers/i2c/busses/i2c-xiic.c
623
cr = xiic_getreg8(i2c, XIIC_CR_REG_OFFSET);
drivers/i2c/busses/i2c-xiic.c
624
xiic_setreg8(i2c, XIIC_CR_REG_OFFSET, cr &
drivers/i2c/busses/i2c-xiic.c
629
cr = xiic_getreg8(i2c, XIIC_CR_REG_OFFSET);
drivers/i2c/busses/i2c-xiic.c
630
xiic_setreg8(i2c, XIIC_CR_REG_OFFSET, cr &
drivers/i2c/busses/i2c-xiic.c
637
i2c->rx_msg->buf[i2c->rx_pos++] =
drivers/i2c/busses/i2c-xiic.c
638
xiic_getreg8(i2c, XIIC_DRR_REG_OFFSET);
drivers/i2c/busses/i2c-xiic.c
641
if (i2c->dynamic) {
drivers/i2c/busses/i2c-xiic.c
645
bytes = min_t(u8, xiic_rx_space(i2c), IIC_RX_FIFO_DEPTH);
drivers/i2c/busses/i2c-xiic.c
647
xiic_setreg8(i2c, XIIC_RFD_REG_OFFSET, bytes);
drivers/i2c/busses/i2c-xiic.c
651
static bool xiic_error_check(struct xiic_i2c *i2c)
drivers/i2c/busses/i2c-xiic.c
656
isr = xiic_getreg32(i2c, XIIC_IISR_OFFSET);
drivers/i2c/busses/i2c-xiic.c
657
ier = xiic_getreg32(i2c, XIIC_IIER_OFFSET);
drivers/i2c/busses/i2c-xiic.c
663
xiic_reinit(i2c);
drivers/i2c/busses/i2c-xiic.c
665
if (i2c->tx_msg || i2c->rx_msg)
drivers/i2c/busses/i2c-xiic.c
666
i2c->atomic_xfer_state = STATE_ERROR;
drivers/i2c/busses/i2c-xiic.c
671
static int xiic_tx_fifo_space(struct xiic_i2c *i2c)
drivers/i2c/busses/i2c-xiic.c
674
return IIC_TX_FIFO_DEPTH - xiic_getreg8(i2c, XIIC_TFO_REG_OFFSET) - 1;
drivers/i2c/busses/i2c-xiic.c
677
static void xiic_fill_tx_fifo(struct xiic_i2c *i2c)
drivers/i2c/busses/i2c-xiic.c
679
u8 fifo_space = xiic_tx_fifo_space(i2c);
drivers/i2c/busses/i2c-xiic.c
680
int len = xiic_tx_space(i2c);
drivers/i2c/busses/i2c-xiic.c
684
if (!i2c->atomic)
drivers/i2c/busses/i2c-xiic.c
685
dev_dbg(i2c->adap.dev.parent, "%s entry, len: %d, fifo space: %d\n",
drivers/i2c/busses/i2c-xiic.c
689
u16 data = i2c->tx_msg->buf[i2c->tx_pos++];
drivers/i2c/busses/i2c-xiic.c
691
if (!xiic_tx_space(i2c) && i2c->nmsgs == 1) {
drivers/i2c/busses/i2c-xiic.c
693
if (i2c->dynamic) {
drivers/i2c/busses/i2c-xiic.c
700
status = xiic_wait_tx_empty(i2c);
drivers/i2c/busses/i2c-xiic.c
705
cr = xiic_getreg8(i2c, XIIC_CR_REG_OFFSET);
drivers/i2c/busses/i2c-xiic.c
706
xiic_setreg8(i2c, XIIC_CR_REG_OFFSET, cr &
drivers/i2c/busses/i2c-xiic.c
709
if (!i2c->atomic)
drivers/i2c/busses/i2c-xiic.c
710
dev_dbg(i2c->adap.dev.parent, "%s TX STOP\n", __func__);
drivers/i2c/busses/i2c-xiic.c
712
xiic_setreg16(i2c, XIIC_DTR_REG_OFFSET, data);
drivers/i2c/busses/i2c-xiic.c
714
if (i2c->atomic && xiic_error_check(i2c))
drivers/i2c/busses/i2c-xiic.c
719
static void xiic_wakeup(struct xiic_i2c *i2c, enum xilinx_i2c_state code)
drivers/i2c/busses/i2c-xiic.c
721
i2c->tx_msg = NULL;
drivers/i2c/busses/i2c-xiic.c
722
i2c->rx_msg = NULL;
drivers/i2c/busses/i2c-xiic.c
723
i2c->nmsgs = 0;
drivers/i2c/busses/i2c-xiic.c
724
i2c->state = code;
drivers/i2c/busses/i2c-xiic.c
725
complete(&i2c->completion);
drivers/i2c/busses/i2c-xiic.c
730
struct xiic_i2c *i2c = dev_id;
drivers/i2c/busses/i2c-xiic.c
743
mutex_lock(&i2c->lock);
drivers/i2c/busses/i2c-xiic.c
744
isr = xiic_getreg32(i2c, XIIC_IISR_OFFSET);
drivers/i2c/busses/i2c-xiic.c
745
ier = xiic_getreg32(i2c, XIIC_IIER_OFFSET);
drivers/i2c/busses/i2c-xiic.c
748
dev_dbg(i2c->adap.dev.parent, "%s: IER: 0x%x, ISR: 0x%x, pend: 0x%x\n",
drivers/i2c/busses/i2c-xiic.c
750
dev_dbg(i2c->adap.dev.parent, "%s: SR: 0x%x, msg: %p, nmsgs: %d\n",
drivers/i2c/busses/i2c-xiic.c
751
__func__, xiic_getreg8(i2c, XIIC_SR_REG_OFFSET),
drivers/i2c/busses/i2c-xiic.c
752
i2c->tx_msg, i2c->nmsgs);
drivers/i2c/busses/i2c-xiic.c
753
dev_dbg(i2c->adap.dev.parent, "%s, ISR: 0x%x, CR: 0x%x\n",
drivers/i2c/busses/i2c-xiic.c
754
__func__, xiic_getreg32(i2c, XIIC_IISR_OFFSET),
drivers/i2c/busses/i2c-xiic.c
755
xiic_getreg8(i2c, XIIC_CR_REG_OFFSET));
drivers/i2c/busses/i2c-xiic.c
767
dev_dbg(i2c->adap.dev.parent, "%s error\n", __func__);
drivers/i2c/busses/i2c-xiic.c
773
ret = xiic_reinit(i2c);
drivers/i2c/busses/i2c-xiic.c
775
dev_dbg(i2c->adap.dev.parent, "reinit failed\n");
drivers/i2c/busses/i2c-xiic.c
777
if (i2c->rx_msg) {
drivers/i2c/busses/i2c-xiic.c
781
if (i2c->tx_msg) {
drivers/i2c/busses/i2c-xiic.c
792
if (!i2c->rx_msg) {
drivers/i2c/busses/i2c-xiic.c
793
dev_dbg(i2c->adap.dev.parent,
drivers/i2c/busses/i2c-xiic.c
795
xiic_clear_rx_fifo(i2c);
drivers/i2c/busses/i2c-xiic.c
799
xiic_read_rx(i2c);
drivers/i2c/busses/i2c-xiic.c
800
if (xiic_rx_space(i2c) == 0) {
drivers/i2c/busses/i2c-xiic.c
802
i2c->rx_msg = NULL;
drivers/i2c/busses/i2c-xiic.c
807
dev_dbg(i2c->adap.dev.parent,
drivers/i2c/busses/i2c-xiic.c
809
__func__, i2c->nmsgs);
drivers/i2c/busses/i2c-xiic.c
815
if (i2c->nmsgs > 1) {
drivers/i2c/busses/i2c-xiic.c
816
i2c->nmsgs--;
drivers/i2c/busses/i2c-xiic.c
817
i2c->tx_msg++;
drivers/i2c/busses/i2c-xiic.c
818
dev_dbg(i2c->adap.dev.parent,
drivers/i2c/busses/i2c-xiic.c
830
if (!i2c->tx_msg) {
drivers/i2c/busses/i2c-xiic.c
831
dev_dbg(i2c->adap.dev.parent,
drivers/i2c/busses/i2c-xiic.c
836
if (xiic_tx_space(i2c)) {
drivers/i2c/busses/i2c-xiic.c
837
xiic_fill_tx_fifo(i2c);
drivers/i2c/busses/i2c-xiic.c
840
dev_dbg(i2c->adap.dev.parent,
drivers/i2c/busses/i2c-xiic.c
842
__func__, i2c->nmsgs);
drivers/i2c/busses/i2c-xiic.c
846
if (i2c->nmsgs > 1 && (pend & XIIC_INTR_TX_EMPTY_MASK)) {
drivers/i2c/busses/i2c-xiic.c
847
i2c->nmsgs--;
drivers/i2c/busses/i2c-xiic.c
848
i2c->tx_msg++;
drivers/i2c/busses/i2c-xiic.c
851
xiic_irq_dis(i2c, XIIC_INTR_TX_HALF_MASK);
drivers/i2c/busses/i2c-xiic.c
853
dev_dbg(i2c->adap.dev.parent,
drivers/i2c/busses/i2c-xiic.c
865
xiic_irq_dis(i2c, XIIC_INTR_BNB_MASK);
drivers/i2c/busses/i2c-xiic.c
867
if (i2c->tx_msg && i2c->smbus_block_read) {
drivers/i2c/busses/i2c-xiic.c
868
i2c->smbus_block_read = false;
drivers/i2c/busses/i2c-xiic.c
870
i2c->tx_msg->len = 1;
drivers/i2c/busses/i2c-xiic.c
873
if (!i2c->tx_msg)
drivers/i2c/busses/i2c-xiic.c
878
if (i2c->nmsgs == 1 && !i2c->rx_msg &&
drivers/i2c/busses/i2c-xiic.c
879
xiic_tx_space(i2c) == 0)
drivers/i2c/busses/i2c-xiic.c
886
dev_dbg(i2c->adap.dev.parent, "%s clr: 0x%x\n", __func__, clr);
drivers/i2c/busses/i2c-xiic.c
888
xiic_setreg32(i2c, XIIC_IISR_OFFSET, clr);
drivers/i2c/busses/i2c-xiic.c
890
__xiic_start_xfer(i2c);
drivers/i2c/busses/i2c-xiic.c
892
xiic_wakeup(i2c, wakeup_code);
drivers/i2c/busses/i2c-xiic.c
896
mutex_unlock(&i2c->lock);
drivers/i2c/busses/i2c-xiic.c
900
static int xiic_bus_busy(struct xiic_i2c *i2c)
drivers/i2c/busses/i2c-xiic.c
902
u8 sr = xiic_getreg8(i2c, XIIC_SR_REG_OFFSET);
drivers/i2c/busses/i2c-xiic.c
907
static int xiic_wait_not_busy(struct xiic_i2c *i2c)
drivers/i2c/busses/i2c-xiic.c
916
err = xiic_bus_busy(i2c);
drivers/i2c/busses/i2c-xiic.c
918
if (i2c->atomic)
drivers/i2c/busses/i2c-xiic.c
922
err = xiic_bus_busy(i2c);
drivers/i2c/busses/i2c-xiic.c
928
static void xiic_recv_atomic(struct xiic_i2c *i2c)
drivers/i2c/busses/i2c-xiic.c
930
while (xiic_rx_space(i2c)) {
drivers/i2c/busses/i2c-xiic.c
931
if (xiic_getreg32(i2c, XIIC_IISR_OFFSET) & XIIC_INTR_RX_FULL_MASK) {
drivers/i2c/busses/i2c-xiic.c
932
xiic_read_rx(i2c);
drivers/i2c/busses/i2c-xiic.c
935
xiic_irq_clr_en(i2c, XIIC_INTR_RX_FULL_MASK |
drivers/i2c/busses/i2c-xiic.c
938
if (xiic_error_check(i2c))
drivers/i2c/busses/i2c-xiic.c
942
i2c->rx_msg = NULL;
drivers/i2c/busses/i2c-xiic.c
943
xiic_irq_clr_en(i2c, XIIC_INTR_TX_ERROR_MASK);
drivers/i2c/busses/i2c-xiic.c
946
if (i2c->nmsgs > 1) {
drivers/i2c/busses/i2c-xiic.c
947
i2c->nmsgs--;
drivers/i2c/busses/i2c-xiic.c
948
i2c->tx_msg++;
drivers/i2c/busses/i2c-xiic.c
949
__xiic_start_xfer(i2c);
drivers/i2c/busses/i2c-xiic.c
953
static void xiic_start_recv(struct xiic_i2c *i2c)
drivers/i2c/busses/i2c-xiic.c
957
struct i2c_msg *msg = i2c->rx_msg = i2c->tx_msg;
drivers/i2c/busses/i2c-xiic.c
959
if (!i2c->atomic)
drivers/i2c/busses/i2c-xiic.c
960
dev_dbg(i2c->adap.dev.parent, "%s entry, ISR: 0x%x, CR: 0x%x\n",
drivers/i2c/busses/i2c-xiic.c
961
__func__, xiic_getreg32(i2c, XIIC_IISR_OFFSET),
drivers/i2c/busses/i2c-xiic.c
962
xiic_getreg8(i2c, XIIC_CR_REG_OFFSET));
drivers/i2c/busses/i2c-xiic.c
965
xiic_irq_dis(i2c, XIIC_INTR_TX_HALF_MASK | XIIC_INTR_TX_EMPTY_MASK);
drivers/i2c/busses/i2c-xiic.c
967
if (i2c->dynamic) {
drivers/i2c/busses/i2c-xiic.c
972
xiic_irq_clr_en(i2c, XIIC_INTR_RX_FULL_MASK |
drivers/i2c/busses/i2c-xiic.c
988
xiic_setreg8(i2c, XIIC_RFD_REG_OFFSET, bytes);
drivers/i2c/busses/i2c-xiic.c
991
xiic_setreg16(i2c, XIIC_DTR_REG_OFFSET,
drivers/i2c/busses/i2c-xiic.c
996
val = (i2c->nmsgs == 1) ? XIIC_TX_DYN_STOP_MASK : 0;
drivers/i2c/busses/i2c-xiic.c
999
xiic_setreg16(i2c, XIIC_DTR_REG_OFFSET, val);
drivers/i2c/i2c-core-acpi.c
56
struct acpi_resource_i2c_serialbus **i2c)
drivers/i2c/i2c-core-acpi.c
67
*i2c = sb;
drivers/i2c/i2c-core-of-prober.c
131
struct i2c_adapter *i2c;
drivers/i2c/i2c-core-of-prober.c
150
i2c = of_get_i2c_adapter_by_node(i2c_node);
drivers/i2c/i2c-core-of-prober.c
151
if (!i2c)
drivers/i2c/i2c-core-of-prober.c
167
if (i2c_smbus_xfer(i2c, addr, 0, I2C_SMBUS_READ, 0, I2C_SMBUS_BYTE, &data) < 0)
drivers/i2c/i2c-core-of-prober.c
180
i2c_put_adapter(i2c);
drivers/i2c/i2c-dev.c
113
ATTRIBUTE_GROUPS(i2c);
drivers/i2c/i2c-mux.c
202
struct device *i2c;
drivers/i2c/i2c-mux.c
210
for (i2c = dev; i2c; i2c = i2c->parent) {
drivers/i2c/i2c-mux.c
211
if (i2c->type == &i2c_adapter_type)
drivers/i2c/i2c-mux.c
214
if (!i2c)
drivers/i2c/i2c-mux.c
218
i2c_root = to_i2c_adapter(i2c);
drivers/i2c/i2c-slave-eeprom.c
204
MODULE_DEVICE_TABLE(i2c, i2c_slave_eeprom_id);
drivers/i2c/i2c-slave-testunit.c
276
MODULE_DEVICE_TABLE(i2c, i2c_slave_testunit_id);
drivers/i2c/i2c-smbus.c
226
MODULE_DEVICE_TABLE(i2c, smbalert_ids);
drivers/i2c/muxes/i2c-mux-ltc4306.c
198
MODULE_DEVICE_TABLE(i2c, ltc4306_id);
drivers/i2c/muxes/i2c-mux-pca9541.c
81
MODULE_DEVICE_TABLE(i2c, pca9541_id);
drivers/i2c/muxes/i2c-mux-pca954x.c
273
MODULE_DEVICE_TABLE(i2c, pca954x_id);
drivers/i3c/master.c
1671
list_add_tail(&dev->common.node, &master->bus.devs.i2c);
drivers/i3c/master.c
1985
list_for_each_entry_safe(i2cdev, i2ctmp, &master->bus.devs.i2c,
drivers/i3c/master.c
2039
list_for_each_entry(i2cboardinfo, &master->boardinfo.i2c, node) {
drivers/i3c/master.c
2406
list_add_tail(&boardinfo->node, &master->boardinfo.i2c);
drivers/i3c/master.c
2507
master->bus.scl_rate.i2c = val;
drivers/i3c/master.c
2706
list_for_each_entry(i2cboardinfo, &master->boardinfo.i2c, node) {
drivers/i3c/master.c
2721
i2c_del_adapter(&master->i2c);
drivers/i3c/master.c
3005
INIT_LIST_HEAD(&master->boardinfo.i2c);
drivers/i3c/master.c
3028
list_for_each_entry(i2cbi, &master->boardinfo.i2c, node) {
drivers/i3c/master.c
505
INIT_LIST_HEAD(&i3cbus->devs.i2c);
drivers/i3c/master.c
629
ret = sprintf(buf, "%ld\n", i3cbus->scl_rate.i2c);
drivers/i3c/master.c
784
WARN_ON(!list_empty(&bus->devs.i2c) || !list_empty(&bus->devs.i3c));
drivers/i3c/master.c
810
if (!i3cbus->scl_rate.i2c)
drivers/i3c/master.c
811
i3cbus->scl_rate.i2c = max_i2c_scl_rate;
drivers/i3c/master.c
814
if (!i3cbus->scl_rate.i2c)
drivers/i3c/master.c
815
i3cbus->scl_rate.i2c = max_i2c_scl_rate;
drivers/i3c/master.c
817
i3cbus->scl_rate.i3c > i3cbus->scl_rate.i2c)
drivers/i3c/master.c
818
i3cbus->scl_rate.i3c = i3cbus->scl_rate.i2c;
drivers/i3c/master.c
825
i3cbus->scl_rate.i2c, i3cbus->scl_rate.i3c);
drivers/i3c/master.c
832
i3cbus->scl_rate.i2c > I3C_BUS_I2C_FM_PLUS_SCL_MAX_RATE)
drivers/i3c/master.c
841
return container_of(adap, struct i3c_master_controller, i2c);
drivers/i3c/master.c
847
return &master->i2c;
drivers/i3c/master/adi-i3c-master.c
810
m->i2c.timeout))
drivers/i3c/master/dw-i3c-master.c
1144
if (!wait_for_completion_timeout(&xfer->comp, m->i2c.timeout))
drivers/i3c/master/dw-i3c-master.c
1663
device_set_of_node_from_dev(&master->base.i2c.dev, &pdev->dev);
drivers/i3c/master/i3c-master-cdns.c
1235
max_i2cfreq = bus->scl_rate.i2c;
drivers/i3c/master/i3c-master-cdns.c
1241
bus->scl_rate.i2c = sysclk_rate / ((pres + 1) * 5);
drivers/i3c/master/i3c-master-cdns.c
855
if (!wait_for_completion_timeout(&xfer->comp, m->i2c.timeout))
drivers/i3c/master/mipi-i3c-hci/cmd_v1.c
139
if (bus->scl_rate.i2c >= 1000000)
drivers/i3c/master/mipi-i3c-hci/cmd_v2.c
85
if (bus->scl_rate.i2c >= 1000000)
drivers/i3c/master/mipi-i3c-hci/core.c
441
xfer[last].timeout = m->i2c.timeout;
drivers/i3c/master/renesas-i3c.c
1392
i2c_mark_adapter_suspended(&i3c->base.i2c);
drivers/i3c/master/renesas-i3c.c
1413
i2c_mark_adapter_resumed(&i3c->base.i2c);
drivers/i3c/master/renesas-i3c.c
1448
i2c_mark_adapter_resumed(&i3c->base.i2c);
drivers/i3c/master/renesas-i3c.c
556
i2c_total_ticks = DIV_ROUND_UP(i3c->rate, bus->scl_rate.i2c);
drivers/i3c/master/renesas-i3c.c
584
(unsigned long)bus->scl_rate.i2c, (unsigned long)bus->scl_rate.i3c);
drivers/i3c/master/renesas-i3c.c
964
wait_for_completion_timeout(&xfer->comp, m->i2c.timeout);
drivers/i3c/master/svc-i3c-master.c
1820
if (!wait_for_completion_timeout(&xfer->comp, m->i2c.timeout))
drivers/i3c/master/svc-i3c-master.c
721
odbaud = DIV_ROUND_UP(fclk_rate, bus->scl_rate.i2c * (2 + 2 * ppbaud)) - 1;
drivers/i3c/master/svc-i3c-master.c
764
i2c_period_ns = DIV_ROUND_UP(1000000000, bus->scl_rate.i2c);
drivers/i3c/master/svc-i3c-master.c
765
i2c_scl_rate = bus->scl_rate.i2c;
drivers/iio/accel/adxl313_i2c.c
54
MODULE_DEVICE_TABLE(i2c, adxl313_i2c_id);
drivers/iio/accel/adxl345_i2c.c
50
MODULE_DEVICE_TABLE(i2c, adxl345_i2c_id);
drivers/iio/accel/adxl355_i2c.c
48
MODULE_DEVICE_TABLE(i2c, adxl355_i2c_id);
drivers/iio/accel/adxl367_i2c.c
67
MODULE_DEVICE_TABLE(i2c, adxl367_i2c_id);
drivers/iio/accel/adxl372_i2c.c
48
MODULE_DEVICE_TABLE(i2c, adxl372_i2c_id);
drivers/iio/accel/adxl380_i2c.c
42
MODULE_DEVICE_TABLE(i2c, adxl380_i2c_id);
drivers/iio/accel/bma180.c
1094
MODULE_DEVICE_TABLE(i2c, bma180_ids);
drivers/iio/accel/bma220_i2c.c
53
MODULE_DEVICE_TABLE(i2c, bma220_i2c_id);
drivers/iio/accel/bma400_i2c.c
34
MODULE_DEVICE_TABLE(i2c, bma400_i2c_ids);
drivers/iio/accel/bmc150-accel-i2c.c
261
MODULE_DEVICE_TABLE(i2c, bmc150_accel_id);
drivers/iio/accel/bmi088-accel-i2c.c
19
static int bmi088_accel_probe(struct i2c_client *i2c)
drivers/iio/accel/bmi088-accel-i2c.c
22
const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
drivers/iio/accel/bmi088-accel-i2c.c
24
regmap = devm_regmap_init_i2c(i2c, &bmi088_regmap_conf);
drivers/iio/accel/bmi088-accel-i2c.c
26
dev_err(&i2c->dev, "Failed to initialize i2c regmap\n");
drivers/iio/accel/bmi088-accel-i2c.c
30
return bmi088_accel_core_probe(&i2c->dev, regmap, i2c->irq,
drivers/iio/accel/bmi088-accel-i2c.c
34
static void bmi088_accel_remove(struct i2c_client *i2c)
drivers/iio/accel/bmi088-accel-i2c.c
36
bmi088_accel_core_remove(&i2c->dev);
drivers/iio/accel/bmi088-accel-i2c.c
53
MODULE_DEVICE_TABLE(i2c, bmi088_accel_id);
drivers/iio/accel/da280.c
170
MODULE_DEVICE_TABLE(i2c, da280_i2c_id);
drivers/iio/accel/da311.c
274
MODULE_DEVICE_TABLE(i2c, da311_i2c_id);
drivers/iio/accel/dmard06.c
207
MODULE_DEVICE_TABLE(i2c, dmard06_id);
drivers/iio/accel/dmard09.c
130
MODULE_DEVICE_TABLE(i2c, dmard09_id);
drivers/iio/accel/dmard10.c
235
MODULE_DEVICE_TABLE(i2c, dmard10_i2c_id);
drivers/iio/accel/fxls8962af-i2c.c
37
MODULE_DEVICE_TABLE(i2c, fxls8962af_id);
drivers/iio/accel/kionix-kx022a-i2c.c
15
static int kx022a_i2c_probe(struct i2c_client *i2c)
drivers/iio/accel/kionix-kx022a-i2c.c
17
struct device *dev = &i2c->dev;
drivers/iio/accel/kionix-kx022a-i2c.c
21
if (!i2c->irq) {
drivers/iio/accel/kionix-kx022a-i2c.c
26
chip_info = i2c_get_match_data(i2c);
drivers/iio/accel/kionix-kx022a-i2c.c
30
regmap = devm_regmap_init_i2c(i2c, chip_info->regmap_config);
drivers/iio/accel/kionix-kx022a-i2c.c
46
MODULE_DEVICE_TABLE(i2c, kx022a_i2c_id);
drivers/iio/accel/kxcjk-1013.c
1640
MODULE_DEVICE_TABLE(i2c, kxcjk1013_id);
drivers/iio/accel/kxsd9-i2c.c
13
static int kxsd9_i2c_probe(struct i2c_client *i2c)
drivers/iio/accel/kxsd9-i2c.c
22
regmap = devm_regmap_init_i2c(i2c, &config);
drivers/iio/accel/kxsd9-i2c.c
24
dev_err(&i2c->dev, "Failed to register i2c regmap: %pe\n",
drivers/iio/accel/kxsd9-i2c.c
29
return kxsd9_common_probe(&i2c->dev,
drivers/iio/accel/kxsd9-i2c.c
31
i2c->name);
drivers/iio/accel/kxsd9-i2c.c
49
MODULE_DEVICE_TABLE(i2c, kxsd9_i2c_id);
drivers/iio/accel/mc3230.c
237
MODULE_DEVICE_TABLE(i2c, mc3230_i2c_id);
drivers/iio/accel/mma7455_i2c.c
13
static int mma7455_i2c_probe(struct i2c_client *i2c)
drivers/iio/accel/mma7455_i2c.c
15
const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
drivers/iio/accel/mma7455_i2c.c
19
regmap = devm_regmap_init_i2c(i2c, &mma7455_core_regmap);
drivers/iio/accel/mma7455_i2c.c
26
return mma7455_core_probe(&i2c->dev, regmap, name);
drivers/iio/accel/mma7455_i2c.c
29
static void mma7455_i2c_remove(struct i2c_client *i2c)
drivers/iio/accel/mma7455_i2c.c
31
mma7455_core_remove(&i2c->dev);
drivers/iio/accel/mma7455_i2c.c
39
MODULE_DEVICE_TABLE(i2c, mma7455_i2c_ids);
drivers/iio/accel/mma7660.c
265
MODULE_DEVICE_TABLE(i2c, mma7660_i2c_id);
drivers/iio/accel/mma8452.c
1832
MODULE_DEVICE_TABLE(i2c, mma8452_id);
drivers/iio/accel/mma9551.c
589
MODULE_DEVICE_TABLE(i2c, mma9551_id);
drivers/iio/accel/mma9553.c
1226
MODULE_DEVICE_TABLE(i2c, mma9553_id);
drivers/iio/accel/msa311.c
1050
struct i2c_client *i2c = to_i2c_client(dev);
drivers/iio/accel/msa311.c
1051
struct iio_dev *indio_dev = i2c_get_clientdata(i2c);
drivers/iio/accel/msa311.c
1056
if (i2c->irq <= 0)
drivers/iio/accel/msa311.c
1059
err = devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL,
drivers/iio/accel/msa311.c
1113
struct i2c_client *i2c = to_i2c_client(dev);
drivers/iio/accel/msa311.c
1117
regmap = devm_regmap_init_i2c(i2c, &msa311_regmap_config);
drivers/iio/accel/msa311.c
1141
static int msa311_probe(struct i2c_client *i2c)
drivers/iio/accel/msa311.c
1143
struct device *dev = &i2c->dev;
drivers/iio/accel/msa311.c
1154
i2c_set_clientdata(i2c, indio_dev);
drivers/iio/accel/msa311.c
1275
MODULE_DEVICE_TABLE(i2c, msa311_i2c_id);
drivers/iio/accel/mxc4005.c
587
MODULE_DEVICE_TABLE(i2c, mxc4005_id);
drivers/iio/accel/mxc6255.c
178
MODULE_DEVICE_TABLE(i2c, mxc6255_id);
drivers/iio/accel/st_accel_i2c.c
169
MODULE_DEVICE_TABLE(i2c, st_accel_id_table);
drivers/iio/accel/stk8312.c
637
MODULE_DEVICE_TABLE(i2c, stk8312_i2c_id);
drivers/iio/accel/stk8ba50.c
525
MODULE_DEVICE_TABLE(i2c, stk8ba50_i2c_id);
drivers/iio/adc/ad7091r5.c
102
static int ad7091r5_i2c_probe(struct i2c_client *i2c)
drivers/iio/adc/ad7091r5.c
106
init_info = i2c_get_match_data(i2c);
drivers/iio/adc/ad7091r5.c
110
return ad7091r_probe(&i2c->dev, init_info, i2c->irq);
drivers/iio/adc/ad7091r5.c
123
MODULE_DEVICE_TABLE(i2c, ad7091r5_i2c_ids);
drivers/iio/adc/ad7091r5.c
90
struct i2c_client *i2c = container_of(st->dev, struct i2c_client, dev);
drivers/iio/adc/ad7091r5.c
92
st->map = devm_regmap_init_i2c(i2c, regmap_conf);
drivers/iio/adc/ad7291.c
543
MODULE_DEVICE_TABLE(i2c, ad7291_id);
drivers/iio/adc/ad799x.c
960
MODULE_DEVICE_TABLE(i2c, ad799x_id);
drivers/iio/adc/gehc-pmc-adc.c
213
MODULE_DEVICE_TABLE(i2c, pmc_adc_id_table);
drivers/iio/adc/ina2xx-adc.c
1062
MODULE_DEVICE_TABLE(i2c, ina2xx_id);
drivers/iio/adc/ltc2309.c
201
MODULE_DEVICE_TABLE(i2c, ltc2309_id);
drivers/iio/adc/ltc2471.c
143
MODULE_DEVICE_TABLE(i2c, ltc2471_i2c_id);
drivers/iio/adc/ltc2485.c
130
MODULE_DEVICE_TABLE(i2c, ltc2485_id);
drivers/iio/adc/ltc2497.c
149
MODULE_DEVICE_TABLE(i2c, ltc2497_id);
drivers/iio/adc/max1363.c
1677
MODULE_DEVICE_TABLE(i2c, max1363_id);
drivers/iio/adc/max34408.c
263
MODULE_DEVICE_TABLE(i2c, max34408_id);
drivers/iio/adc/mcp3422.c
116
ret = i2c_master_recv(adc->i2c, buf, 4);
drivers/iio/adc/mcp3422.c
120
ret = i2c_master_recv(adc->i2c, buf, 3);
drivers/iio/adc/mcp3422.c
349
adc->i2c = client;
drivers/iio/adc/mcp3422.c
407
MODULE_DEVICE_TABLE(i2c, mcp3422_id);
drivers/iio/adc/mcp3422.c
88
struct i2c_client *i2c;
drivers/iio/adc/mcp3422.c
99
ret = i2c_master_send(adc->i2c, &newconfig, 1);
drivers/iio/adc/nau7802.c
538
MODULE_DEVICE_TABLE(i2c, nau7802_i2c_id);
drivers/iio/adc/nct7201.c
474
MODULE_DEVICE_TABLE(i2c, nct7201_id);
drivers/iio/adc/pac1921.c
1316
MODULE_DEVICE_TABLE(i2c, pac1921_id);
drivers/iio/adc/pac1934.c
1583
MODULE_DEVICE_TABLE(i2c, pac1934_id);
drivers/iio/adc/rohm-bd79124.c
1005
struct device *dev = &i2c->dev;
drivers/iio/adc/rohm-bd79124.c
1015
data->map = devm_regmap_init_i2c(i2c, &bd79124_regmap);
drivers/iio/adc/rohm-bd79124.c
1035
if (i2c->irq) {
drivers/iio/adc/rohm-bd79124.c
1064
if (i2c->irq > 0) {
drivers/iio/adc/rohm-bd79124.c
1065
ret = devm_request_threaded_irq(dev, i2c->irq,
drivers/iio/adc/rohm-bd79124.c
1110
MODULE_DEVICE_TABLE(i2c, bd79124_id);
drivers/iio/adc/rohm-bd79124.c
999
static int bd79124_probe(struct i2c_client *i2c)
drivers/iio/adc/rtq6056.c
718
static int rtq6056_probe(struct i2c_client *i2c)
drivers/iio/adc/rtq6056.c
722
struct device *dev = &i2c->dev;
drivers/iio/adc/rtq6056.c
728
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_SMBUS_WORD_DATA))
drivers/iio/adc/rtq6056.c
744
i2c_set_clientdata(i2c, priv);
drivers/iio/adc/rtq6056.c
746
regmap = devm_regmap_init_i2c(i2c, &rtq6056_regmap_config);
drivers/iio/adc/ti-adc081c.c
135
ret = i2c_smbus_read_word_swapped(data->i2c, REG_CONV_RES);
drivers/iio/adc/ti-adc081c.c
168
adc->i2c = client;
drivers/iio/adc/ti-adc081c.c
207
MODULE_DEVICE_TABLE(i2c, adc081c_id);
drivers/iio/adc/ti-adc081c.c
31
struct i2c_client *i2c;
drivers/iio/adc/ti-adc081c.c
55
err = i2c_smbus_read_word_swapped(adc->i2c, REG_CONV_RES);
drivers/iio/adc/ti-ads1015.c
1137
MODULE_DEVICE_TABLE(i2c, ads1015_id);
drivers/iio/adc/ti-ads1100.c
408
MODULE_DEVICE_TABLE(i2c, ads1100_id);
drivers/iio/adc/ti-ads1119.c
811
MODULE_DEVICE_TABLE(i2c, ads1119_id);
drivers/iio/adc/ti-ads7138.c
734
MODULE_DEVICE_TABLE(i2c, ads7138_device_ids);
drivers/iio/adc/ti-ads7924.c
447
MODULE_DEVICE_TABLE(i2c, ads7924_id);
drivers/iio/cdc/ad7150.c
637
MODULE_DEVICE_TABLE(i2c, ad7150_id);
drivers/iio/cdc/ad7746.c
797
MODULE_DEVICE_TABLE(i2c, ad7746_id);
drivers/iio/chemical/ags02ma.c
145
MODULE_DEVICE_TABLE(i2c, ags02ma_id_table);
drivers/iio/chemical/ams-iaq-core.c
169
MODULE_DEVICE_TABLE(i2c, ams_iaqcore_id);
drivers/iio/chemical/atlas-ezo-sensor.c
194
MODULE_DEVICE_TABLE(i2c, atlas_ezo_id);
drivers/iio/chemical/atlas-sensor.c
596
MODULE_DEVICE_TABLE(i2c, atlas_id);
drivers/iio/chemical/bme680_i2c.c
42
MODULE_DEVICE_TABLE(i2c, bme680_i2c_id);
drivers/iio/chemical/ccs811.c
558
MODULE_DEVICE_TABLE(i2c, ccs811_id);
drivers/iio/chemical/ens160_i2c.c
40
MODULE_DEVICE_TABLE(i2c, ens160_i2c_id);
drivers/iio/chemical/sgp30.c
570
MODULE_DEVICE_TABLE(i2c, sgp_id);
drivers/iio/chemical/sgp40.c
362
MODULE_DEVICE_TABLE(i2c, sgp40_id);
drivers/iio/chemical/sps30_i2c.c
238
MODULE_DEVICE_TABLE(i2c, sps30_i2c_id);
drivers/iio/chemical/vz89x.c
392
MODULE_DEVICE_TABLE(i2c, vz89x_id);
drivers/iio/dac/ad5064.c
1053
MODULE_DEVICE_TABLE(i2c, ad5064_i2c_ids);
drivers/iio/dac/ad5064.c
122
u8 i2c[3];
drivers/iio/dac/ad5064.c
973
struct i2c_client *i2c = to_i2c_client(st->dev);
drivers/iio/dac/ad5064.c
986
st->data.i2c[0] = (cmd << cmd_shift) | addr;
drivers/iio/dac/ad5064.c
987
put_unaligned_be16(val, &st->data.i2c[1]);
drivers/iio/dac/ad5064.c
989
ret = i2c_master_send(i2c, st->data.i2c, 3);
drivers/iio/dac/ad5064.c
996
static int ad5064_i2c_probe(struct i2c_client *i2c)
drivers/iio/dac/ad5064.c
998
const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
drivers/iio/dac/ad5064.c
999
return ad5064_probe(&i2c->dev, id->driver_data, id->name,
drivers/iio/dac/ad5380.c
502
static int ad5380_i2c_probe(struct i2c_client *i2c)
drivers/iio/dac/ad5380.c
504
const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
drivers/iio/dac/ad5380.c
507
regmap = devm_regmap_init_i2c(i2c, &ad5380_regmap_config);
drivers/iio/dac/ad5380.c
512
return ad5380_probe(&i2c->dev, regmap, id->driver_data, id->name);
drivers/iio/dac/ad5380.c
534
MODULE_DEVICE_TABLE(i2c, ad5380_i2c_ids);
drivers/iio/dac/ad5446-i2c.c
32
static int ad5446_i2c_probe(struct i2c_client *i2c)
drivers/iio/dac/ad5446-i2c.c
34
const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
drivers/iio/dac/ad5446-i2c.c
37
chip_info = i2c_get_match_data(i2c);
drivers/iio/dac/ad5446-i2c.c
41
return ad5446_probe(&i2c->dev, id->name, chip_info);
drivers/iio/dac/ad5446-i2c.c
76
MODULE_DEVICE_TABLE(i2c, ad5446_i2c_ids);
drivers/iio/dac/ad5593r.c
102
static int ad5593r_i2c_probe(struct i2c_client *i2c)
drivers/iio/dac/ad5593r.c
104
const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
drivers/iio/dac/ad5593r.c
105
if (!i2c_check_functionality(i2c->adapter,
drivers/iio/dac/ad5593r.c
109
return ad5592r_probe(&i2c->dev, id->name, &ad5593r_rw_ops);
drivers/iio/dac/ad5593r.c
112
static void ad5593r_i2c_remove(struct i2c_client *i2c)
drivers/iio/dac/ad5593r.c
114
ad5592r_remove(&i2c->dev);
drivers/iio/dac/ad5593r.c
121
MODULE_DEVICE_TABLE(i2c, ad5593r_i2c_ids);
drivers/iio/dac/ad5593r.c
25
static int ad5593r_read_word(struct i2c_client *i2c, u8 reg, u16 *value)
drivers/iio/dac/ad5593r.c
30
ret = i2c_smbus_write_byte(i2c, reg);
drivers/iio/dac/ad5593r.c
34
ret = i2c_master_recv(i2c, buf, sizeof(buf));
drivers/iio/dac/ad5593r.c
45
struct i2c_client *i2c = to_i2c_client(st->dev);
drivers/iio/dac/ad5593r.c
47
return i2c_smbus_write_word_swapped(i2c,
drivers/iio/dac/ad5593r.c
53
struct i2c_client *i2c = to_i2c_client(st->dev);
drivers/iio/dac/ad5593r.c
56
val = i2c_smbus_write_word_swapped(i2c,
drivers/iio/dac/ad5593r.c
61
return ad5593r_read_word(i2c, AD5593R_MODE_ADC_READBACK, value);
drivers/iio/dac/ad5593r.c
66
struct i2c_client *i2c = to_i2c_client(st->dev);
drivers/iio/dac/ad5593r.c
68
return i2c_smbus_write_word_swapped(i2c,
drivers/iio/dac/ad5593r.c
74
struct i2c_client *i2c = to_i2c_client(st->dev);
drivers/iio/dac/ad5593r.c
76
return ad5593r_read_word(i2c, AD5593R_MODE_REG_READBACK | reg, value);
drivers/iio/dac/ad5593r.c
81
struct i2c_client *i2c = to_i2c_client(st->dev);
drivers/iio/dac/ad5593r.c
85
ret = ad5593r_read_word(i2c, AD5593R_MODE_GPIO_READBACK, &val);
drivers/iio/dac/ad5696-i2c.c
17
struct i2c_client *i2c = to_i2c_client(st->dev);
drivers/iio/dac/ad5696-i2c.c
20
.addr = i2c->addr,
drivers/iio/dac/ad5696-i2c.c
21
.flags = i2c->flags,
drivers/iio/dac/ad5696-i2c.c
26
.addr = i2c->addr,
drivers/iio/dac/ad5696-i2c.c
27
.flags = i2c->flags | I2C_M_RD,
drivers/iio/dac/ad5696-i2c.c
38
ret = i2c_transfer(i2c->adapter, msg, 2);
drivers/iio/dac/ad5696-i2c.c
48
struct i2c_client *i2c = to_i2c_client(st->dev);
drivers/iio/dac/ad5696-i2c.c
54
ret = i2c_master_send(i2c, &st->data[0].d8[1], 3);
drivers/iio/dac/ad5696-i2c.c
61
static int ad5686_i2c_probe(struct i2c_client *i2c)
drivers/iio/dac/ad5696-i2c.c
63
const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
drivers/iio/dac/ad5696-i2c.c
64
return ad5686_probe(&i2c->dev, id->driver_data, id->name,
drivers/iio/dac/ad5696-i2c.c
87
MODULE_DEVICE_TABLE(i2c, ad5686_i2c_id);
drivers/iio/dac/ds4424.c
296
MODULE_DEVICE_TABLE(i2c, ds4424_id);
drivers/iio/dac/m62332.c
234
MODULE_DEVICE_TABLE(i2c, m62332_id);
drivers/iio/dac/max517.c
197
MODULE_DEVICE_TABLE(i2c, max517_id);
drivers/iio/dac/max5821.c
338
MODULE_DEVICE_TABLE(i2c, max5821_id);
drivers/iio/dac/mcp4725.c
530
MODULE_DEVICE_TABLE(i2c, mcp4725_id);
drivers/iio/dac/mcp4728.c
578
MODULE_DEVICE_TABLE(i2c, mcp4728_id);
drivers/iio/dac/mcp47feb02.c
1199
MODULE_DEVICE_TABLE(i2c, mcp47feb02_id);
drivers/iio/dac/ti-dac5571.c
380
static void dac5571_remove(struct i2c_client *i2c)
drivers/iio/dac/ti-dac5571.c
382
struct iio_dev *indio_dev = i2c_get_clientdata(i2c);
drivers/iio/dac/ti-dac5571.c
419
MODULE_DEVICE_TABLE(i2c, dac5571_id);
drivers/iio/gyro/bmg160_i2c.c
56
MODULE_DEVICE_TABLE(i2c, bmg160_i2c_id);
drivers/iio/gyro/fxas21002c_i2c.c
22
static int fxas21002c_i2c_probe(struct i2c_client *i2c)
drivers/iio/gyro/fxas21002c_i2c.c
26
regmap = devm_regmap_init_i2c(i2c, &fxas21002c_regmap_i2c_conf);
drivers/iio/gyro/fxas21002c_i2c.c
28
dev_err(&i2c->dev, "Failed to register i2c regmap: %ld\n",
drivers/iio/gyro/fxas21002c_i2c.c
33
return fxas21002c_core_probe(&i2c->dev, regmap, i2c->irq, i2c->name);
drivers/iio/gyro/fxas21002c_i2c.c
36
static void fxas21002c_i2c_remove(struct i2c_client *i2c)
drivers/iio/gyro/fxas21002c_i2c.c
38
fxas21002c_core_remove(&i2c->dev);
drivers/iio/gyro/fxas21002c_i2c.c
45
MODULE_DEVICE_TABLE(i2c, fxas21002c_i2c_id);
drivers/iio/gyro/itg3200_buffer.c
116
st->trig = iio_trigger_alloc(&st->i2c->dev, "%s-dev%d", indio_dev->name,
drivers/iio/gyro/itg3200_buffer.c
121
ret = request_irq(st->i2c->irq, &iio_trigger_generic_data_rdy_poll,
drivers/iio/gyro/itg3200_buffer.c
140
free_irq(st->i2c->irq, st->trig);
drivers/iio/gyro/itg3200_buffer.c
151
free_irq(st->i2c->irq, st->trig);
drivers/iio/gyro/itg3200_buffer.c
23
static int itg3200_read_all_channels(struct i2c_client *i2c, __be16 *buf)
drivers/iio/gyro/itg3200_buffer.c
28
.addr = i2c->addr,
drivers/iio/gyro/itg3200_buffer.c
29
.flags = i2c->flags,
drivers/iio/gyro/itg3200_buffer.c
34
.addr = i2c->addr,
drivers/iio/gyro/itg3200_buffer.c
35
.flags = i2c->flags | I2C_M_RD,
drivers/iio/gyro/itg3200_buffer.c
41
return i2c_transfer(i2c->adapter, msg, 2);
drivers/iio/gyro/itg3200_buffer.c
58
int ret = itg3200_read_all_channels(st->i2c, scan.buf);
drivers/iio/gyro/itg3200_core.c
176
dev_dbg(&st->i2c->dev, "reset device");
drivers/iio/gyro/itg3200_core.c
182
dev_err(&st->i2c->dev, "error resetting device");
drivers/iio/gyro/itg3200_core.c
197
dev_err(&st->i2c->dev, "error init device");
drivers/iio/gyro/itg3200_core.c
235
dev_err(&st->i2c->dev, "invalid reg value 0x%02x", val);
drivers/iio/gyro/itg3200_core.c
319
st->i2c = client;
drivers/iio/gyro/itg3200_core.c
37
return i2c_smbus_write_byte_data(st->i2c, 0x80 | reg_address, val);
drivers/iio/gyro/itg3200_core.c
375
dev_dbg(&st->i2c->dev, "suspend device");
drivers/iio/gyro/itg3200_core.c
395
MODULE_DEVICE_TABLE(i2c, itg3200_id);
drivers/iio/gyro/itg3200_core.c
46
ret = i2c_smbus_read_byte_data(st->i2c, reg_address);
drivers/iio/gyro/itg3200_core.c
57
struct i2c_client *client = st->i2c;
drivers/iio/gyro/mpu3050-i2c.c
98
MODULE_DEVICE_TABLE(i2c, mpu3050_i2c_id);
drivers/iio/gyro/st_gyro_i2c.c
107
MODULE_DEVICE_TABLE(i2c, st_gyro_id_table);
drivers/iio/health/afe4404.c
581
MODULE_DEVICE_TABLE(i2c, afe4404_ids);
drivers/iio/health/max30100.c
513
MODULE_DEVICE_TABLE(i2c, max30100_id);
drivers/iio/health/max30102.c
604
MODULE_DEVICE_TABLE(i2c, max30102_id);
drivers/iio/humidity/am2315.c
256
MODULE_DEVICE_TABLE(i2c, am2315_i2c_id);
drivers/iio/humidity/ens210.c
325
MODULE_DEVICE_TABLE(i2c, ens210_id_table);
drivers/iio/humidity/hdc100x.c
391
MODULE_DEVICE_TABLE(i2c, hdc100x_id);
drivers/iio/humidity/hdc2010.c
325
MODULE_DEVICE_TABLE(i2c, hdc2010_id);
drivers/iio/humidity/hdc3020.c
881
MODULE_DEVICE_TABLE(i2c, hdc3020_id);
drivers/iio/humidity/hts221_i2c.c
59
MODULE_DEVICE_TABLE(i2c, hts221_i2c_id_table);
drivers/iio/humidity/htu21.c
237
MODULE_DEVICE_TABLE(i2c, htu21_id);
drivers/iio/humidity/si7005.c
170
MODULE_DEVICE_TABLE(i2c, si7005_id);
drivers/iio/humidity/si7020.c
274
MODULE_DEVICE_TABLE(i2c, si7020_id);
drivers/iio/imu/bmi160/bmi160_i2c.c
45
MODULE_DEVICE_TABLE(i2c, bmi160_i2c_id);
drivers/iio/imu/bmi270/bmi270_i2c.c
40
MODULE_DEVICE_TABLE(i2c, bmi270_i2c_id);
drivers/iio/imu/bmi323/bmi323_i2c.c
120
MODULE_DEVICE_TABLE(i2c, bmi323_i2c_ids);
drivers/iio/imu/bmi323/bmi323_i2c.c
16
struct i2c_client *i2c;
drivers/iio/imu/bmi323/bmi323_i2c.c
33
msgs[0].addr = priv->i2c->addr;
drivers/iio/imu/bmi323/bmi323_i2c.c
34
msgs[0].flags = priv->i2c->flags;
drivers/iio/imu/bmi323/bmi323_i2c.c
38
msgs[1].addr = priv->i2c->addr;
drivers/iio/imu/bmi323/bmi323_i2c.c
41
msgs[1].flags = priv->i2c->flags | I2C_M_RD;
drivers/iio/imu/bmi323/bmi323_i2c.c
43
ret = i2c_transfer(priv->i2c->adapter, msgs, ARRAY_SIZE(msgs));
drivers/iio/imu/bmi323/bmi323_i2c.c
59
return i2c_smbus_write_i2c_block_data(priv->i2c, reg,
drivers/iio/imu/bmi323/bmi323_i2c.c
76
static int bmi323_i2c_probe(struct i2c_client *i2c)
drivers/iio/imu/bmi323/bmi323_i2c.c
78
struct device *dev = &i2c->dev;
drivers/iio/imu/bmi323/bmi323_i2c.c
86
priv->i2c = i2c;
drivers/iio/imu/bno055/bno055_i2c.c
36
MODULE_DEVICE_TABLE(i2c, bno055_i2c_id);
drivers/iio/imu/fxos8700_i2c.c
42
MODULE_DEVICE_TABLE(i2c, fxos8700_i2c_id);
drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c
87
MODULE_DEVICE_TABLE(i2c, inv_icm42600_id);
drivers/iio/imu/inv_icm45600/inv_icm45600_i2c.c
52
MODULE_DEVICE_TABLE(i2c, inv_icm45600_id);
drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c
198
MODULE_DEVICE_TABLE(i2c, inv_mpu_id);
drivers/iio/imu/kmx61.c
1488
MODULE_DEVICE_TABLE(i2c, kmx61_id);
drivers/iio/imu/smi330/smi330_i2c.c
109
MODULE_DEVICE_TABLE(i2c, smi330_i2c_device_id);
drivers/iio/imu/smi330/smi330_i2c.c
17
struct i2c_client *i2c;
drivers/iio/imu/smi330/smi330_i2c.c
40
.addr = priv->i2c->addr,
drivers/iio/imu/smi330/smi330_i2c.c
41
.flags = priv->i2c->flags,
drivers/iio/imu/smi330/smi330_i2c.c
46
.addr = priv->i2c->addr,
drivers/iio/imu/smi330/smi330_i2c.c
47
.flags = priv->i2c->flags | I2C_M_RD,
drivers/iio/imu/smi330/smi330_i2c.c
53
ret = i2c_transfer(priv->i2c->adapter, msgs, ARRAY_SIZE(msgs));
drivers/iio/imu/smi330/smi330_i2c.c
75
return i2c_smbus_write_i2c_block_data(priv->i2c, reg,
drivers/iio/imu/smi330/smi330_i2c.c
85
static int smi330_i2c_probe(struct i2c_client *i2c)
drivers/iio/imu/smi330/smi330_i2c.c
87
struct device *dev = &i2c->dev;
drivers/iio/imu/smi330/smi330_i2c.c
95
priv->i2c = i2c;
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c
178
MODULE_DEVICE_TABLE(i2c, st_lsm6dsx_i2c_id_table);
drivers/iio/imu/st_lsm9ds0/st_lsm9ds0_i2c.c
40
MODULE_DEVICE_TABLE(i2c, st_lsm9ds0_id_table);
drivers/iio/light/adjd_s311.c
266
MODULE_DEVICE_TABLE(i2c, adjd_s311_id);
drivers/iio/light/adux1020.c
824
MODULE_DEVICE_TABLE(i2c, adux1020_id);
drivers/iio/light/al3000a.c
189
MODULE_DEVICE_TABLE(i2c, al3000a_id);
drivers/iio/light/al3010.c
224
MODULE_DEVICE_TABLE(i2c, al3010_id);
drivers/iio/light/al3320a.c
252
MODULE_DEVICE_TABLE(i2c, al3320a_id);
drivers/iio/light/apds9160.c
1578
MODULE_DEVICE_TABLE(i2c, apds9160_id);
drivers/iio/light/apds9300.c
499
MODULE_DEVICE_TABLE(i2c, apds9300_id);
drivers/iio/light/apds9960.c
1160
MODULE_DEVICE_TABLE(i2c, apds9960_id);
drivers/iio/light/as73211.c
885
MODULE_DEVICE_TABLE(i2c, as73211_id);
drivers/iio/light/bh1745.c
880
MODULE_DEVICE_TABLE(i2c, bh1745_idtable);
drivers/iio/light/bh1750.c
329
MODULE_DEVICE_TABLE(i2c, bh1750_id);
drivers/iio/light/bh1780.c
262
MODULE_DEVICE_TABLE(i2c, bh1780_id);
drivers/iio/light/cm3232.c
403
MODULE_DEVICE_TABLE(i2c, cm3232_id);
drivers/iio/light/cm3323.c
256
MODULE_DEVICE_TABLE(i2c, cm3323_id);
drivers/iio/light/cm36651.c
720
MODULE_DEVICE_TABLE(i2c, cm36651_id);
drivers/iio/light/gp2ap002.c
400
struct i2c_client *i2c = to_i2c_client(dev);
drivers/iio/light/gp2ap002.c
403
ret = i2c_smbus_read_word_data(i2c, reg);
drivers/iio/light/gp2ap002.c
416
struct i2c_client *i2c = to_i2c_client(dev);
drivers/iio/light/gp2ap002.c
418
return i2c_smbus_write_byte_data(i2c, reg, val);
drivers/iio/light/gp2ap002.c
696
MODULE_DEVICE_TABLE(i2c, gp2ap002_id_table);
drivers/iio/light/gp2ap020a00f.c
1594
MODULE_DEVICE_TABLE(i2c, gp2ap020a00f_id);
drivers/iio/light/isl29018.c
837
MODULE_DEVICE_TABLE(i2c, isl29018_id);
drivers/iio/light/isl29028.c
680
MODULE_DEVICE_TABLE(i2c, isl29028_id);
drivers/iio/light/isl29125.c
331
MODULE_DEVICE_TABLE(i2c, isl29125_id);
drivers/iio/light/isl76682.c
325
MODULE_DEVICE_TABLE(i2c, isl76682_id);
drivers/iio/light/jsa1212.c
434
MODULE_DEVICE_TABLE(i2c, jsa1212_id);
drivers/iio/light/ltr390.c
895
MODULE_DEVICE_TABLE(i2c, ltr390_id);
drivers/iio/light/ltr501.c
1610
MODULE_DEVICE_TABLE(i2c, ltr501_id);
drivers/iio/light/ltrf216a.c
558
MODULE_DEVICE_TABLE(i2c, ltrf216a_id);
drivers/iio/light/lv0104cs.c
516
MODULE_DEVICE_TABLE(i2c, lv0104cs_id);
drivers/iio/light/max44000.c
604
MODULE_DEVICE_TABLE(i2c, max44000_id);
drivers/iio/light/max44009.c
540
MODULE_DEVICE_TABLE(i2c, max44009_id);
drivers/iio/light/noa1305.c
321
MODULE_DEVICE_TABLE(i2c, noa1305_ids);
drivers/iio/light/opt3001.c
955
MODULE_DEVICE_TABLE(i2c, opt3001_id);
drivers/iio/light/opt4001.c
445
MODULE_DEVICE_TABLE(i2c, opt4001_id);
drivers/iio/light/opt4060.c
1303
MODULE_DEVICE_TABLE(i2c, opt4060_id);
drivers/iio/light/pa12203001.c
464
MODULE_DEVICE_TABLE(i2c, pa12203001_id);
drivers/iio/light/rohm-bu27034.c
1243
static int bu27034_probe(struct i2c_client *i2c)
drivers/iio/light/rohm-bu27034.c
1245
struct device *dev = &i2c->dev;
drivers/iio/light/rohm-bu27034.c
1252
regmap = devm_regmap_init_i2c(i2c, &bu27034_regmap);
drivers/iio/light/rpr0521.c
1109
MODULE_DEVICE_TABLE(i2c, rpr0521_id);
drivers/iio/light/si1133.c
1061
MODULE_DEVICE_TABLE(i2c, si1133_ids);
drivers/iio/light/si1145.c
1346
MODULE_DEVICE_TABLE(i2c, si1145_ids);
drivers/iio/light/st_uvis25_i2c.c
52
MODULE_DEVICE_TABLE(i2c, st_uvis25_i2c_id_table);
drivers/iio/light/stk3310.c
704
MODULE_DEVICE_TABLE(i2c, stk3310_i2c_id);
drivers/iio/light/tcs3414.c
368
MODULE_DEVICE_TABLE(i2c, tcs3414_id);
drivers/iio/light/tcs3472.c
603
MODULE_DEVICE_TABLE(i2c, tcs3472_id);
drivers/iio/light/tsl2563.c
848
MODULE_DEVICE_TABLE(i2c, tsl2563_id);
drivers/iio/light/tsl2583.c
921
MODULE_DEVICE_TABLE(i2c, tsl2583_idtable);
drivers/iio/light/tsl2772.c
1905
MODULE_DEVICE_TABLE(i2c, tsl2772_idtable);
drivers/iio/light/tsl4531.c
233
MODULE_DEVICE_TABLE(i2c, tsl4531_id);
drivers/iio/light/us5182d.c
956
MODULE_DEVICE_TABLE(i2c, us5182d_id);
drivers/iio/light/vcnl4000.c
245
MODULE_DEVICE_TABLE(i2c, vcnl4000_id);
drivers/iio/light/vcnl4035.c
668
MODULE_DEVICE_TABLE(i2c, vcnl4035_id);
drivers/iio/light/veml3235.c
531
MODULE_DEVICE_TABLE(i2c, veml3235_id);
drivers/iio/light/veml6030.c
1226
MODULE_DEVICE_TABLE(i2c, veml6030_id);
drivers/iio/light/veml6040.c
260
MODULE_DEVICE_TABLE(i2c, veml6040_id_table);
drivers/iio/light/veml6046x00.c
1015
MODULE_DEVICE_TABLE(i2c, veml6046x00_id);
drivers/iio/light/veml6046x00.c
910
static int veml6046x00_probe(struct i2c_client *i2c)
drivers/iio/light/veml6046x00.c
912
struct device *dev = &i2c->dev;
drivers/iio/light/veml6046x00.c
918
regmap = devm_regmap_init_i2c(i2c, &veml6046x00_regmap_config);
drivers/iio/light/veml6046x00.c
928
i2c_set_clientdata(i2c, iio);
drivers/iio/light/veml6070.c
306
MODULE_DEVICE_TABLE(i2c, veml6070_id);
drivers/iio/light/veml6075.c
457
MODULE_DEVICE_TABLE(i2c, veml6075_id);
drivers/iio/light/vl6180.c
756
MODULE_DEVICE_TABLE(i2c, vl6180_id);
drivers/iio/light/zopt2201.c
533
MODULE_DEVICE_TABLE(i2c, zopt2201_id);
drivers/iio/magnetometer/af8133j.c
510
MODULE_DEVICE_TABLE(i2c, af8133j_id);
drivers/iio/magnetometer/ak8974.c
1026
MODULE_DEVICE_TABLE(i2c, ak8974_id);
drivers/iio/magnetometer/ak8974.c
187
struct i2c_client *i2c;
drivers/iio/magnetometer/ak8974.c
343
dev_err(&ak8974->i2c->dev,
drivers/iio/magnetometer/ak8974.c
360
dev_err(&ak8974->i2c->dev, "timeout waiting for DRDY\n");
drivers/iio/magnetometer/ak8974.c
378
dev_err(&ak8974->i2c->dev,
drivers/iio/magnetometer/ak8974.c
410
dev_err(&ak8974->i2c->dev, "error reading DRDY status\n");
drivers/iio/magnetometer/ak8974.c
425
struct device *dev = &ak8974->i2c->dev;
drivers/iio/magnetometer/ak8974.c
472
dev_warn(&ak8974->i2c->dev,
drivers/iio/magnetometer/ak8974.c
507
dev_info(&ak8974->i2c->dev,
drivers/iio/magnetometer/ak8974.c
513
dev_info(&ak8974->i2c->dev, "detected AK8974\n");
drivers/iio/magnetometer/ak8974.c
517
dev_info(&ak8974->i2c->dev, "detected hscdtd008a\n");
drivers/iio/magnetometer/ak8974.c
520
dev_err(&ak8974->i2c->dev, "unsupported device (%02x) ",
drivers/iio/magnetometer/ak8974.c
548
dev_info(&ak8974->i2c->dev,
drivers/iio/magnetometer/ak8974.c
564
pm_runtime_get_sync(&ak8974->i2c->dev);
drivers/iio/magnetometer/ak8974.c
586
pm_runtime_put_autosuspend(&ak8974->i2c->dev);
drivers/iio/magnetometer/ak8974.c
602
dev_err(&ak8974->i2c->dev, "faulty channel address\n");
drivers/iio/magnetometer/ak8974.c
661
pm_runtime_get_sync(&ak8974->i2c->dev);
drivers/iio/magnetometer/ak8974.c
666
dev_err(&ak8974->i2c->dev, "error triggering measure\n");
drivers/iio/magnetometer/ak8974.c
671
dev_err(&ak8974->i2c->dev, "error getting measures\n");
drivers/iio/magnetometer/ak8974.c
680
pm_runtime_put_autosuspend(&ak8974->i2c->dev);
drivers/iio/magnetometer/ak8974.c
757
struct i2c_client *i2c = to_i2c_client(dev);
drivers/iio/magnetometer/ak8974.c
758
struct iio_dev *indio_dev = i2c_get_clientdata(i2c);
drivers/iio/magnetometer/ak8974.c
809
static int ak8974_probe(struct i2c_client *i2c)
drivers/iio/magnetometer/ak8974.c
814
int irq = i2c->irq;
drivers/iio/magnetometer/ak8974.c
818
indio_dev = devm_iio_device_alloc(&i2c->dev, sizeof(*ak8974));
drivers/iio/magnetometer/ak8974.c
823
i2c_set_clientdata(i2c, indio_dev);
drivers/iio/magnetometer/ak8974.c
824
ak8974->i2c = i2c;
drivers/iio/magnetometer/ak8974.c
827
ret = iio_read_mount_matrix(&i2c->dev, &ak8974->orientation);
drivers/iio/magnetometer/ak8974.c
834
ret = devm_regulator_bulk_get(&i2c->dev,
drivers/iio/magnetometer/ak8974.c
838
return dev_err_probe(&i2c->dev, ret, "cannot get regulators\n");
drivers/iio/magnetometer/ak8974.c
842
dev_err(&i2c->dev, "cannot enable regulators\n");
drivers/iio/magnetometer/ak8974.c
847
pm_runtime_get_noresume(&i2c->dev);
drivers/iio/magnetometer/ak8974.c
848
pm_runtime_set_active(&i2c->dev);
drivers/iio/magnetometer/ak8974.c
849
pm_runtime_enable(&i2c->dev);
drivers/iio/magnetometer/ak8974.c
851
ak8974->map = devm_regmap_init_i2c(i2c, &ak8974_regmap_config);
drivers/iio/magnetometer/ak8974.c
853
dev_err(&i2c->dev, "failed to allocate register map\n");
drivers/iio/magnetometer/ak8974.c
854
pm_runtime_put_noidle(&i2c->dev);
drivers/iio/magnetometer/ak8974.c
855
pm_runtime_disable(&i2c->dev);
drivers/iio/magnetometer/ak8974.c
861
dev_err(&i2c->dev, "could not power on\n");
drivers/iio/magnetometer/ak8974.c
867
dev_err(&i2c->dev, "neither AK8974 nor AMI30x found\n");
drivers/iio/magnetometer/ak8974.c
873
dev_err(&i2c->dev, "selftest failed (continuing anyway)\n");
drivers/iio/magnetometer/ak8974.c
877
dev_err(&i2c->dev, "AK8974 reset failed\n");
drivers/iio/magnetometer/ak8974.c
905
dev_err(&i2c->dev, "triggered buffer setup failed\n");
drivers/iio/magnetometer/ak8974.c
913
dev_info(&i2c->dev, "enable rising edge DRDY IRQ\n");
drivers/iio/magnetometer/ak8974.c
916
dev_info(&i2c->dev, "enable falling edge DRDY IRQ\n");
drivers/iio/magnetometer/ak8974.c
923
ret = devm_request_threaded_irq(&i2c->dev,
drivers/iio/magnetometer/ak8974.c
931
dev_err(&i2c->dev, "unable to request DRDY IRQ "
drivers/iio/magnetometer/ak8974.c
941
dev_err(&i2c->dev, "device register failed\n");
drivers/iio/magnetometer/ak8974.c
945
pm_runtime_set_autosuspend_delay(&i2c->dev,
drivers/iio/magnetometer/ak8974.c
947
pm_runtime_use_autosuspend(&i2c->dev);
drivers/iio/magnetometer/ak8974.c
948
pm_runtime_put(&i2c->dev);
drivers/iio/magnetometer/ak8974.c
955
pm_runtime_put_noidle(&i2c->dev);
drivers/iio/magnetometer/ak8974.c
956
pm_runtime_disable(&i2c->dev);
drivers/iio/magnetometer/ak8974.c
963
static void ak8974_remove(struct i2c_client *i2c)
drivers/iio/magnetometer/ak8974.c
965
struct iio_dev *indio_dev = i2c_get_clientdata(i2c);
drivers/iio/magnetometer/ak8974.c
970
pm_runtime_get_sync(&i2c->dev);
drivers/iio/magnetometer/ak8974.c
971
pm_runtime_put_noidle(&i2c->dev);
drivers/iio/magnetometer/ak8974.c
972
pm_runtime_disable(&i2c->dev);
drivers/iio/magnetometer/ak8975.c
1111
MODULE_DEVICE_TABLE(i2c, ak8975_id);
drivers/iio/magnetometer/als31300.c
336
static int als31300_probe(struct i2c_client *i2c)
drivers/iio/magnetometer/als31300.c
338
struct device *dev = &i2c->dev;
drivers/iio/magnetometer/als31300.c
349
i2c_set_clientdata(i2c, indio_dev);
drivers/iio/magnetometer/als31300.c
355
data->variant_info = i2c_get_match_data(i2c);
drivers/iio/magnetometer/als31300.c
359
data->map = devm_regmap_init_i2c(i2c, &als31300_regmap_config);
drivers/iio/magnetometer/als31300.c
378
indio_dev->name = i2c->name;
drivers/iio/magnetometer/als31300.c
458
MODULE_DEVICE_TABLE(i2c, als31300_id);
drivers/iio/magnetometer/bmc150_magn_i2c.c
47
MODULE_DEVICE_TABLE(i2c, bmc150_magn_i2c_id);
drivers/iio/magnetometer/hmc5843_i2c.c
80
MODULE_DEVICE_TABLE(i2c, hmc5843_id);
drivers/iio/magnetometer/mag3110.c
625
MODULE_DEVICE_TABLE(i2c, mag3110_id);
drivers/iio/magnetometer/mmc35240.c
566
MODULE_DEVICE_TABLE(i2c, mmc35240_id);
drivers/iio/magnetometer/mmc5633.c
539
MODULE_DEVICE_TABLE(i2c, mmc5633_i2c_id);
drivers/iio/magnetometer/si7210.c
426
MODULE_DEVICE_TABLE(i2c, si7210_id);
drivers/iio/magnetometer/st_magn_i2c.c
107
MODULE_DEVICE_TABLE(i2c, st_magn_id_table);
drivers/iio/magnetometer/tlv493d.c
505
MODULE_DEVICE_TABLE(i2c, tlv493d_id);
drivers/iio/magnetometer/tmag5273.c
594
static int tmag5273_probe(struct i2c_client *i2c)
drivers/iio/magnetometer/tmag5273.c
596
struct device *dev = &i2c->dev;
drivers/iio/magnetometer/tmag5273.c
607
i2c_set_clientdata(i2c, indio_dev);
drivers/iio/magnetometer/tmag5273.c
609
data->map = devm_regmap_init_i2c(i2c, &tmag5273_regmap_config);
drivers/iio/magnetometer/tmag5273.c
714
MODULE_DEVICE_TABLE(i2c, tmag5273_id);
drivers/iio/magnetometer/yamaha-yas530.c
1386
static int yas5xx_probe(struct i2c_client *i2c)
drivers/iio/magnetometer/yamaha-yas530.c
1388
const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
drivers/iio/magnetometer/yamaha-yas530.c
1390
struct device *dev = &i2c->dev;
drivers/iio/magnetometer/yamaha-yas530.c
1401
i2c_set_clientdata(i2c, indio_dev);
drivers/iio/magnetometer/yamaha-yas530.c
1430
yas5xx->map = devm_regmap_init_i2c(i2c, &yas5xx_regmap_config);
drivers/iio/magnetometer/yamaha-yas530.c
1436
ci = i2c_get_match_data(i2c);
drivers/iio/magnetometer/yamaha-yas530.c
1511
static void yas5xx_remove(struct i2c_client *i2c)
drivers/iio/magnetometer/yamaha-yas530.c
1513
struct iio_dev *indio_dev = i2c_get_clientdata(i2c);
drivers/iio/magnetometer/yamaha-yas530.c
1515
struct device *dev = &i2c->dev;
drivers/iio/magnetometer/yamaha-yas530.c
1588
MODULE_DEVICE_TABLE(i2c, yas5xx_id);
drivers/iio/potentiometer/ad5110.c
296
MODULE_DEVICE_TABLE(i2c, ad5110_id);
drivers/iio/potentiometer/ad5272.c
214
MODULE_DEVICE_TABLE(i2c, ad5272_id);
drivers/iio/potentiometer/ds1803.c
244
MODULE_DEVICE_TABLE(i2c, ds1803_id);
drivers/iio/potentiometer/mcp4018.c
122
MODULE_DEVICE_TABLE(i2c, mcp4018_id);
drivers/iio/potentiometer/mcp4531.c
281
MODULE_DEVICE_TABLE(i2c, mcp4531_id);
drivers/iio/potentiometer/tpl0102.c
158
MODULE_DEVICE_TABLE(i2c, tpl0102_id);
drivers/iio/potentiostat/lmp91000.c
410
MODULE_DEVICE_TABLE(i2c, lmp91000_id);
drivers/iio/pressure/abp060mg.c
252
MODULE_DEVICE_TABLE(i2c, abp060mg_id_table);
drivers/iio/pressure/abp2030pa_i2c.c
75
MODULE_DEVICE_TABLE(i2c, abp2_i2c_id);
drivers/iio/pressure/adp810.c
205
MODULE_DEVICE_TABLE(i2c, adp810_id_table);
drivers/iio/pressure/bmp280-i2c.c
49
MODULE_DEVICE_TABLE(i2c, bmp280_i2c_id);
drivers/iio/pressure/dlhl60d.c
347
MODULE_DEVICE_TABLE(i2c, dlh_id);
drivers/iio/pressure/dps310.c
893
MODULE_DEVICE_TABLE(i2c, dps310_id);
drivers/iio/pressure/hp03.c
272
MODULE_DEVICE_TABLE(i2c, hp03_id);
drivers/iio/pressure/hp206c.c
401
MODULE_DEVICE_TABLE(i2c, hp206c_id);
drivers/iio/pressure/hsc030pa_i2c.c
59
MODULE_DEVICE_TABLE(i2c, hsc_i2c_id);
drivers/iio/pressure/icp10100.c
639
MODULE_DEVICE_TABLE(i2c, icp10100_id);
drivers/iio/pressure/mpl115_i2c.c
51
MODULE_DEVICE_TABLE(i2c, mpl115_i2c_id);
drivers/iio/pressure/mpl3115.c
789
MODULE_DEVICE_TABLE(i2c, mpl3115_id);
drivers/iio/pressure/mprls0025pa_i2c.c
75
MODULE_DEVICE_TABLE(i2c, mpr_i2c_id);
drivers/iio/pressure/ms5611_i2c.c
120
MODULE_DEVICE_TABLE(i2c, ms5611_id);
drivers/iio/pressure/ms5637.c
224
MODULE_DEVICE_TABLE(i2c, ms5637_id);
drivers/iio/pressure/rohm-bm1390.c
810
static int bm1390_probe(struct i2c_client *i2c)
drivers/iio/pressure/rohm-bm1390.c
819
dev = &i2c->dev;
drivers/iio/pressure/rohm-bm1390.c
821
regmap = devm_regmap_init_i2c(i2c, &bm1390_regmap);
drivers/iio/pressure/rohm-bm1390.c
844
data->irq = i2c->irq;
drivers/iio/pressure/rohm-bm1390.c
866
if (i2c->irq > 0) {
drivers/iio/pressure/rohm-bm1390.c
869
ret = bm1390_setup_trigger(data, idev, i2c->irq);
drivers/iio/pressure/rohm-bm1390.c
894
MODULE_DEVICE_TABLE(i2c, bm1390_id);
drivers/iio/pressure/sdp500.c
136
MODULE_DEVICE_TABLE(i2c, sdp500_id);
drivers/iio/pressure/st_pressure_i2c.c
74
MODULE_DEVICE_TABLE(i2c, st_press_id_table);
drivers/iio/pressure/t5403.c
257
MODULE_DEVICE_TABLE(i2c, t5403_id);
drivers/iio/pressure/zpa2326_i2c.c
64
MODULE_DEVICE_TABLE(i2c, zpa2326_i2c_ids);
drivers/iio/proximity/aw96103.c
681
struct i2c_client *i2c)
drivers/iio/proximity/aw96103.c
693
ret = devm_request_threaded_irq(aw96103->dev, i2c->irq, NULL,
drivers/iio/proximity/aw96103.c
759
static int aw96103_i2c_probe(struct i2c_client *i2c)
drivers/iio/proximity/aw96103.c
766
indio_dev = devm_iio_device_alloc(&i2c->dev, sizeof(*aw96103));
drivers/iio/proximity/aw96103.c
771
aw96103->dev = &i2c->dev;
drivers/iio/proximity/aw96103.c
772
chip_info = i2c_get_match_data(i2c);
drivers/iio/proximity/aw96103.c
775
aw96103->regmap = devm_regmap_init_i2c(i2c, &aw96103_regmap_confg);
drivers/iio/proximity/aw96103.c
801
ret = aw96103_interrupt_init(indio_dev, i2c);
drivers/iio/proximity/aw96103.c
832
MODULE_DEVICE_TABLE(i2c, aw96103_i2c_id);
drivers/iio/proximity/hx9023s.c
1202
MODULE_DEVICE_TABLE(i2c, hx9023s_id);
drivers/iio/proximity/isl29501.c
1002
MODULE_DEVICE_TABLE(i2c, isl29501_id);
drivers/iio/proximity/mb1232.c
256
MODULE_DEVICE_TABLE(i2c, mb1232_id);
drivers/iio/proximity/pulsedlight-lidar-lite-v2.c
326
MODULE_DEVICE_TABLE(i2c, lidar_id);
drivers/iio/proximity/rfd77402.c
439
MODULE_DEVICE_TABLE(i2c, rfd77402_id);
drivers/iio/proximity/srf08.c
541
MODULE_DEVICE_TABLE(i2c, srf08_id);
drivers/iio/proximity/sx9310.c
1014
MODULE_DEVICE_TABLE(i2c, sx9310_id);
drivers/iio/proximity/sx9324.c
1141
MODULE_DEVICE_TABLE(i2c, sx9324_id);
drivers/iio/proximity/sx9360.c
851
MODULE_DEVICE_TABLE(i2c, sx9360_id);
drivers/iio/proximity/sx9500.c
1031
MODULE_DEVICE_TABLE(i2c, sx9500_id);
drivers/iio/proximity/vl53l0x-i2c.c
399
MODULE_DEVICE_TABLE(i2c, vl53l0x_id);
drivers/iio/temperature/max30208.c
177
static int max30208_probe(struct i2c_client *i2c)
drivers/iio/temperature/max30208.c
179
struct device *dev = &i2c->dev;
drivers/iio/temperature/max30208.c
189
data->client = i2c;
drivers/iio/temperature/max30208.c
224
MODULE_DEVICE_TABLE(i2c, max30208_id_table);
drivers/iio/temperature/mcp9600.c
558
MODULE_DEVICE_TABLE(i2c, mcp9600_id);
drivers/iio/temperature/mlx90614.c
706
MODULE_DEVICE_TABLE(i2c, mlx90614_id);
drivers/iio/temperature/mlx90632.c
1282
MODULE_DEVICE_TABLE(i2c, mlx90632_id);
drivers/iio/temperature/mlx90635.c
1032
MODULE_DEVICE_TABLE(i2c, mlx90635_id);
drivers/iio/temperature/tmp006.c
397
MODULE_DEVICE_TABLE(i2c, tmp006_id);
drivers/iio/temperature/tmp007.c
569
MODULE_DEVICE_TABLE(i2c, tmp007_id);
drivers/iio/temperature/tmp117.c
216
MODULE_DEVICE_TABLE(i2c, tmp117_id);
drivers/iio/temperature/tsys01.c
212
MODULE_DEVICE_TABLE(i2c, tsys01_id);
drivers/iio/temperature/tsys02d.c
174
MODULE_DEVICE_TABLE(i2c, tsys02d_id);
drivers/infiniband/hw/hfi1/qsfp.c
173
static int i2c_bus_write(struct hfi1_devdata *dd, struct hfi1_i2c_bus *i2c,
drivers/infiniband/hw/hfi1/qsfp.c
211
i2c->controlling_dd = dd;
drivers/infiniband/hw/hfi1/qsfp.c
212
ret = i2c_transfer(&i2c->adapter, msgs, num_msgs);
drivers/infiniband/hw/hfi1/qsfp.c
215
__func__, i2c->num, slave_addr, offset, len, ret);
drivers/input/joystick/adafruit-seesaw.c
310
MODULE_DEVICE_TABLE(i2c, seesaw_id_table);
drivers/input/joystick/as5011.c
343
MODULE_DEVICE_TABLE(i2c, as5011_id);
drivers/input/joystick/qwiic-joystick.c
132
MODULE_DEVICE_TABLE(i2c, qwiic_id_table);
drivers/input/keyboard/adp5588-keys.c
849
MODULE_DEVICE_TABLE(i2c, adp5588_id);
drivers/input/keyboard/cap11xx.c
663
MODULE_DEVICE_TABLE(i2c, cap11xx_i2c_ids);
drivers/input/keyboard/cypress-sf.c
215
MODULE_DEVICE_TABLE(i2c, cypress_sf_id_table);
drivers/input/keyboard/dlink-dir685-touchkeys.c
134
MODULE_DEVICE_TABLE(i2c, dir685_tk_id);
drivers/input/keyboard/lm8323.c
804
MODULE_DEVICE_TABLE(i2c, lm8323_id);
drivers/input/keyboard/lm8333.c
200
MODULE_DEVICE_TABLE(i2c, lm8333_id);
drivers/input/keyboard/max7359_keypad.c
276
MODULE_DEVICE_TABLE(i2c, max7359_ids);
drivers/input/keyboard/mpr121_touchkey.c
336
MODULE_DEVICE_TABLE(i2c, mpr121_id);
drivers/input/keyboard/qt1070.c
240
MODULE_DEVICE_TABLE(i2c, qt1070_id);
drivers/input/keyboard/qt2160.c
400
MODULE_DEVICE_TABLE(i2c, qt2160_idtable);
drivers/input/keyboard/tca8418_keypad.c
360
MODULE_DEVICE_TABLE(i2c, tca8418_id);
drivers/input/keyboard/tm2-touchkey.c
332
MODULE_DEVICE_TABLE(i2c, tm2_touchkey_id_table);
drivers/input/misc/88pm860x_onkey.c
39
struct i2c_client *i2c;
drivers/input/misc/88pm860x_onkey.c
50
ret = pm860x_reg_read(info->i2c, PM8607_STATUS_2);
drivers/input/misc/88pm860x_onkey.c
56
pm860x_set_bits(info->i2c, PM8607_WAKEUP, 3, LONG_ONKEY_EN);
drivers/input/misc/88pm860x_onkey.c
75
info->i2c = (chip->id == CHIP_PM8607) ? chip->client : chip->companion;
drivers/input/misc/ad714x-i2c.c
82
MODULE_DEVICE_TABLE(i2c, ad714x_id);
drivers/input/misc/adxl34x-i2c.c
106
MODULE_DEVICE_TABLE(i2c, adxl34x_id);
drivers/input/misc/apanel.c
198
MODULE_DEVICE_TABLE(i2c, apanel_id);
drivers/input/misc/atmel_captouch.c
263
MODULE_DEVICE_TABLE(i2c, atmel_captouch_id);
drivers/input/misc/bma150.c
545
MODULE_DEVICE_TABLE(i2c, bma150_id);
drivers/input/misc/cma3000_d0x_i2c.c
97
MODULE_DEVICE_TABLE(i2c, cma3000_i2c_id);
drivers/input/misc/da7280.c
1311
MODULE_DEVICE_TABLE(i2c, da7280_i2c_id);
drivers/input/misc/drv260x.c
604
MODULE_DEVICE_TABLE(i2c, drv260x_id);
drivers/input/misc/drv2665.c
287
MODULE_DEVICE_TABLE(i2c, drv2665_id);
drivers/input/misc/drv2667.c
464
MODULE_DEVICE_TABLE(i2c, drv2667_id);
drivers/input/misc/kxtj9.c
532
MODULE_DEVICE_TABLE(i2c, kxtj9_id);
drivers/input/misc/max8925_onkey.c
37
struct i2c_client *i2c;
drivers/input/misc/max8925_onkey.c
52
state = max8925_reg_read(info->i2c, MAX8925_ON_OFF_STATUS);
drivers/input/misc/max8925_onkey.c
60
max8925_set_bits(info->i2c, MAX8925_SYSENSEL,
drivers/input/misc/max8925_onkey.c
91
info->i2c = chip->i2c;
drivers/input/misc/mma8450.c
206
MODULE_DEVICE_TABLE(i2c, mma8450_id);
drivers/input/misc/pcf8574_keypad.c
195
MODULE_DEVICE_TABLE(i2c, pcf8574_kp_id);
drivers/input/mouse/cyapa.c
1462
MODULE_DEVICE_TABLE(i2c, cyapa_id_table);
drivers/input/mouse/elan_i2c_core.c
1405
MODULE_DEVICE_TABLE(i2c, elan_id);
drivers/input/mouse/synaptics_i2c.c
613
MODULE_DEVICE_TABLE(i2c, synaptics_i2c_id_table);
drivers/input/rmi4/rmi_i2c.c
371
MODULE_DEVICE_TABLE(i2c, rmi_id);
drivers/input/rmi4/rmi_smbus.c
419
MODULE_DEVICE_TABLE(i2c, rmi_id);
drivers/input/touchscreen/88pm860x-ts.c
112
pm860x_set_bits(touch->i2c, MEAS_EN3, data, 0);
drivers/input/touchscreen/88pm860x-ts.c
120
struct i2c_client *i2c = (chip->id == CHIP_PM8607) ? chip->client \
drivers/input/touchscreen/88pm860x-ts.c
143
ret = pm860x_reg_write(i2c, PM8607_GPADC_MISC1, data);
drivers/input/touchscreen/88pm860x-ts.c
149
ret = pm860x_reg_write(i2c, PM8607_TSI_PREBIAS, data);
drivers/input/touchscreen/88pm860x-ts.c
160
ret = pm860x_reg_write(i2c, PM8607_PD_PREBIAS, data);
drivers/input/touchscreen/88pm860x-ts.c
177
struct i2c_client *i2c = (chip->id == CHIP_PM8607) ? chip->client \
drivers/input/touchscreen/88pm860x-ts.c
198
ret = pm860x_reg_write(i2c,
drivers/input/touchscreen/88pm860x-ts.c
206
ret = pm860x_reg_write(i2c,
drivers/input/touchscreen/88pm860x-ts.c
218
ret = pm860x_reg_write(i2c,
drivers/input/touchscreen/88pm860x-ts.c
230
ret = pm860x_set_bits(i2c, PM8607_GPADC_MISC1, PM8607_GPADC_EN,
drivers/input/touchscreen/88pm860x-ts.c
253
touch->i2c = i2c;
drivers/input/touchscreen/88pm860x-ts.c
42
struct i2c_client *i2c;
drivers/input/touchscreen/88pm860x-ts.c
57
ret = pm860x_bulk_read(touch->i2c, MEAS_TSIX_1, MEAS_LEN, buf);
drivers/input/touchscreen/88pm860x-ts.c
97
ret = pm860x_set_bits(touch->i2c, MEAS_EN3, data, data);
drivers/input/touchscreen/ad7879-i2c.c
49
MODULE_DEVICE_TABLE(i2c, ad7879_id);
drivers/input/touchscreen/ar1021_i2c.c
170
MODULE_DEVICE_TABLE(i2c, ar1021_i2c_id);
drivers/input/touchscreen/atmel_mxt_ts.c
3441
MODULE_DEVICE_TABLE(i2c, mxt_id);
drivers/input/touchscreen/auo-pixcir-ts.c
623
MODULE_DEVICE_TABLE(i2c, auo_pixcir_idtable);
drivers/input/touchscreen/bu21013_ts.c
603
MODULE_DEVICE_TABLE(i2c, bu21013_id);
drivers/input/touchscreen/bu21029_ts.c
256
struct i2c_client *i2c = bu21029->client;
drivers/input/touchscreen/bu21029_ts.c
272
dev_err(&i2c->dev, "failed to power up chip: %d", error);
drivers/input/touchscreen/bu21029_ts.c
282
error = i2c_smbus_read_i2c_block_data(i2c, BU21029_HWID_REG,
drivers/input/touchscreen/bu21029_ts.c
285
dev_err(&i2c->dev, "failed to read HW ID\n");
drivers/input/touchscreen/bu21029_ts.c
290
dev_err(&i2c->dev,
drivers/input/touchscreen/bu21029_ts.c
297
error = i2c_smbus_write_byte_data(i2c,
drivers/input/touchscreen/bu21029_ts.c
301
dev_err(&i2c->dev,
drivers/input/touchscreen/bu21029_ts.c
309
error = i2c_smbus_write_byte(i2c, BU21029_AUTOSCAN);
drivers/input/touchscreen/bu21029_ts.c
311
dev_err(&i2c->dev, "failed to start autoscan\n");
drivers/input/touchscreen/bu21029_ts.c
415
struct i2c_client *i2c = to_i2c_client(dev);
drivers/input/touchscreen/bu21029_ts.c
416
struct bu21029_ts_data *bu21029 = i2c_get_clientdata(i2c);
drivers/input/touchscreen/bu21029_ts.c
430
struct i2c_client *i2c = to_i2c_client(dev);
drivers/input/touchscreen/bu21029_ts.c
431
struct bu21029_ts_data *bu21029 = i2c_get_clientdata(i2c);
drivers/input/touchscreen/bu21029_ts.c
448
MODULE_DEVICE_TABLE(i2c, bu21029_ids);
drivers/input/touchscreen/chipone_icn8318.c
255
MODULE_DEVICE_TABLE(i2c, icn8318_i2c_id);
drivers/input/touchscreen/cy8ctma140.c
328
MODULE_DEVICE_TABLE(i2c, cy8ctma140_idtable);
drivers/input/touchscreen/cy8ctmg110_ts.c
274
MODULE_DEVICE_TABLE(i2c, cy8ctmg110_idtable);
drivers/input/touchscreen/cyttsp5.c
944
MODULE_DEVICE_TABLE(i2c, cyttsp5_i2c_id);
drivers/input/touchscreen/cyttsp_i2c.c
109
MODULE_DEVICE_TABLE(i2c, cyttsp_i2c_id);
drivers/input/touchscreen/edt-ft5x06.c
1519
MODULE_DEVICE_TABLE(i2c, edt_ft5x06_ts_id);
drivers/input/touchscreen/edt-ft5x06.c
184
struct i2c_client *i2c = to_i2c_client(dev);
drivers/input/touchscreen/edt-ft5x06.c
185
struct edt_ft5x06_ts_data *tsdata = i2c_get_clientdata(i2c);
drivers/input/touchscreen/edt-ft5x06.c
213
xfer[0].addr = i2c->addr;
drivers/input/touchscreen/edt-ft5x06.c
218
xfer[1].addr = i2c->addr;
drivers/input/touchscreen/edt-ft5x06.c
223
ret = i2c_transfer(i2c->adapter, xfer, 2);
drivers/input/touchscreen/edt-ft5x06.c
260
struct i2c_client *i2c = to_i2c_client(dev);
drivers/input/touchscreen/edt-ft5x06.c
261
struct edt_ft5x06_ts_data *tsdata = i2c_get_clientdata(i2c);
drivers/input/touchscreen/edt-ft5x06.c
275
xfer.addr = i2c->addr;
drivers/input/touchscreen/edt-ft5x06.c
280
ret = i2c_transfer(i2c->adapter, &xfer, 1);
drivers/input/touchscreen/eeti_ts.c
279
MODULE_DEVICE_TABLE(i2c, eeti_ts_id);
drivers/input/touchscreen/egalax_ts.c
225
MODULE_DEVICE_TABLE(i2c, egalax_ts_id);
drivers/input/touchscreen/ektf2127.c
366
MODULE_DEVICE_TABLE(i2c, ektf2127_i2c_id);
drivers/input/touchscreen/elants_i2c.c
1636
MODULE_DEVICE_TABLE(i2c, elants_i2c_id);
drivers/input/touchscreen/exc3000.c
452
MODULE_DEVICE_TABLE(i2c, exc3000_id);
drivers/input/touchscreen/goodix.c
1529
MODULE_DEVICE_TABLE(i2c, goodix_ts_id);
drivers/input/touchscreen/goodix_berlin_i2c.c
62
MODULE_DEVICE_TABLE(i2c, goodix_berlin_i2c_id);
drivers/input/touchscreen/hideep.c
1101
MODULE_DEVICE_TABLE(i2c, hideep_i2c_id);
drivers/input/touchscreen/himax_hx83112b.c
413
MODULE_DEVICE_TABLE(i2c, himax_ts_id);
drivers/input/touchscreen/hycon-hy46xx.c
556
MODULE_DEVICE_TABLE(i2c, hycon_hy46xx_id);
drivers/input/touchscreen/hynitron-cst816x.c
232
MODULE_DEVICE_TABLE(i2c, cst816x_id);
drivers/input/touchscreen/hynitron_cstxxx.c
476
MODULE_DEVICE_TABLE(i2c, hyn_tpd_id);
drivers/input/touchscreen/ili210x.c
1058
MODULE_DEVICE_TABLE(i2c, ili210x_i2c_id);
drivers/input/touchscreen/ilitek_ts_i2c.c
645
MODULE_DEVICE_TABLE(i2c, ilitek_ts_i2c_id);
drivers/input/touchscreen/imagis.c
301
static int imagis_probe(struct i2c_client *i2c)
drivers/input/touchscreen/imagis.c
303
struct device *dev = &i2c->dev;
drivers/input/touchscreen/imagis.c
311
ts->client = i2c;
drivers/input/touchscreen/imagis.c
348
error = devm_request_threaded_irq(dev, i2c->irq,
drivers/input/touchscreen/imagis.c
354
i2c->irq, error);
drivers/input/touchscreen/iqs5xx.c
1075
MODULE_DEVICE_TABLE(i2c, iqs5xx_id);
drivers/input/touchscreen/max11801_ts.c
219
MODULE_DEVICE_TABLE(i2c, max11801_ts_id);
drivers/input/touchscreen/melfas_mip4.c
1575
MODULE_DEVICE_TABLE(i2c, mip4_i2c_ids);
drivers/input/touchscreen/migor_ts.c
217
MODULE_DEVICE_TABLE(i2c, migor_ts_id);
drivers/input/touchscreen/mms114.c
683
MODULE_DEVICE_TABLE(i2c, mms114_id);
drivers/input/touchscreen/novatek-nvt-ts.c
333
MODULE_DEVICE_TABLE(i2c, nvt_ts_i2c_id);
drivers/input/touchscreen/pixcir_i2c_ts.c
589
MODULE_DEVICE_TABLE(i2c, pixcir_i2c_ts_id);
drivers/input/touchscreen/raydium_i2c_ts.c
1234
MODULE_DEVICE_TABLE(i2c, raydium_i2c_id);
drivers/input/touchscreen/rohm_bu21023.c
1150
MODULE_DEVICE_TABLE(i2c, rohm_bu21023_i2c_id);
drivers/input/touchscreen/s6sy761.c
526
MODULE_DEVICE_TABLE(i2c, s6sy761_id);
drivers/input/touchscreen/silead.c
787
MODULE_DEVICE_TABLE(i2c, silead_ts_id);
drivers/input/touchscreen/sis_i2c.c
381
MODULE_DEVICE_TABLE(i2c, sis_ts_id);
drivers/input/touchscreen/st1232.c
396
MODULE_DEVICE_TABLE(i2c, st1232_ts_id);
drivers/input/touchscreen/stmfts.c
792
MODULE_DEVICE_TABLE(i2c, stmfts_id);
drivers/input/touchscreen/sx8654.c
461
MODULE_DEVICE_TABLE(i2c, sx8654_id_table);
drivers/input/touchscreen/tsc2004.c
25
struct i2c_client *i2c = to_i2c_client(dev);
drivers/input/touchscreen/tsc2004.c
27
data = i2c_smbus_write_byte(i2c, tx);
drivers/input/touchscreen/tsc2004.c
37
static int tsc2004_probe(struct i2c_client *i2c)
drivers/input/touchscreen/tsc2004.c
40
return tsc200x_probe(&i2c->dev, i2c->irq, &tsc2004_input_id,
drivers/input/touchscreen/tsc2004.c
41
devm_regmap_init_i2c(i2c, &tsc200x_regmap_config),
drivers/input/touchscreen/tsc2004.c
49
MODULE_DEVICE_TABLE(i2c, tsc2004_idtable);
drivers/input/touchscreen/tsc2007_core.c
413
MODULE_DEVICE_TABLE(i2c, tsc2007_idtable);
drivers/input/touchscreen/wacom_i2c.c
259
MODULE_DEVICE_TABLE(i2c, wacom_i2c_id);
drivers/input/touchscreen/wdt87xx_i2c.c
1148
MODULE_DEVICE_TABLE(i2c, wdt87xx_dev_id);
drivers/input/touchscreen/zet6223.c
242
MODULE_DEVICE_TABLE(i2c, zet6223_id);
drivers/input/touchscreen/zforce_ts.c
837
MODULE_DEVICE_TABLE(i2c, zforce_idtable);
drivers/leds/flash/leds-as3645a.c
747
MODULE_DEVICE_TABLE(i2c, as3645a_id_table);
drivers/leds/flash/leds-lm3601x.c
472
MODULE_DEVICE_TABLE(i2c, lm3601x_id);
drivers/leds/flash/leds-max77693.c
844
struct i2c_client *i2c = iodev->i2c;
drivers/leds/flash/leds-max77693.c
849
i2c_adapter_id(i2c->adapter), i2c->addr);
drivers/leds/leds-88pm860x.c
101
pm860x_set_bits(led->i2c, PM8606_WLED3B,
drivers/leds/leds-88pm860x.c
194
data->i2c = (chip->id == CHIP_PM8606) ? chip->client : chip->companion;
drivers/leds/leds-88pm860x.c
30
struct i2c_client *i2c;
drivers/leds/leds-88pm860x.c
81
pm860x_set_bits(led->i2c, led->reg_control,
drivers/leds/leds-88pm860x.c
84
pm860x_set_bits(led->i2c, led->reg_blink,
drivers/leds/leds-88pm860x.c
86
pm860x_set_bits(led->i2c, PM8606_WLED3B, led->blink_mask,
drivers/leds/leds-88pm860x.c
89
pm860x_set_bits(led->i2c, led->reg_control, LED_PWM_MASK,
drivers/leds/leds-88pm860x.c
93
pm860x_bulk_read(led->i2c, led->reg_control, 3, buf);
drivers/leds/leds-88pm860x.c
99
pm860x_set_bits(led->i2c, led->reg_control,
drivers/leds/leds-an30259a.c
337
MODULE_DEVICE_TABLE(i2c, an30259a_id);
drivers/leds/leds-as3668.c
181
MODULE_DEVICE_TABLE(i2c, as3668_idtable);
drivers/leds/leds-aw200xx.c
646
MODULE_DEVICE_TABLE(i2c, aw200xx_id);
drivers/leds/leds-bd2802.c
782
MODULE_DEVICE_TABLE(i2c, bd2802_id);
drivers/leds/leds-blinkm.c
812
MODULE_DEVICE_TABLE(i2c, blinkm_id);
drivers/leds/leds-is31fl319x.c
580
MODULE_DEVICE_TABLE(i2c, is31fl319x_id);
drivers/leds/leds-is31fl32xx.c
630
MODULE_DEVICE_TABLE(i2c, is31fl32xx_id);
drivers/leds/leds-lm3530.c
484
MODULE_DEVICE_TABLE(i2c, lm3530_id);
drivers/leds/leds-lm3532.c
728
MODULE_DEVICE_TABLE(i2c, lm3532_id);
drivers/leds/leds-lm355x.c
512
MODULE_DEVICE_TABLE(i2c, lm355x_id);
drivers/leds/leds-lm3642.c
397
MODULE_DEVICE_TABLE(i2c, lm3642_id);
drivers/leds/leds-lm3692x.c
510
MODULE_DEVICE_TABLE(i2c, lm3692x_id);
drivers/leds/leds-lm3697.c
360
MODULE_DEVICE_TABLE(i2c, lm3697_id);
drivers/leds/leds-lp3944.c
424
MODULE_DEVICE_TABLE(i2c, lp3944_id);
drivers/leds/leds-lp3952.c
272
MODULE_DEVICE_TABLE(i2c, lp3952_id);
drivers/leds/leds-lp50xx.c
611
MODULE_DEVICE_TABLE(i2c, lp50xx_id);
drivers/leds/leds-lp5521.c
259
MODULE_DEVICE_TABLE(i2c, lp5521_id);
drivers/leds/leds-lp5523.c
354
MODULE_DEVICE_TABLE(i2c, lp5523_id);
drivers/leds/leds-lp5562.c
401
MODULE_DEVICE_TABLE(i2c, lp5562_id);
drivers/leds/leds-lp5569.c
521
MODULE_DEVICE_TABLE(i2c, lp5569_id);
drivers/leds/leds-lp8501.c
136
MODULE_DEVICE_TABLE(i2c, lp8501_id);
drivers/leds/leds-lp8860.c
352
MODULE_DEVICE_TABLE(i2c, lp8860_id);
drivers/leds/leds-lp8864.c
276
MODULE_DEVICE_TABLE(i2c, lp8864_id);
drivers/leds/leds-max77705.c
241
struct i2c_client *i2c = to_i2c_client(pdev->dev.parent);
drivers/leds/leds-max77705.c
245
regmap = devm_regmap_init_i2c(i2c, &max77705_leds_regmap_config);
drivers/leds/leds-max8997.c
100
struct i2c_client *client = led->iodev->i2c;
drivers/leds/leds-max8997.c
120
struct i2c_client *client = led->iodev->i2c;
drivers/leds/leds-max8997.c
51
struct i2c_client *client = led->iodev->i2c;
drivers/leds/leds-pca9532.c
77
MODULE_DEVICE_TABLE(i2c, pca9532_id);
drivers/leds/leds-pca955x.c
774
MODULE_DEVICE_TABLE(i2c, pca955x_id);
drivers/leds/leds-pca963x.c
97
MODULE_DEVICE_TABLE(i2c, pca963x_id);
drivers/leds/leds-pca995x.c
196
MODULE_DEVICE_TABLE(i2c, pca995x_id);
drivers/leds/leds-st1202.c
396
MODULE_DEVICE_TABLE(i2c, st1202_id);
drivers/leds/leds-tca6507.c
188
MODULE_DEVICE_TABLE(i2c, tca6507_id);
drivers/leds/leds-tlc591xx.c
221
MODULE_DEVICE_TABLE(i2c, tlc591xx_id);
drivers/leds/leds-turris-omnia.c
538
MODULE_DEVICE_TABLE(i2c, omnia_id);
drivers/leds/rgb/leds-ktd202x.c
612
MODULE_DEVICE_TABLE(i2c, ktd202x_id);
drivers/macintosh/ams/ams-i2c.c
66
MODULE_DEVICE_TABLE(i2c, ams_id);
drivers/macintosh/therm_adt746x.c
597
MODULE_DEVICE_TABLE(i2c, therm_adt746x_id);
drivers/macintosh/therm_windtunnel.c
413
MODULE_DEVICE_TABLE(i2c, therm_windtunnel_id);
drivers/macintosh/windfarm_ad7417_sensor.c
113
rc = i2c_master_send(pv->i2c, buf, 2);
drivers/macintosh/windfarm_ad7417_sensor.c
122
rc = i2c_master_send(pv->i2c, buf, 1);
drivers/macintosh/windfarm_ad7417_sensor.c
127
rc = i2c_master_recv(pv->i2c, buf, 2);
drivers/macintosh/windfarm_ad7417_sensor.c
135
dev_vdbg(&pv->i2c->dev, "ADC chan %d [%s]"
drivers/macintosh/windfarm_ad7417_sensor.c
143
dev_dbg(&pv->i2c->dev,
drivers/macintosh/windfarm_ad7417_sensor.c
206
i2c_master_send(pv->i2c, buf, 2);
drivers/macintosh/windfarm_ad7417_sensor.c
210
rc = i2c_master_send(pv->i2c, buf, 1);
drivers/macintosh/windfarm_ad7417_sensor.c
212
rc = i2c_master_recv(pv->i2c, buf, 1);
drivers/macintosh/windfarm_ad7417_sensor.c
216
dev_dbg(&pv->i2c->dev, "ADC config reg: %02x\n",
drivers/macintosh/windfarm_ad7417_sensor.c
223
rc = i2c_master_send(pv->i2c, buf, 2);
drivers/macintosh/windfarm_ad7417_sensor.c
227
dev_err(&pv->i2c->dev, "Error reading ADC config\n");
drivers/macintosh/windfarm_ad7417_sensor.c
269
pv->i2c = client;
drivers/macintosh/windfarm_ad7417_sensor.c
28
struct i2c_client *i2c;
drivers/macintosh/windfarm_ad7417_sensor.c
297
pv->i2c = NULL;
drivers/macintosh/windfarm_ad7417_sensor.c
310
MODULE_DEVICE_TABLE(i2c, wf_ad7417_id);
drivers/macintosh/windfarm_ad7417_sensor.c
48
rc = i2c_master_send(pv->i2c, buf, 1);
drivers/macintosh/windfarm_ad7417_sensor.c
51
rc = i2c_master_recv(pv->i2c, buf, 2);
drivers/macintosh/windfarm_fcu_controls.c
109
nr = i2c_master_recv(pv->i2c, buf, nb);
drivers/macintosh/windfarm_fcu_controls.c
133
nw = i2c_master_send(pv->i2c, buf, nb);
drivers/macintosh/windfarm_fcu_controls.c
427
struct device_node *np, *fcu = pv->i2c->dev.of_node;
drivers/macintosh/windfarm_fcu_controls.c
528
pv->i2c = client;
drivers/macintosh/windfarm_fcu_controls.c
57
struct i2c_client *i2c;
drivers/macintosh/windfarm_fcu_controls.c
579
MODULE_DEVICE_TABLE(i2c, wf_fcu_id);
drivers/macintosh/windfarm_fcu_controls.c
96
nw = i2c_master_send(pv->i2c, buf, 1);
drivers/macintosh/windfarm_lm75_sensor.c
139
lm->i2c = client;
drivers/macintosh/windfarm_lm75_sensor.c
155
lm->i2c = NULL;
drivers/macintosh/windfarm_lm75_sensor.c
166
MODULE_DEVICE_TABLE(i2c, wf_lm75_id);
drivers/macintosh/windfarm_lm75_sensor.c
38
struct i2c_client *i2c;
drivers/macintosh/windfarm_lm75_sensor.c
48
if (lm->i2c == NULL)
drivers/macintosh/windfarm_lm75_sensor.c
53
u8 cfg_new, cfg = (u8)i2c_smbus_read_byte_data(lm->i2c, 1);
drivers/macintosh/windfarm_lm75_sensor.c
62
i2c_smbus_write_byte_data(lm->i2c, 1, cfg_new);
drivers/macintosh/windfarm_lm75_sensor.c
70
data = (s32)le16_to_cpu(i2c_smbus_read_word_data(lm->i2c, 0));
drivers/macintosh/windfarm_lm87_sensor.c
135
lm->i2c = client;
drivers/macintosh/windfarm_lm87_sensor.c
152
lm->i2c = NULL;
drivers/macintosh/windfarm_lm87_sensor.c
162
MODULE_DEVICE_TABLE(i2c, wf_lm87_id);
drivers/macintosh/windfarm_lm87_sensor.c
35
struct i2c_client *i2c;
drivers/macintosh/windfarm_lm87_sensor.c
71
if (lm->i2c == NULL)
drivers/macintosh/windfarm_lm87_sensor.c
77
temp = wf_lm87_read_reg(lm->i2c, LM87_INT_TEMP);
drivers/macintosh/windfarm_max6690_sensor.c
110
max->i2c = NULL;
drivers/macintosh/windfarm_max6690_sensor.c
118
MODULE_DEVICE_TABLE(i2c, wf_max6690_id);
drivers/macintosh/windfarm_max6690_sensor.c
28
struct i2c_client *i2c;
drivers/macintosh/windfarm_max6690_sensor.c
39
if (max->i2c == NULL)
drivers/macintosh/windfarm_max6690_sensor.c
43
data = i2c_smbus_read_byte_data(max->i2c, MAX6690_EXTERNAL_TEMP);
drivers/macintosh/windfarm_max6690_sensor.c
95
max->i2c = client;
drivers/macintosh/windfarm_smu_sat.c
119
err = i2c_smbus_read_i2c_block_data(sat->i2c, 0x3f, 16, sat->cache);
drivers/macintosh/windfarm_smu_sat.c
142
if (sat->i2c == NULL)
drivers/macintosh/windfarm_smu_sat.c
213
sat->i2c = client;
drivers/macintosh/windfarm_smu_sat.c
331
sat->i2c = NULL;
drivers/macintosh/windfarm_smu_sat.c
339
MODULE_DEVICE_TABLE(i2c, wf_sat_id);
drivers/macintosh/windfarm_smu_sat.c
34
struct i2c_client *i2c;
drivers/macintosh/windfarm_smu_sat.c
65
err = i2c_smbus_write_word_data(sat->i2c, 8, id << 8);
drivers/macintosh/windfarm_smu_sat.c
71
err = i2c_smbus_read_word_data(sat->i2c, 9);
drivers/macintosh/windfarm_smu_sat.c
89
err = i2c_smbus_read_i2c_block_data(sat->i2c, 0xa, 4, data);
drivers/media/cec/i2c/ch7322.c
151
struct i2c_client *i2c;
drivers/media/cec/i2c/ch7322.c
280
dev_err(&ch7322->i2c->dev, "cec receive error: %d\n", ret);
drivers/media/cec/i2c/ch7322.c
301
dev_err(&ch7322->i2c->dev, "phys addr error\n");
drivers/media/cec/i2c/ch7322.c
329
dev_dbg(&ch7322->i2c->dev, "unknown error\n");
drivers/media/cec/i2c/ch7322.c
480
ch7322->i2c = client;
drivers/media/cec/i2c/tda9950.c
492
MODULE_DEVICE_TABLE(i2c, tda9950_ids);
drivers/media/common/b2c2/flexcop-fe-tuner.c
171
struct i2c_adapter *i2c)
drivers/media/common/b2c2/flexcop-fe-tuner.c
175
fc->fe = dvb_attach(mt312_attach, &skystar23_samsung_tbdu18132_config, i2c);
drivers/media/common/b2c2/flexcop-fe-tuner.c
179
if (!dvb_attach(dvb_pll_attach, fc->fe, 0x61, i2c,
drivers/media/common/b2c2/flexcop-fe-tuner.c
284
struct i2c_adapter *i2c)
drivers/media/common/b2c2/flexcop-fe-tuner.c
286
fc->fe = dvb_attach(stv0299_attach, &samsung_tbmu24112_config, i2c);
drivers/media/common/b2c2/flexcop-fe-tuner.c
290
if (!dvb_attach(dvb_pll_attach, fc->fe, 0x61, i2c,
drivers/media/common/b2c2/flexcop-fe-tuner.c
318
struct i2c_adapter *i2c)
drivers/media/common/b2c2/flexcop-fe-tuner.c
326
i2c);
drivers/media/common/b2c2/flexcop-fe-tuner.c
384
struct i2c_adapter *i2c)
drivers/media/common/b2c2/flexcop-fe-tuner.c
389
i2c);
drivers/media/common/b2c2/flexcop-fe-tuner.c
445
struct i2c_adapter *i2c)
drivers/media/common/b2c2/flexcop-fe-tuner.c
447
fc->fe = dvb_attach(mt352_attach, &samsung_tdtc9251dh0_config, i2c);
drivers/media/common/b2c2/flexcop-fe-tuner.c
466
struct i2c_adapter *i2c)
drivers/media/common/b2c2/flexcop-fe-tuner.c
468
fc->fe = dvb_attach(bcm3510_attach, &air2pc_atsc_first_gen_config, i2c);
drivers/media/common/b2c2/flexcop-fe-tuner.c
482
struct i2c_adapter *i2c)
drivers/media/common/b2c2/flexcop-fe-tuner.c
484
fc->fe = dvb_attach(nxt200x_attach, &samsung_tbmv_config, i2c);
drivers/media/common/b2c2/flexcop-fe-tuner.c
504
struct i2c_adapter *i2c)
drivers/media/common/b2c2/flexcop-fe-tuner.c
507
0x59, i2c);
drivers/media/common/b2c2/flexcop-fe-tuner.c
511
return !!dvb_attach(simple_tuner_attach, fc->fe, i2c, 0x61,
drivers/media/common/b2c2/flexcop-fe-tuner.c
599
struct i2c_adapter *i2c)
drivers/media/common/b2c2/flexcop-fe-tuner.c
602
fc->fe = dvb_attach(stv0297_attach, &alps_tdee4_stv0297_config, i2c);
drivers/media/common/b2c2/flexcop-fe-tuner.c
638
struct i2c_adapter *i2c)
drivers/media/common/b2c2/flexcop-fe-tuner.c
641
&skystar2_rev3_3_cx24120_config, i2c);
drivers/media/common/b2c2/flexcop-i2c.c
107
int flexcop_i2c_request(struct flexcop_i2c_adapter *i2c,
drivers/media/common/b2c2/flexcop-i2c.c
120
i2c->port,
drivers/media/common/b2c2/flexcop-i2c.c
126
r100.tw_sm_c_100.twoWS_port_reg = i2c->port;
drivers/media/common/b2c2/flexcop-i2c.c
131
if (i2c->no_base_addr && len == 0 && op == FC_WRITE) {
drivers/media/common/b2c2/flexcop-i2c.c
145
ret = flexcop_i2c_read4(i2c, r100, p);
drivers/media/common/b2c2/flexcop-i2c.c
147
ret = flexcop_i2c_write4(i2c->fc, r100, p);
drivers/media/common/b2c2/flexcop-i2c.c
157
i2c->port,
drivers/media/common/b2c2/flexcop-i2c.c
170
struct flexcop_i2c_adapter *i2c = i2c_get_adapdata(i2c_adap);
drivers/media/common/b2c2/flexcop-i2c.c
180
if (mutex_lock_interruptible(&i2c->fc->i2c_mutex))
drivers/media/common/b2c2/flexcop-i2c.c
186
ret = i2c->fc->i2c_request(i2c, FC_READ, msgs[i].addr,
drivers/media/common/b2c2/flexcop-i2c.c
191
ret = i2c->fc->i2c_request(i2c, FC_WRITE, msgs[i].addr,
drivers/media/common/b2c2/flexcop-i2c.c
200
mutex_unlock(&i2c->fc->i2c_mutex);
drivers/media/common/b2c2/flexcop-i2c.c
42
static int flexcop_i2c_read4(struct flexcop_i2c_adapter *i2c,
drivers/media/common/b2c2/flexcop-i2c.c
59
if (i2c->fc->dev_type == FC_SKY_REV27)
drivers/media/common/b2c2/flexcop-i2c.c
60
r100.tw_sm_c_100.no_base_addr_ack_error = i2c->no_base_addr;
drivers/media/common/b2c2/flexcop-i2c.c
62
ret = flexcop_i2c_operation(i2c->fc, &r100);
drivers/media/common/b2c2/flexcop-i2c.c
65
r100.tw_sm_c_100.no_base_addr_ack_error = i2c->no_base_addr;
drivers/media/common/b2c2/flexcop-i2c.c
66
ret = flexcop_i2c_operation(i2c->fc, &r100);
drivers/media/common/b2c2/flexcop-i2c.c
76
r104 = i2c->fc->read_ibi_reg(i2c->fc, tw_sm_c_104);
drivers/media/dvb-frontends/a8293.c
262
MODULE_DEVICE_TABLE(i2c, a8293_id_table);
drivers/media/dvb-frontends/af9013.c
1559
MODULE_DEVICE_TABLE(i2c, af9013_id_table);
drivers/media/dvb-frontends/af9033.c
1179
MODULE_DEVICE_TABLE(i2c, af9033_id_table);
drivers/media/dvb-frontends/ascot2e.c
106
dev_dbg(&priv->i2c->dev, "ascot2e: I2C %s reg 0x%02x size %d\n",
drivers/media/dvb-frontends/ascot2e.c
127
dev_warn(&priv->i2c->dev,"wr reg=%04x: len=%d is too big!\n",
drivers/media/dvb-frontends/ascot2e.c
135
ret = i2c_transfer(priv->i2c, msg, 1);
drivers/media/dvb-frontends/ascot2e.c
139
dev_warn(&priv->i2c->dev,
drivers/media/dvb-frontends/ascot2e.c
172
ret = i2c_transfer(priv->i2c, &msg[0], 1);
drivers/media/dvb-frontends/ascot2e.c
176
dev_warn(&priv->i2c->dev,
drivers/media/dvb-frontends/ascot2e.c
181
ret = i2c_transfer(priv->i2c, &msg[1], 1);
drivers/media/dvb-frontends/ascot2e.c
185
dev_warn(&priv->i2c->dev,
drivers/media/dvb-frontends/ascot2e.c
218
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/ascot2e.c
233
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/ascot2e.c
246
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/ascot2e.c
254
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/ascot2e.c
263
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/ascot2e.c
306
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/ascot2e.c
31
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/ascot2e.c
320
dev_dbg(&priv->i2c->dev, "%s(): tune frequency %dkHz\n",
drivers/media/dvb-frontends/ascot2e.c
325
dev_dbg(&priv->i2c->dev, "%s(): unknown DTV system\n",
drivers/media/dvb-frontends/ascot2e.c
475
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/ascot2e.c
484
priv->i2c = i2c;
drivers/media/dvb-frontends/ascot2e.c
531
dev_info(&priv->i2c->dev,
drivers/media/dvb-frontends/ascot2e.c
533
priv->i2c_address, priv->i2c);
drivers/media/dvb-frontends/ascot2e.h
46
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/ascot2e.h
50
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/atbm8830.c
42
ret = i2c_transfer(priv->i2c, &msg1, 1);
drivers/media/dvb-frontends/atbm8830.c
451
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/atbm8830.c
458
if (config == NULL || i2c == NULL)
drivers/media/dvb-frontends/atbm8830.c
46
ret = i2c_transfer(priv->i2c, &msg2, 1);
drivers/media/dvb-frontends/atbm8830.c
466
priv->i2c = i2c;
drivers/media/dvb-frontends/atbm8830.c
64
ret = i2c_transfer(priv->i2c, &msg1, 1);
drivers/media/dvb-frontends/atbm8830.c
70
ret = i2c_transfer(priv->i2c, &msg2, 1);
drivers/media/dvb-frontends/atbm8830.h
52
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/atbm8830.h
56
struct i2c_adapter *i2c) {
drivers/media/dvb-frontends/atbm8830_priv.h
13
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/au8522.h
53
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/au8522.h
57
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/au8522_common.c
105
int au8522_get_state(struct au8522_state **state, struct i2c_adapter *i2c,
drivers/media/dvb-frontends/au8522_common.c
113
i2c, client_address, "au8522");
drivers/media/dvb-frontends/au8522_common.c
38
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/au8522_common.c
60
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/au8522_decoder.c
706
state->i2c = client->adapter;
drivers/media/dvb-frontends/au8522_decoder.c
774
MODULE_DEVICE_TABLE(i2c, au8522_id);
drivers/media/dvb-frontends/au8522_dig.c
834
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/au8522_dig.c
840
instance = au8522_get_state(&state, i2c, config->demod_address);
drivers/media/dvb-frontends/au8522_dig.c
857
state->i2c = i2c;
drivers/media/dvb-frontends/au8522_priv.h
40
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/au8522_priv.h
80
int au8522_get_state(struct au8522_state **state, struct i2c_adapter *i2c,
drivers/media/dvb-frontends/bcm3510.c
114
if ((err = i2c_transfer (state->i2c, msg, 2)) != 2) {
drivers/media/dvb-frontends/bcm3510.c
52
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/bcm3510.c
797
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/bcm3510.c
810
state->i2c = i2c;
drivers/media/dvb-frontends/bcm3510.c
94
if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) {
drivers/media/dvb-frontends/bcm3510.h
26
struct i2c_adapter* i2c);
drivers/media/dvb-frontends/bcm3510.h
29
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/bsbe1.h
62
struct i2c_adapter *i2c = fe->tuner_priv;
drivers/media/dvb-frontends/bsbe1.h
75
ret = i2c_transfer(i2c, &msg, 1);
drivers/media/dvb-frontends/bsru6.h
109
if (i2c_transfer(i2c, &msg, 1) != 1)
drivers/media/dvb-frontends/bsru6.h
93
struct i2c_adapter *i2c = fe->tuner_priv;
drivers/media/dvb-frontends/cx22700.c
22
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/cx22700.c
374
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/cx22700.c
384
state->i2c = i2c;
drivers/media/dvb-frontends/cx22700.c
66
ret = i2c_transfer (state->i2c, &msg, 1);
drivers/media/dvb-frontends/cx22700.c
85
ret = i2c_transfer (state->i2c, msg, 2);
drivers/media/dvb-frontends/cx22700.h
24
struct i2c_adapter* i2c);
drivers/media/dvb-frontends/cx22700.h
27
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/cx22702.c
104
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/cx22702.c
27
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/cx22702.c
580
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/cx22702.c
591
state->i2c = i2c;
drivers/media/dvb-frontends/cx22702.c
81
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/cx22702.h
34
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/cx22702.h
38
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/cx24110.c
109
if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) {
drivers/media/dvb-frontends/cx24110.c
126
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/cx24110.c
23
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/cx24110.c
585
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/cx24110.c
596
state->i2c = i2c;
drivers/media/dvb-frontends/cx24110.h
38
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/cx24110.h
41
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/cx24113.c
116
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/cx24113.c
32
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/cx24113.c
542
const struct cx24113_config *config, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/cx24113.c
553
state->i2c = i2c;
drivers/media/dvb-frontends/cx24113.c
95
int err = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/cx24113.h
21
const struct cx24113_config *config, struct i2c_adapter *i2c);
drivers/media/dvb-frontends/cx24113.h
26
const struct cx24113_config *config, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/cx24116.c
1111
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/cx24116.c
1124
state->i2c = i2c;
drivers/media/dvb-frontends/cx24116.c
174
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/cx24116.c
198
err = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/cx24116.c
232
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/cx24116.c
256
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/cx24116.c
481
state->i2c->dev.parent);
drivers/media/dvb-frontends/cx24116.h
34
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/cx24116.h
38
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/cx24117.c
1031
dev_dbg(&state->priv->i2c->dev, "%s: demod %d (",
drivers/media/dvb-frontends/cx24117.c
1034
dev_dbg(&state->priv->i2c->dev, "0x%02x ", d->msg[i]);
drivers/media/dvb-frontends/cx24117.c
1035
dev_dbg(&state->priv->i2c->dev, ")\n");
drivers/media/dvb-frontends/cx24117.c
1074
dev_dbg(&state->priv->i2c->dev, "%s() demod%d burst=%d\n",
drivers/media/dvb-frontends/cx24117.c
1111
dev_dbg(&state->priv->i2c->dev, "%s(%d) demod=%d\n",
drivers/media/dvb-frontends/cx24117.c
1128
struct i2c_adapter *i2c, u8 client_address)
drivers/media/dvb-frontends/cx24117.c
1134
hybrid_tuner_instance_list, i2c, client_address, "cx24117");
drivers/media/dvb-frontends/cx24117.c
1151
dev_dbg(&state->priv->i2c->dev, "%s demod%d\n",
drivers/media/dvb-frontends/cx24117.c
1160
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/cx24117.c
1167
demod = cx24117_get_priv(&priv, i2c, config->demod_address);
drivers/media/dvb-frontends/cx24117.c
1171
dev_err(&i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1177
priv->i2c = i2c;
drivers/media/dvb-frontends/cx24117.c
1194
dev_info(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1222
dev_dbg(&state->priv->i2c->dev, "%s() demod%d\n",
drivers/media/dvb-frontends/cx24117.c
1281
dev_dbg(&state->priv->i2c->dev, "%s() demod%d\n",
drivers/media/dvb-frontends/cx24117.c
1304
dev_dbg(&state->priv->i2c->dev, "%s() demod%d\n",
drivers/media/dvb-frontends/cx24117.c
1309
dev_dbg(&state->priv->i2c->dev, "%s() demod%d DVB-S\n",
drivers/media/dvb-frontends/cx24117.c
1314
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1328
dev_dbg(&state->priv->i2c->dev, "%s() demod%d DVB-S2\n",
drivers/media/dvb-frontends/cx24117.c
1336
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1353
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1375
dev_warn(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1383
dev_warn(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1411
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1413
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1415
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1417
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1420
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1422
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1425
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1427
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1430
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1489
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1511
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
1519
dev_dbg(&state->priv->i2c->dev, "%s() demod%d not tuned\n",
drivers/media/dvb-frontends/cx24117.c
1535
dev_dbg(&state->priv->i2c->dev, "%s() demod%d\n",
drivers/media/dvb-frontends/cx24117.c
187
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/cx24117.c
264
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
268
ret = i2c_transfer(state->priv->i2c, &msg, 1);
drivers/media/dvb-frontends/cx24117.c
270
dev_warn(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
285
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
296
ret = i2c_transfer(state->priv->i2c, &msg, 1);
drivers/media/dvb-frontends/cx24117.c
298
dev_warn(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
317
ret = i2c_transfer(state->priv->i2c, msg, 2);
drivers/media/dvb-frontends/cx24117.c
319
dev_warn(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
325
dev_dbg(&state->priv->i2c->dev, "%s() demod%d i2c rd @0x%02x=0x%02x\n",
drivers/media/dvb-frontends/cx24117.c
342
ret = i2c_transfer(state->priv->i2c, msg, 2);
drivers/media/dvb-frontends/cx24117.c
344
dev_warn(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
355
dev_dbg(&state->priv->i2c->dev, "%s(%d) demod%d\n",
drivers/media/dvb-frontends/cx24117.c
382
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
405
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
416
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
425
dev_dbg(&state->priv->i2c->dev, "%s(%d) demod%d\n",
drivers/media/dvb-frontends/cx24117.c
430
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
446
dev_dbg(&state->priv->i2c->dev, "%s() demod%d skip_fw_load=%d\n",
drivers/media/dvb-frontends/cx24117.c
456
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
460
state->priv->i2c->dev.parent);
drivers/media/dvb-frontends/cx24117.c
461
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
464
dev_err(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
476
dev_err(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
480
dev_info(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
500
dev_dbg(&state->priv->i2c->dev, "%s() demod%d\n",
drivers/media/dvb-frontends/cx24117.c
519
dev_warn(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
550
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
621
ret = i2c_transfer(state->priv->i2c, &msg, 1);
drivers/media/dvb-frontends/cx24117.c
722
dev_info(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
728
dev_err(&state->priv->i2c->dev, "%s() Error running FW.\n", __func__);
drivers/media/dvb-frontends/cx24117.c
742
dev_dbg(&state->priv->i2c->dev, "%s() demod%d status = 0x%02x\n",
drivers/media/dvb-frontends/cx24117.c
775
dev_dbg(&state->priv->i2c->dev, "%s() demod%d ber=0x%04x\n",
drivers/media/dvb-frontends/cx24117.c
807
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
828
dev_dbg(&state->priv->i2c->dev,
drivers/media/dvb-frontends/cx24117.c
860
dev_dbg(&state->priv->i2c->dev, "%s() demod%d ucb=0x%04x\n",
drivers/media/dvb-frontends/cx24117.c
881
dev_dbg(&state->priv->i2c->dev, "%s() demod%d qstatus = 0x%02x\n",
drivers/media/dvb-frontends/cx24117.c
892
dev_warn(&state->priv->i2c->dev, "%s: demod%d LNB not ready\n",
drivers/media/dvb-frontends/cx24117.c
906
dev_dbg(&state->priv->i2c->dev, "%s() demod%d %s\n",
drivers/media/dvb-frontends/cx24117.c
957
dev_dbg(&state->priv->i2c->dev, "%s(%d) demod%d\n",
drivers/media/dvb-frontends/cx24117.c
960
dev_warn(&state->priv->i2c->dev, "%s: demod%d invalid tone=%d\n",
drivers/media/dvb-frontends/cx24117.h
23
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/cx24117.h
27
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/cx24117.h
29
dev_warn(&i2c->dev, "%s: driver disabled by Kconfig\n", __func__);
drivers/media/dvb-frontends/cx24120.c
1049
dev_dbg(&state->i2c->dev, "(0x%02x,0x%02x)\n", mod, fec);
drivers/media/dvb-frontends/cx24120.c
1084
dev_dbg(&state->i2c->dev, "(%d)\n", pilot);
drivers/media/dvb-frontends/cx24120.c
1110
dev_dbg(&state->i2c->dev, "(%d)\n", rate);
drivers/media/dvb-frontends/cx24120.c
1143
dev_dbg(&state->i2c->dev, "DVB-S2\n");
drivers/media/dvb-frontends/cx24120.c
1146
dev_dbg(&state->i2c->dev, "DVB-S\n");
drivers/media/dvb-frontends/cx24120.c
1149
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/cx24120.c
1179
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/cx24120.c
1181
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/cx24120.c
1183
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/cx24120.c
1185
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/cx24120.c
1188
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/cx24120.c
1192
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/cx24120.c
1195
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/cx24120.c
1248
dev_dbg(&state->i2c->dev, "xtal=%d, vco=%d, inv_vco=%lld\n",
drivers/media/dvb-frontends/cx24120.c
131
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/cx24120.c
1317
dev_dbg(&state->i2c->dev, "requesting firmware (%s) to download...\n",
drivers/media/dvb-frontends/cx24120.c
1327
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/cx24120.c
1357
dev_dbg(&state->i2c->dev, "Firmware uploaded successfully\n");
drivers/media/dvb-frontends/cx24120.c
1410
dev_dbg(&state->i2c->dev, "Reset-readreg 0xba: %x\n", ret);
drivers/media/dvb-frontends/cx24120.c
1415
dev_dbg(&state->i2c->dev, "Tuner initialised correctly.\n");
drivers/media/dvb-frontends/cx24120.c
1476
dev_dbg(&state->i2c->dev, "(%d)\n", re_tune);
drivers/media/dvb-frontends/cx24120.c
1506
dev_dbg(&state->i2c->dev, "\n");
drivers/media/dvb-frontends/cx24120.c
1518
dev_dbg(&state->i2c->dev, "frequency = %d\n", c->frequency);
drivers/media/dvb-frontends/cx24120.c
1530
dev_dbg(&state->i2c->dev, "Clear state structure\n");
drivers/media/dvb-frontends/cx24120.c
180
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/cx24120.c
186
dev_dbg(&state->i2c->dev, "reg=0x%02x; data=0x%02x\n", reg, buf);
drivers/media/dvb-frontends/cx24120.c
203
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/cx24120.c
210
dev_dbg(&state->i2c->dev, "reg=0x%02x; data=0x%02x\n", reg, data);
drivers/media/dvb-frontends/cx24120.c
245
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/cx24120.c
251
dev_dbg(&state->i2c->dev, "reg=0x%02x; data=%*ph\n",
drivers/media/dvb-frontends/cx24120.c
265
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/cx24120.c
279
state->i2c = i2c;
drivers/media/dvb-frontends/cx24120.c
397
dev_dbg(&state->i2c->dev, "sent message 0x%02x\n", cmd->id);
drivers/media/dvb-frontends/cx24120.c
455
dev_dbg(&state->i2c->dev, "failed to %s MPEG output\n",
drivers/media/dvb-frontends/cx24120.c
461
dev_dbg(&state->i2c->dev, "MPEG output %s\n",
drivers/media/dvb-frontends/cx24120.c
492
dev_dbg(&state->i2c->dev, "\n");
drivers/media/dvb-frontends/cx24120.c
514
dev_dbg(&state->i2c->dev, "(%d)\n", tone);
drivers/media/dvb-frontends/cx24120.c
537
dev_dbg(&state->i2c->dev, "(%d)\n", voltage);
drivers/media/dvb-frontends/cx24120.c
554
dev_dbg(&state->i2c->dev, "\n");
drivers/media/dvb-frontends/cx24120.c
594
dev_dbg(&state->i2c->dev, "diseqc sequence sent\n");
drivers/media/dvb-frontends/cx24120.c
614
dev_dbg(&state->i2c->dev, "\n");
drivers/media/dvb-frontends/cx24120.c
632
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/cx24120.c
648
dev_dbg(&state->i2c->dev, "read SNR index = %d\n", cnr);
drivers/media/dvb-frontends/cx24120.c
677
dev_dbg(&state->i2c->dev, "read BER index = %d\n", ber);
drivers/media/dvb-frontends/cx24120.c
692
dev_dbg(&state->i2c->dev, "ucblocks = %d\n", ucb);
drivers/media/dvb-frontends/cx24120.c
716
dev_dbg(&state->i2c->dev, "status = 0x%02x\n", lock);
drivers/media/dvb-frontends/cx24120.c
806
dev_dbg(&state->i2c->dev, "raw fec = %d\n", fec);
drivers/media/dvb-frontends/cx24120.c
818
dev_dbg(&state->i2c->dev, "couldn't find fec!\n");
drivers/media/dvb-frontends/cx24120.c
827
dev_dbg(&state->i2c->dev, "mod(%d), fec(%d), pilot(%d)\n",
drivers/media/dvb-frontends/cx24120.c
853
dev_dbg(&state->i2c->dev, "bitrate: %u, berw_usecs: %u\n",
drivers/media/dvb-frontends/cx24120.c
954
dev_dbg(&state->i2c->dev, "m=%d, n=%d; idx: %d m=%d, n=%d, rate=%d\n",
drivers/media/dvb-frontends/cx24120.c
988
dev_dbg(&state->i2c->dev, "(%d)\n", inversion);
drivers/media/dvb-frontends/cx24120.h
37
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/cx24120.h
41
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/cx24123.c
1018
return i2c_transfer(state->i2c, msg, num);
drivers/media/dvb-frontends/cx24123.c
1042
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/cx24123.c
1056
state->i2c = i2c;
drivers/media/dvb-frontends/cx24123.c
1085
state->tuner_i2c_adapter.dev.parent = i2c->dev.parent;
drivers/media/dvb-frontends/cx24123.c
243
err = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/cx24123.c
262
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/cx24123.c
44
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/cx24123.h
31
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/cx24123.h
35
const struct cx24123_config *config, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/cxd2099.c
678
MODULE_DEVICE_TABLE(i2c, cxd2099_id);
drivers/media/dvb-frontends/cxd2820r.h
112
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/cxd2820r.h
118
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/cxd2820r_core.c
605
priv->i2c = client->adapter;
drivers/media/dvb-frontends/cxd2820r_core.c
729
MODULE_DEVICE_TABLE(i2c, cxd2820r_id_table);
drivers/media/dvb-frontends/cxd2820r_priv.h
31
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/cxd2841er.c
1004
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
1016
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1033
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
1052
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
1058
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1118
dev_dbg(&priv->i2c->dev, "%s(): status 0x%x\n", __func__, *status);
drivers/media/dvb-frontends/cxd2841er.c
1131
dev_dbg(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1150
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1186
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
1188
dev_dbg(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1193
dev_dbg(&priv->i2c->dev, "%s(): invalid delivery system %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1214
dev_dbg(&priv->i2c->dev, "%s(): invalid bandwidth %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1219
dev_dbg(&priv->i2c->dev, "%s(): bandwidth %d offset %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1230
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
1232
dev_dbg(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1237
dev_dbg(&priv->i2c->dev, "%s(): invalid delivery system %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1256
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
1258
dev_dbg(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1263
dev_dbg(&priv->i2c->dev, "%s(): invalid delivery system %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1284
dev_dbg(&priv->i2c->dev, "%s(): invalid bandwidth %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1296
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
1298
dev_dbg(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1303
dev_dbg(&priv->i2c->dev, "%s(): invalid delivery system %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1321
dev_dbg(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1339
dev_dbg(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1357
dev_dbg(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1375
dev_dbg(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1406
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
1408
dev_dbg(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1415
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1426
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1432
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1449
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
1451
dev_dbg(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
1463
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1471
dev_dbg(&priv->i2c->dev, "%s(): bit_error=%u bit_count=%u\n",
drivers/media/dvb-frontends/cxd2841er.c
1503
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1510
dev_dbg(&priv->i2c->dev, "%s(): no data available\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
1545
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1550
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1559
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1572
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1579
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1593
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1620
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1627
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1723
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1745
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1760
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1795
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1807
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1824
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1836
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1853
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1866
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1882
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1897
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1913
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
1942
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
1987
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
2038
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
2059
dev_dbg(&priv->i2c->dev, "%s(): unknown delivery system %d\n",
drivers/media/dvb-frontends/cxd2841er.c
2065
dev_dbg(&priv->i2c->dev, "%s(): snr=%d\n",
drivers/media/dvb-frontends/cxd2841er.c
207
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
2082
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
2102
dev_dbg(&priv->i2c->dev, "%s() ucblocks=%u\n", __func__, ucblocks);
drivers/media/dvb-frontends/cxd2841er.c
2114
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
2149
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
2152
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
229
dev_warn(&priv->i2c->dev, "wr reg=%04x: len=%d is too big!\n",
drivers/media/dvb-frontends/cxd2841er.c
238
ret = i2c_transfer(priv->i2c, msg, 1);
drivers/media/dvb-frontends/cxd2841er.c
242
dev_warn(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
2688
dev_dbg(&priv->i2c->dev, "%s() bandwidth=%u\n", __func__, bandwidth);
drivers/media/dvb-frontends/cxd2841er.c
2696
dev_err(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
278
ret = i2c_transfer(priv->i2c, msg, 2);
drivers/media/dvb-frontends/cxd2841er.c
2802
dev_dbg(&priv->i2c->dev, "%s(): invalid bandwidth %d\n",
drivers/media/dvb-frontends/cxd2841er.c
282
dev_warn(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
2824
dev_info(&priv->i2c->dev, "%s(): unsupported bandwidth %d. Forcing 8Mhz!\n",
drivers/media/dvb-frontends/cxd2841er.c
2829
dev_dbg(&priv->i2c->dev, "%s() bw=%d\n", __func__, bandwidth);
drivers/media/dvb-frontends/cxd2841er.c
2850
dev_err(&priv->i2c->dev, "%s(): unsupported bandwidth %d\n",
drivers/media/dvb-frontends/cxd2841er.c
2900
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
2974
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
3131
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
3207
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
3268
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
3307
dev_dbg(&priv->i2c->dev, "%s(): %s frequency=%d symbol_rate=%d xtal=%d\n",
drivers/media/dvb-frontends/cxd2841er.c
3324
dev_dbg(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
3330
dev_dbg(&priv->i2c->dev, "%s(): tune failed\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
3356
dev_dbg(&priv->i2c->dev, "%s(): carrier_offset=%d\n",
drivers/media/dvb-frontends/cxd2841er.c
3380
dev_dbg(&priv->i2c->dev, "%s() delivery_system=%d bandwidth_hz=%d\n",
drivers/media/dvb-frontends/cxd2841er.c
3389
dev_dbg(&priv->i2c->dev, "%s(): old_delsys=%d, new_delsys=%d -> sleep\n",
drivers/media/dvb-frontends/cxd2841er.c
3405
dev_dbg(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
3423
dev_dbg(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
3438
dev_dbg(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
3450
dev_dbg(&priv->i2c->dev, "%s(): forcing bandwidth to %d\n",
drivers/media/dvb-frontends/cxd2841er.c
3463
dev_dbg(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
3468
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
3495
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
3511
dev_dbg(&priv->i2c->dev, "%s() re_tune=%d\n", __func__, re_tune);
drivers/media/dvb-frontends/cxd2841er.c
3541
dev_dbg(&priv->i2c->dev, "%s(): re_tune %d bandwidth=%d\n", __func__,
drivers/media/dvb-frontends/cxd2841er.c
357
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
3578
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
3583
dev_dbg(&priv->i2c->dev, "%s(): carrier offset %d\n",
drivers/media/dvb-frontends/cxd2841er.c
3599
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
3609
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
3626
dev_warn(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
3632
dev_err(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
3643
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
365
dev_err(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
3656
dev_dbg(&priv->i2c->dev, "%s(): burst mode %s\n", __func__,
drivers/media/dvb-frontends/cxd2841er.c
3660
dev_err(&priv->i2c->dev, "%s(): invalid demod state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
3677
dev_dbg(&priv->i2c->dev, "%s(): tone %s\n", __func__,
drivers/media/dvb-frontends/cxd2841er.c
3681
dev_err(&priv->i2c->dev, "%s(): invalid demod state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
3700
dev_err(&priv->i2c->dev, "%s(): invalid demod state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
3704
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
3725
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
3731
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
3740
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
3748
dev_dbg(&priv->i2c->dev, "%s(): enable=%d\n", __func__, enable);
drivers/media/dvb-frontends/cxd2841er.c
3758
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
3785
dev_dbg(&priv->i2c->dev, "%s() forcing sleep->shutdown\n",
drivers/media/dvb-frontends/cxd2841er.c
3789
dev_dbg(&priv->i2c->dev, "%s() forcing active->sleep->shutdown\n",
drivers/media/dvb-frontends/cxd2841er.c
3795
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
3811
dev_dbg(&priv->i2c->dev, "%s() bandwidth_hz=%d\n",
drivers/media/dvb-frontends/cxd2841er.c
3838
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/cxd2841er.c
3850
priv->i2c = i2c;
drivers/media/dvb-frontends/cxd2841er.c
3857
dev_info(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
3859
__func__, priv->i2c,
drivers/media/dvb-frontends/cxd2841er.c
388
dev_err(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
3898
dev_err(&priv->i2c->dev, "%s(): invalid chip ID 0x%02x\n",
drivers/media/dvb-frontends/cxd2841er.c
3917
dev_info(&priv->i2c->dev,
drivers/media/dvb-frontends/cxd2841er.c
392
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
3920
dev_info(&priv->i2c->dev, "%s(): chip ID 0x%02x OK.\n",
drivers/media/dvb-frontends/cxd2841er.c
3926
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/cxd2841er.c
3928
return cxd2841er_attach(cfg, i2c, SYS_DVBS);
drivers/media/dvb-frontends/cxd2841er.c
3933
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/cxd2841er.c
3935
return cxd2841er_attach(cfg, i2c, 0);
drivers/media/dvb-frontends/cxd2841er.c
400
dev_err(&priv->i2c->dev, "%s(): invalid delsys %d\n",
drivers/media/dvb-frontends/cxd2841er.c
486
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
489
dev_dbg(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
519
dev_dbg(&priv->i2c->dev, "%s(): invalid delivery system %d\n",
drivers/media/dvb-frontends/cxd2841er.c
526
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
528
dev_err(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
54
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/cxd2841er.c
570
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
572
dev_dbg(&priv->i2c->dev, "%s(): invalid demod state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
594
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
596
dev_dbg(&priv->i2c->dev, "%s(): invalid demod state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
612
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
614
dev_err(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
648
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
650
dev_err(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
694
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
696
dev_err(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
733
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
735
dev_err(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
772
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
774
dev_dbg(&priv->i2c->dev, "%s(): invalid demod state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
801
dev_dbg(&priv->i2c->dev, "%s(): invalid demod xtal %d\n",
drivers/media/dvb-frontends/cxd2841er.c
832
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
834
dev_dbg(&priv->i2c->dev, "%s(): invalid demod state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
883
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
899
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
905
dev_dbg(&priv->i2c->dev, "%s(): ser_ts=0x%02x rate_ctrl_off=0x%02x in_off=0x%02x\n",
drivers/media/dvb-frontends/cxd2841er.c
959
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
974
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/cxd2841er.c
977
dev_err(&priv->i2c->dev, "%s(): invalid state %d\n",
drivers/media/dvb-frontends/cxd2841er.c
995
dev_dbg(&priv->i2c->dev, "%s(): result 0x%x\n", __func__, *status);
drivers/media/dvb-frontends/cxd2841er.h
41
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/cxd2841er.h
44
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/cxd2841er.h
48
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/cxd2841er.h
55
struct cxd2841er_config *cfg, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/dib0070.c
119
if (i2c_transfer(state->i2c, state->msg, 1) != 1) {
drivers/media/dvb-frontends/dib0070.c
39
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/dib0070.c
739
struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct dib0070_config *cfg)
drivers/media/dvb-frontends/dib0070.c
746
state->i2c = i2c;
drivers/media/dvb-frontends/dib0070.c
90
if (i2c_transfer(state->i2c, state->msg, 2) != 2) {
drivers/media/dvb-frontends/dib0070.h
49
extern struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct dib0070_config *cfg);
drivers/media/dvb-frontends/dib0070.h
55
static inline struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct dib0070_config *cfg)
drivers/media/dvb-frontends/dib0090.c
124
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/dib0090.c
188
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/dib0090.c
221
if (i2c_transfer(state->i2c, state->msg, 2) != 2) {
drivers/media/dvb-frontends/dib0090.c
251
if (i2c_transfer(state->i2c, state->msg, 1) != 1) {
drivers/media/dvb-frontends/dib0090.c
2607
struct dvb_frontend *dib0090_register(struct dvb_frontend *fe, struct i2c_adapter *i2c, const struct dib0090_config *config)
drivers/media/dvb-frontends/dib0090.c
2614
st->i2c = i2c;
drivers/media/dvb-frontends/dib0090.c
2639
struct dvb_frontend *dib0090_fw_register(struct dvb_frontend *fe, struct i2c_adapter *i2c, const struct dib0090_config *config)
drivers/media/dvb-frontends/dib0090.c
2646
st->i2c = i2c;
drivers/media/dvb-frontends/dib0090.c
277
if (i2c_transfer(state->i2c, &state->msg, 1) != 1) {
drivers/media/dvb-frontends/dib0090.c
305
if (i2c_transfer(state->i2c, &state->msg, 1) != 1) {
drivers/media/dvb-frontends/dib0090.h
100
static inline struct dvb_frontend *dib0090_fw_register(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct dib0090_config *config)
drivers/media/dvb-frontends/dib0090.h
76
extern struct dvb_frontend *dib0090_register(struct dvb_frontend *fe, struct i2c_adapter *i2c, const struct dib0090_config *config);
drivers/media/dvb-frontends/dib0090.h
77
extern struct dvb_frontend *dib0090_fw_register(struct dvb_frontend *fe, struct i2c_adapter *i2c, const struct dib0090_config *config);
drivers/media/dvb-frontends/dib0090.h
94
static inline struct dvb_frontend *dib0090_register(struct dvb_frontend *fe, struct i2c_adapter *i2c, const struct dib0090_config *config)
drivers/media/dvb-frontends/dib3000.h
42
struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops);
drivers/media/dvb-frontends/dib3000.h
45
struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops)
drivers/media/dvb-frontends/dib3000mb.c
60
if (i2c_transfer(state->i2c, msg, 2) != 2)
drivers/media/dvb-frontends/dib3000mb.c
744
struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops)
drivers/media/dvb-frontends/dib3000mb.c
754
state->i2c = i2c;
drivers/media/dvb-frontends/dib3000mb.c
80
return i2c_transfer(state->i2c,msg, 1) != 1 ? -EREMOTEIO : 0;
drivers/media/dvb-frontends/dib3000mb_priv.h
87
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/dib3000mc.c
856
int dib3000mc_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods, u8 default_addr, struct dib3000mc_config cfg[])
drivers/media/dvb-frontends/dib3000mc.c
868
dmcst->i2c_adap = i2c;
drivers/media/dvb-frontends/dib3000mc.h
43
extern int dib3000mc_i2c_enumeration(struct i2c_adapter *i2c,
drivers/media/dvb-frontends/dib3000mc.h
59
int dib3000mc_i2c_enumeration(struct i2c_adapter *i2c,
drivers/media/dvb-frontends/dib7000m.c
1353
int dib7000m_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods,
drivers/media/dvb-frontends/dib7000m.c
1356
struct dib7000m_state st = { .i2c_adap = i2c };
drivers/media/dvb-frontends/dib7000p.c
2078
static int dib7000p_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods, u8 default_addr, struct dib7000p_config cfg[])
drivers/media/dvb-frontends/dib7000p.c
2088
dpst->i2c_adap = i2c;
drivers/media/dvb-frontends/dib7000p.h
60
int (*i2c_enumeration)(struct i2c_adapter *i2c, int no_of_demods, u8 default_addr, struct dib7000p_config cfg[]);
drivers/media/dvb-frontends/dib8000.c
1036
if ((state->revision = dib8000_identify(&state->i2c)) == 0)
drivers/media/dvb-frontends/dib8000.c
145
static u16 dib8000_i2c_read16(struct i2c_device *i2c, u16 reg)
drivers/media/dvb-frontends/dib8000.c
149
{.addr = i2c->addr >> 1, .flags = 0, .len = 2},
drivers/media/dvb-frontends/dib8000.c
150
{.addr = i2c->addr >> 1, .flags = I2C_M_RD, .len = 2},
drivers/media/dvb-frontends/dib8000.c
153
if (mutex_lock_interruptible(i2c->i2c_buffer_lock) < 0) {
drivers/media/dvb-frontends/dib8000.c
158
msg[0].buf = i2c->i2c_write_buffer;
drivers/media/dvb-frontends/dib8000.c
161
msg[1].buf = i2c->i2c_read_buffer;
drivers/media/dvb-frontends/dib8000.c
163
if (i2c_transfer(i2c->adap, msg, 2) != 2)
drivers/media/dvb-frontends/dib8000.c
167
mutex_unlock(i2c->i2c_buffer_lock);
drivers/media/dvb-frontends/dib8000.c
179
state->msg[0].addr = state->i2c.addr >> 1;
drivers/media/dvb-frontends/dib8000.c
183
state->msg[1].addr = state->i2c.addr >> 1;
drivers/media/dvb-frontends/dib8000.c
188
if (i2c_transfer(state->i2c.adap, state->msg, 2) != 2)
drivers/media/dvb-frontends/dib8000.c
229
static int dib8000_i2c_write16(struct i2c_device *i2c, u16 reg, u16 val)
drivers/media/dvb-frontends/dib8000.c
231
struct i2c_msg msg = {.addr = i2c->addr >> 1, .flags = 0, .len = 4};
drivers/media/dvb-frontends/dib8000.c
234
if (mutex_lock_interruptible(i2c->i2c_buffer_lock) < 0) {
drivers/media/dvb-frontends/dib8000.c
239
msg.buf = i2c->i2c_write_buffer;
drivers/media/dvb-frontends/dib8000.c
245
ret = i2c_transfer(i2c->adap, &msg, 1) != 1 ? -EREMOTEIO : 0;
drivers/media/dvb-frontends/dib8000.c
246
mutex_unlock(i2c->i2c_buffer_lock);
drivers/media/dvb-frontends/dib8000.c
266
state->msg[0].addr = state->i2c.addr >> 1;
drivers/media/dvb-frontends/dib8000.c
271
ret = (i2c_transfer(state->i2c.adap, state->msg, 1) != 1 ?
drivers/media/dvb-frontends/dib8000.c
4459
state->i2c.adap = i2c_adap;
drivers/media/dvb-frontends/dib8000.c
4460
state->i2c.addr = i2c_addr;
drivers/media/dvb-frontends/dib8000.c
4461
state->i2c.i2c_write_buffer = state->i2c_write_buffer;
drivers/media/dvb-frontends/dib8000.c
4462
state->i2c.i2c_read_buffer = state->i2c_read_buffer;
drivers/media/dvb-frontends/dib8000.c
4464
state->i2c.i2c_buffer_lock = &state->i2c_buffer_lock;
drivers/media/dvb-frontends/dib8000.c
4480
if (dib8000_identify(&state->i2c) == 0) {
drivers/media/dvb-frontends/dib8000.c
4485
dibx000_init_i2c_master(&state->i2c_master, DIB8000, state->i2c.adap, state->i2c.addr);
drivers/media/dvb-frontends/dib8000.c
4492
state->dib8096p_tuner_adap.dev.parent = state->i2c.adap->dev.parent;
drivers/media/dvb-frontends/dib8000.c
68
struct i2c_device i2c;
drivers/media/dvb-frontends/dib9000.c
1745
int dib9000_set_i2c_adapter(struct dvb_frontend *fe, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/dib9000.c
1749
st->i2c.i2c_adap = i2c;
drivers/media/dvb-frontends/dib9000.c
2375
int dib9000_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods, u8 default_addr, u8 first_addr)
drivers/media/dvb-frontends/dib9000.c
2379
struct i2c_device client = {.i2c_adap = i2c };
drivers/media/dvb-frontends/dib9000.c
243
state->msg[0].addr = state->i2c.i2c_addr >> 1;
drivers/media/dvb-frontends/dib9000.c
247
state->msg[1].addr = state->i2c.i2c_addr >> 1;
drivers/media/dvb-frontends/dib9000.c
2487
st->i2c.i2c_adap = i2c_adap;
drivers/media/dvb-frontends/dib9000.c
2488
st->i2c.i2c_addr = i2c_addr;
drivers/media/dvb-frontends/dib9000.c
2489
st->i2c.i2c_write_buffer = st->i2c_write_buffer;
drivers/media/dvb-frontends/dib9000.c
2490
st->i2c.i2c_read_buffer = st->i2c_read_buffer;
drivers/media/dvb-frontends/dib9000.c
2515
if (dib9000_identify(&st->i2c) == 0)
drivers/media/dvb-frontends/dib9000.c
2518
dibx000_init_i2c_master(&st->i2c_master, DIB7000MC, st->i2c.i2c_adap, st->i2c.i2c_addr);
drivers/media/dvb-frontends/dib9000.c
264
ret = i2c_transfer(state->i2c.i2c_adap, state->msg, 2) != 2 ? -EREMOTEIO : 0;
drivers/media/dvb-frontends/dib9000.c
280
static u16 dib9000_i2c_read16(struct i2c_device *i2c, u16 reg)
drivers/media/dvb-frontends/dib9000.c
283
{.addr = i2c->i2c_addr >> 1, .flags = 0,
drivers/media/dvb-frontends/dib9000.c
284
.buf = i2c->i2c_write_buffer, .len = 2},
drivers/media/dvb-frontends/dib9000.c
285
{.addr = i2c->i2c_addr >> 1, .flags = I2C_M_RD,
drivers/media/dvb-frontends/dib9000.c
286
.buf = i2c->i2c_read_buffer, .len = 2},
drivers/media/dvb-frontends/dib9000.c
289
i2c->i2c_write_buffer[0] = reg >> 8;
drivers/media/dvb-frontends/dib9000.c
290
i2c->i2c_write_buffer[1] = reg & 0xff;
drivers/media/dvb-frontends/dib9000.c
292
if (i2c_transfer(i2c->i2c_adap, msg, 2) != 2) {
drivers/media/dvb-frontends/dib9000.c
297
return (i2c->i2c_read_buffer[0] << 8) | i2c->i2c_read_buffer[1];
drivers/media/dvb-frontends/dib9000.c
331
state->msg[0].addr = state->i2c.i2c_addr >> 1;
drivers/media/dvb-frontends/dib9000.c
349
ret = i2c_transfer(state->i2c.i2c_adap, state->msg, 1) != 1 ? -EREMOTEIO : 0;
drivers/media/dvb-frontends/dib9000.c
361
static int dib9000_i2c_write16(struct i2c_device *i2c, u16 reg, u16 val)
drivers/media/dvb-frontends/dib9000.c
364
.addr = i2c->i2c_addr >> 1, .flags = 0,
drivers/media/dvb-frontends/dib9000.c
365
.buf = i2c->i2c_write_buffer, .len = 4
drivers/media/dvb-frontends/dib9000.c
368
i2c->i2c_write_buffer[0] = (reg >> 8) & 0xff;
drivers/media/dvb-frontends/dib9000.c
369
i2c->i2c_write_buffer[1] = reg & 0xff;
drivers/media/dvb-frontends/dib9000.c
370
i2c->i2c_write_buffer[2] = (val >> 8) & 0xff;
drivers/media/dvb-frontends/dib9000.c
371
i2c->i2c_write_buffer[3] = val & 0xff;
drivers/media/dvb-frontends/dib9000.c
373
return i2c_transfer(i2c->i2c_adap, &msg, 1) != 1 ? -EREMOTEIO : 0;
drivers/media/dvb-frontends/dib9000.c
49
struct i2c_device i2c;
drivers/media/dvb-frontends/dib9000.c
972
switch ((state->revision = dib9000_identify(&state->i2c))) {
drivers/media/dvb-frontends/dib9000.h
112
static inline int dib9000_set_i2c_adapter(struct dvb_frontend *fe, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/dib9000.h
43
extern int dib9000_set_i2c_adapter(struct dvb_frontend *fe, struct i2c_adapter *i2c);
drivers/media/dvb-frontends/dibx000_common.c
381
struct i2c_adapter *i2c = NULL;
drivers/media/dvb-frontends/dibx000_common.c
386
i2c = &mst->gated_tuner_i2c_adap;
drivers/media/dvb-frontends/dibx000_common.c
390
i2c = &mst->master_i2c_adap_gpio12;
drivers/media/dvb-frontends/dibx000_common.c
394
i2c = &mst->master_i2c_adap_gpio34;
drivers/media/dvb-frontends/dibx000_common.c
398
i2c = &mst->master_i2c_adap_gpio67;
drivers/media/dvb-frontends/dibx000_common.c
405
return i2c;
drivers/media/dvb-frontends/drx39xyj/drx39xxj.h
16
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/drx39xyj/drx39xxj.h
24
struct dvb_frontend *drx39xxj_attach(struct i2c_adapter *i2c);
drivers/media/dvb-frontends/drx39xyj/drx39xxj.h
26
static inline struct dvb_frontend *drx39xxj_attach(struct i2c_adapter *i2c) {
drivers/media/dvb-frontends/drx39xyj/drx_driver.h
1911
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/drx39xyj/drxj.c
11752
rc = request_firmware(&fw, mc_file, demod->i2c->dev.parent);
drivers/media/dvb-frontends/drx39xyj/drxj.c
12268
struct dvb_frontend *drx39xxj_attach(struct i2c_adapter *i2c)
drivers/media/dvb-frontends/drx39xyj/drxj.c
12304
state->i2c = i2c;
drivers/media/dvb-frontends/drx39xyj/drxj.c
12317
demod->i2c = i2c;
drivers/media/dvb-frontends/drx39xyj/drxj.c
1342
if (state->i2c == NULL) {
drivers/media/dvb-frontends/drx39xyj/drxj.c
1346
if (i2c_transfer(state->i2c, msg, num_msgs) != num_msgs) {
drivers/media/dvb-frontends/drx39xyj/drxj.c
1357
if (state->i2c == NULL)
drivers/media/dvb-frontends/drx39xyj/drxj.c
1371
w_dev_addr->i2c_addr, state->i2c, w_count, r_count);
drivers/media/dvb-frontends/drx39xyj/drxj.c
1373
if (i2c_transfer(state->i2c, msg, 2) != 2) {
drivers/media/dvb-frontends/drxd.h
41
void *priv, struct i2c_adapter *i2c,
drivers/media/dvb-frontends/drxd.h
46
void *priv, struct i2c_adapter *i2c,
drivers/media/dvb-frontends/drxd_hard.c
108
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/drxd_hard.c
232
if (i2c_read(state->i2c, adr, mm1, 4, mm2, 2) < 0)
drivers/media/dvb-frontends/drxd_hard.c
247
if (i2c_read(state->i2c, adr, mm1, 4, mm2, 4) < 0)
drivers/media/dvb-frontends/drxd_hard.c
263
if (i2c_write(state->i2c, adr, mm, 6) < 0)
drivers/media/dvb-frontends/drxd_hard.c
277
if (i2c_write(state->i2c, adr, mm, 8) < 0)
drivers/media/dvb-frontends/drxd_hard.c
2908
void *priv, struct i2c_adapter *i2c,
drivers/media/dvb-frontends/drxd_hard.c
2920
state->i2c = i2c;
drivers/media/dvb-frontends/drxd_hard.c
293
if (i2c_write(state->i2c, adr, mm, 4 + len) < 0) {
drivers/media/dvb-frontends/drxk.h
65
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/drxk.h
68
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/drxk_hard.c
193
i2c_lock_bus(state->i2c, I2C_LOCK_SEGMENT);
drivers/media/dvb-frontends/drxk_hard.c
204
i2c_unlock_bus(state->i2c, I2C_LOCK_SEGMENT);
drivers/media/dvb-frontends/drxk_hard.c
212
return __i2c_transfer(state->i2c, msgs, len);
drivers/media/dvb-frontends/drxk_hard.c
214
return i2c_transfer(state->i2c, msgs, len);
drivers/media/dvb-frontends/drxk_hard.c
6717
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/drxk_hard.c
6729
state->i2c = i2c;
drivers/media/dvb-frontends/drxk_hard.c
6780
state->i2c->dev.parent);
drivers/media/dvb-frontends/drxk_hard.h
216
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/ds3000.c
221
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/ds3000.c
237
err = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/ds3000.c
283
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/ds3000.c
318
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/ds3000.c
350
state->i2c->dev.parent);
drivers/media/dvb-frontends/ds3000.c
822
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/ds3000.c
835
state->i2c = i2c;
drivers/media/dvb-frontends/ds3000.h
27
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/ds3000.h
31
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/dvb-pll.c
27
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/dvb-pll.c
355
result = i2c_transfer(priv->i2c, &msg, 1);
drivers/media/dvb-frontends/dvb-pll.c
425
result = i2c_transfer(priv->i2c, &msg, 1);
drivers/media/dvb-frontends/dvb-pll.c
644
if (priv->i2c == NULL)
drivers/media/dvb-frontends/dvb-pll.c
657
if ((result = i2c_transfer(priv->i2c, &msg, 1)) != 1) {
drivers/media/dvb-frontends/dvb-pll.c
677
if (priv->i2c == NULL)
drivers/media/dvb-frontends/dvb-pll.c
688
if ((result = i2c_transfer(priv->i2c, &msg, 1)) != 1) {
drivers/media/dvb-frontends/dvb-pll.c
741
if (priv->i2c == NULL)
drivers/media/dvb-frontends/dvb-pll.c
753
result = i2c_transfer(priv->i2c, &msg, 1);
drivers/media/dvb-frontends/dvb-pll.c
761
result = i2c_transfer(priv->i2c, &msg, 1);
drivers/media/dvb-frontends/dvb-pll.c
782
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/dvb-pll.c
812
if (i2c != NULL) {
drivers/media/dvb-frontends/dvb-pll.c
816
ret = i2c_transfer (i2c, &msg, 1);
drivers/media/dvb-frontends/dvb-pll.c
828
priv->i2c = i2c;
drivers/media/dvb-frontends/dvb-pll.c
853
if (i2c != NULL)
drivers/media/dvb-frontends/dvb-pll.c
854
pr_cont(" %d-%04x", i2c_adapter_id(i2c), pll_addr);
drivers/media/dvb-frontends/dvb-pll.c
939
MODULE_DEVICE_TABLE(i2c, dvb_pll_id);
drivers/media/dvb-frontends/dvb-pll.h
52
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/dvb-pll.h
57
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/ec100.c
12
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/ec100.c
149
dev_dbg(&state->i2c->dev, "%s: failed=%d\n", __func__, ret);
drivers/media/dvb-frontends/ec100.c
195
dev_dbg(&state->i2c->dev, "%s: failed=%d\n", __func__, ret);
drivers/media/dvb-frontends/ec100.c
227
dev_dbg(&state->i2c->dev, "%s: failed=%d\n", __func__, ret);
drivers/media/dvb-frontends/ec100.c
247
dev_dbg(&state->i2c->dev, "%s: failed=%d\n", __func__, ret);
drivers/media/dvb-frontends/ec100.c
272
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/ec100.c
284
state->i2c = i2c;
drivers/media/dvb-frontends/ec100.c
33
ret = i2c_transfer(state->i2c, msg, 1);
drivers/media/dvb-frontends/ec100.c
37
dev_warn(&state->i2c->dev, "%s: i2c wr failed=%d reg=%02x\n",
drivers/media/dvb-frontends/ec100.c
63
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/ec100.c
67
dev_warn(&state->i2c->dev, "%s: i2c rd failed=%d reg=%02x\n",
drivers/media/dvb-frontends/ec100.c
82
dev_dbg(&state->i2c->dev, "%s: frequency=%d bandwidth_hz=%d\n",
drivers/media/dvb-frontends/ec100.h
21
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/ec100.h
24
const struct ec100_config *config, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/helene.c
1004
priv->i2c = i2c;
drivers/media/dvb-frontends/helene.c
1023
dev_info(&priv->i2c->dev,
drivers/media/dvb-frontends/helene.c
1025
priv->i2c_address, priv->i2c);
drivers/media/dvb-frontends/helene.c
1032
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/helene.c
1040
priv->i2c = i2c;
drivers/media/dvb-frontends/helene.c
1059
dev_info(&priv->i2c->dev,
drivers/media/dvb-frontends/helene.c
1061
priv->i2c_address, priv->i2c);
drivers/media/dvb-frontends/helene.c
1078
priv->i2c = client->adapter;
drivers/media/dvb-frontends/helene.c
1098
priv->i2c_address, priv->i2c);
drivers/media/dvb-frontends/helene.c
1107
MODULE_DEVICE_TABLE(i2c, helene_id);
drivers/media/dvb-frontends/helene.c
281
dev_dbg(&priv->i2c->dev, "helene: I2C %s reg 0x%02x size %d\n",
drivers/media/dvb-frontends/helene.c
30
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/helene.c
302
dev_warn(&priv->i2c->dev,
drivers/media/dvb-frontends/helene.c
311
ret = i2c_transfer(priv->i2c, msg, 1);
drivers/media/dvb-frontends/helene.c
315
dev_warn(&priv->i2c->dev,
drivers/media/dvb-frontends/helene.c
348
ret = i2c_transfer(priv->i2c, &msg[0], 1);
drivers/media/dvb-frontends/helene.c
352
dev_warn(&priv->i2c->dev,
drivers/media/dvb-frontends/helene.c
357
ret = i2c_transfer(priv->i2c, &msg[1], 1);
drivers/media/dvb-frontends/helene.c
361
dev_warn(&priv->i2c->dev,
drivers/media/dvb-frontends/helene.c
392
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/helene.c
408
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/helene.c
426
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/helene.c
434
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/helene.c
443
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/helene.c
503
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/helene.c
521
dev_dbg(&priv->i2c->dev, "%s(): tune frequency %dkHz sr=%uKsps\n",
drivers/media/dvb-frontends/helene.c
526
dev_err(&priv->i2c->dev, "%s(): unknown DTV system\n",
drivers/media/dvb-frontends/helene.c
572
dev_err(&priv->i2c->dev, "%s(): unknown xtal %d\n",
drivers/media/dvb-frontends/helene.c
630
dev_err(&priv->i2c->dev, "%s(): unknown standard %d\n",
drivers/media/dvb-frontends/helene.c
653
dev_dbg(&priv->i2c->dev, "%s(): tune done\n",
drivers/media/dvb-frontends/helene.c
669
dev_dbg(&priv->i2c->dev, "%s(): tune frequency %dkHz\n",
drivers/media/dvb-frontends/helene.c
674
dev_dbg(&priv->i2c->dev, "%s(): unknown DTV system\n",
drivers/media/dvb-frontends/helene.c
822
dev_dbg(&priv->i2c->dev, "%s(): tune done\n",
drivers/media/dvb-frontends/helene.c
958
dev_err(&priv->i2c->dev,
drivers/media/dvb-frontends/helene.c
988
dev_info(&priv->i2c->dev,
drivers/media/dvb-frontends/helene.c
996
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/helene.h
57
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/helene.h
70
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/helene.h
74
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/helene.h
81
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/horus3a.c
119
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/horus3a.c
143
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/horus3a.c
151
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/horus3a.c
160
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/horus3a.c
179
dev_dbg(&priv->i2c->dev, "%s(): frequency %dkHz symbol_rate %dksps\n",
drivers/media/dvb-frontends/horus3a.c
198
dev_err(&priv->i2c->dev, "horus3a: invalid frequency %d\n",
drivers/media/dvb-frontends/horus3a.c
286
dev_err(&priv->i2c->dev,
drivers/media/dvb-frontends/horus3a.c
31
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/horus3a.c
337
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/horus3a.c
346
priv->i2c = i2c;
drivers/media/dvb-frontends/horus3a.c
377
dev_warn(&priv->i2c->dev,
drivers/media/dvb-frontends/horus3a.c
393
dev_info(&priv->i2c->dev,
drivers/media/dvb-frontends/horus3a.c
395
priv->i2c_address, priv->i2c);
drivers/media/dvb-frontends/horus3a.c
40
dev_dbg(&priv->i2c->dev, "horus3a: I2C %s reg 0x%02x size %d\n",
drivers/media/dvb-frontends/horus3a.c
61
dev_warn(&priv->i2c->dev,"wr reg=%04x: len=%d is too big!\n",
drivers/media/dvb-frontends/horus3a.c
69
ret = i2c_transfer(priv->i2c, msg, 1);
drivers/media/dvb-frontends/horus3a.c
73
dev_warn(&priv->i2c->dev,
drivers/media/dvb-frontends/horus3a.c
92
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/horus3a.h
46
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/horus3a.h
50
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/isl6405.c
106
struct dvb_frontend *isl6405_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c,
drivers/media/dvb-frontends/isl6405.c
118
isl6405->i2c = i2c;
drivers/media/dvb-frontends/isl6405.c
25
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/isl6405.c
69
return (i2c_transfer(isl6405->i2c, &msg, 1) == 1) ? 0 : -EIO;
drivers/media/dvb-frontends/isl6405.c
93
return (i2c_transfer(isl6405->i2c, &msg, 1) == 1) ? 0 : -EIO;
drivers/media/dvb-frontends/isl6405.h
45
extern struct dvb_frontend *isl6405_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c,
drivers/media/dvb-frontends/isl6405.h
49
struct i2c_adapter *i2c, u8 i2c_addr,
drivers/media/dvb-frontends/isl6421.c
109
ret = i2c_transfer(isl6421->i2c, msg, 1);
drivers/media/dvb-frontends/isl6421.c
116
dev_warn(&isl6421->i2c->dev,
drivers/media/dvb-frontends/isl6421.c
139
return (i2c_transfer(isl6421->i2c, &msg, 1) == 1) ? 0 : -EIO;
drivers/media/dvb-frontends/isl6421.c
164
return (i2c_transfer(isl6421->i2c, &msg, 1) == 1) ? 0 : -EIO;
drivers/media/dvb-frontends/isl6421.c
177
struct dvb_frontend *isl6421_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 i2c_addr,
drivers/media/dvb-frontends/isl6421.c
186
isl6421->i2c = i2c;
drivers/media/dvb-frontends/isl6421.c
25
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/isl6421.c
81
ret = i2c_transfer(isl6421->i2c, msg, 2);
drivers/media/dvb-frontends/isl6421.c
99
ret = i2c_transfer(isl6421->i2c, msg, 2);
drivers/media/dvb-frontends/isl6421.h
27
extern struct dvb_frontend *isl6421_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 i2c_addr,
drivers/media/dvb-frontends/isl6421.h
30
static inline struct dvb_frontend *isl6421_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 i2c_addr,
drivers/media/dvb-frontends/isl6423.c
256
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/isl6423.c
266
isl6423->i2c = i2c;
drivers/media/dvb-frontends/isl6423.c
48
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/isl6423.c
58
struct i2c_adapter *i2c = isl6423->i2c;
drivers/media/dvb-frontends/isl6423.c
65
err = i2c_transfer(i2c, &msg, 1);
drivers/media/dvb-frontends/isl6423.h
37
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/isl6423.h
42
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/itd1000.c
363
struct dvb_frontend *itd1000_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct itd1000_config *cfg)
drivers/media/dvb-frontends/itd1000.c
373
state->i2c = i2c;
drivers/media/dvb-frontends/itd1000.c
61
if (i2c_transfer(state->i2c, &msg, 1) != 1) {
drivers/media/dvb-frontends/itd1000.c
79
if (i2c_transfer(state->i2c, msg, 2) != 2) {
drivers/media/dvb-frontends/itd1000.h
19
extern struct dvb_frontend *itd1000_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct itd1000_config *cfg);
drivers/media/dvb-frontends/itd1000.h
21
static inline struct dvb_frontend *itd1000_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct itd1000_config *cfg)
drivers/media/dvb-frontends/itd1000_priv.h
13
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/ix2505v.c
25
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/ix2505v.c
260
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/ix2505v.c
275
state->i2c = i2c;
drivers/media/dvb-frontends/ix2505v.c
59
ret = i2c_transfer(state->i2c, msg, 1);
drivers/media/dvb-frontends/ix2505v.c
74
ret = i2c_transfer(state->i2c, msg, 1);
drivers/media/dvb-frontends/ix2505v.h
43
const struct ix2505v_config *config, struct i2c_adapter *i2c);
drivers/media/dvb-frontends/ix2505v.h
46
const struct ix2505v_config *config, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/l64781.c
105
return (i2c_transfer(state->i2c, &msg, 1) == 1) ? 0 : -ENODEV;
drivers/media/dvb-frontends/l64781.c
21
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/l64781.c
46
if ((ret = i2c_transfer(state->i2c, &msg, 1)) != 1)
drivers/media/dvb-frontends/l64781.c
490
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/l64781.c
505
state->i2c = i2c;
drivers/media/dvb-frontends/l64781.c
518
if (i2c_transfer(state->i2c, msg, 2) != 2) {
drivers/media/dvb-frontends/l64781.c
61
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/l64781.h
24
struct i2c_adapter* i2c);
drivers/media/dvb-frontends/l64781.h
27
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/lgdt3306a.c
2250
MODULE_DEVICE_TABLE(i2c, lgdt3306a_id_table);
drivers/media/dvb-frontends/lgdt330x.c
915
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/lgdt330x.c
924
client = i2c_new_client_device(i2c, &board_info);
drivers/media/dvb-frontends/lgdt330x.c
989
MODULE_DEVICE_TABLE(i2c, lgdt330x_id_table);
drivers/media/dvb-frontends/lgdt330x.h
48
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/lgdt330x.h
53
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/lgs8gl5.c
101
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/lgs8gl5.c
148
ret = i2c_transfer(state->i2c, msg, 3);
drivers/media/dvb-frontends/lgs8gl5.c
371
lgs8gl5_attach(const struct lgs8gl5_config *config, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/lgs8gl5.c
384
state->i2c = i2c;
drivers/media/dvb-frontends/lgs8gl5.c
44
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/lgs8gl5.c
71
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/lgs8gl5.h
23
const struct lgs8gl5_config *config, struct i2c_adapter *i2c);
drivers/media/dvb-frontends/lgs8gl5.h
26
const struct lgs8gl5_config *config, struct i2c_adapter *i2c) {
drivers/media/dvb-frontends/lgs8gxx.c
1005
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/lgs8gxx.c
1012
if (config == NULL || i2c == NULL)
drivers/media/dvb-frontends/lgs8gxx.c
1020
priv->i2c = i2c;
drivers/media/dvb-frontends/lgs8gxx.c
53
ret = i2c_transfer(priv->i2c, &msg, 1);
drivers/media/dvb-frontends/lgs8gxx.c
583
rc = request_firmware(&fw, LGS8GXX_FIRMWARE, &priv->i2c->dev);
drivers/media/dvb-frontends/lgs8gxx.c
79
ret = i2c_transfer(priv->i2c, msg, 2);
drivers/media/dvb-frontends/lgs8gxx.h
70
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/lgs8gxx.h
74
struct i2c_adapter *i2c) {
drivers/media/dvb-frontends/lgs8gxx_priv.h
16
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/lnbh24.h
28
struct i2c_adapter *i2c, u8 override_set,
drivers/media/dvb-frontends/lnbh24.h
32
struct i2c_adapter *i2c, u8 override_set,
drivers/media/dvb-frontends/lnbh25.c
112
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/lnbh25.c
116
ret = i2c_transfer(priv->i2c, &msg, 1);
drivers/media/dvb-frontends/lnbh25.c
120
dev_err(&priv->i2c->dev, "%s(): I2C transfer error (%d)\n",
drivers/media/dvb-frontends/lnbh25.c
138
dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/lnbh25.c
146
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/lnbh25.c
150
dev_dbg(&i2c->dev, "%s()\n", __func__);
drivers/media/dvb-frontends/lnbh25.c
155
priv->i2c = i2c;
drivers/media/dvb-frontends/lnbh25.c
161
dev_err(&i2c->dev,
drivers/media/dvb-frontends/lnbh25.c
172
dev_info(&i2c->dev, "%s(): attached at I2C addr 0x%02x\n",
drivers/media/dvb-frontends/lnbh25.c
30
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/lnbh25.c
60
ret = i2c_transfer(priv->i2c, &msg[i], 1);
drivers/media/dvb-frontends/lnbh25.c
64
dev_dbg(&priv->i2c->dev,
drivers/media/dvb-frontends/lnbh25.c
70
dev_dbg(&priv->i2c->dev, "%s(): %*ph\n",
drivers/media/dvb-frontends/lnbh25.c
73
dev_err(&priv->i2c->dev,
drivers/media/dvb-frontends/lnbh25.h
34
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/lnbh25.h
39
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/lnbh29.c
107
ret = i2c_transfer(priv->i2c, &msg, 1);
drivers/media/dvb-frontends/lnbh29.c
111
dev_err(&priv->i2c->dev, "LNBH29 I2C transfer error (%d)\n",
drivers/media/dvb-frontends/lnbh29.c
134
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/lnbh29.c
143
priv->i2c = i2c;
drivers/media/dvb-frontends/lnbh29.c
149
dev_err(&i2c->dev, "no LNBH29 found at I2C addr 0x%02x\n",
drivers/media/dvb-frontends/lnbh29.c
159
dev_info(&i2c->dev, "LNBH29 attached at I2C addr 0x%02x\n",
drivers/media/dvb-frontends/lnbh29.c
23
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/lnbh29.c
59
ret = i2c_transfer(priv->i2c, msg, 2);
drivers/media/dvb-frontends/lnbh29.c
63
dev_dbg(&priv->i2c->dev, "LNBH29 I2C transfer failed (%d)\n",
drivers/media/dvb-frontends/lnbh29.c
69
dev_err(&priv->i2c->dev,
drivers/media/dvb-frontends/lnbh29.h
25
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/lnbh29.h
29
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/lnbp21.c
113
struct i2c_adapter *i2c, u8 override_set,
drivers/media/dvb-frontends/lnbp21.c
122
lnbp21->i2c = i2c;
drivers/media/dvb-frontends/lnbp21.c
152
struct i2c_adapter *i2c, u8 override_set,
drivers/media/dvb-frontends/lnbp21.c
155
return lnbx2x_attach(fe, i2c, override_set, override_clear,
drivers/media/dvb-frontends/lnbp21.c
161
struct i2c_adapter *i2c, u8 override_set,
drivers/media/dvb-frontends/lnbp21.c
164
return lnbx2x_attach(fe, i2c, override_set, override_clear,
drivers/media/dvb-frontends/lnbp21.c
26
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/lnbp21.c
56
return (i2c_transfer(lnbp21->i2c, &msg, 1) == 1) ? 0 : -EIO;
drivers/media/dvb-frontends/lnbp21.c
74
return (i2c_transfer(lnbp21->i2c, &msg, 1) == 1) ? 0 : -EIO;
drivers/media/dvb-frontends/lnbp21.c
99
return (i2c_transfer(lnbp21->i2c, &msg, 1) == 1) ? 0 : -EIO;
drivers/media/dvb-frontends/lnbp21.h
45
struct i2c_adapter *i2c, u8 override_set,
drivers/media/dvb-frontends/lnbp21.h
49
struct i2c_adapter *i2c, u8 override_set,
drivers/media/dvb-frontends/lnbp22.c
108
lnbp22->i2c = i2c;
drivers/media/dvb-frontends/lnbp22.c
31
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/lnbp22.c
63
return (i2c_transfer(lnbp22->i2c, &msg, 1) == 1) ? 0 : -EIO;
drivers/media/dvb-frontends/lnbp22.c
82
return (i2c_transfer(lnbp22->i2c, &msg, 1) == 1) ? 0 : -EIO;
drivers/media/dvb-frontends/lnbp22.c
97
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/lnbp22.h
29
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/lnbp22.h
32
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/m88ds3103.c
1673
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/m88ds3103.c
1698
client = i2c_new_client_device(i2c, &board_info);
drivers/media/dvb-frontends/m88ds3103.c
1946
MODULE_DEVICE_TABLE(i2c, m88ds3103_id_table);
drivers/media/dvb-frontends/m88ds3103.h
143
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/m88ds3103.h
149
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/m88rs2000.c
26
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/m88rs2000.c
63
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/m88rs2000.c
784
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/m88rs2000.c
795
state->i2c = i2c;
drivers/media/dvb-frontends/m88rs2000.c
92
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/m88rs2000.h
33
const struct m88rs2000_config *config, struct i2c_adapter *i2c);
drivers/media/dvb-frontends/m88rs2000.h
36
const struct m88rs2000_config *config, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/mb86a20s.c
1006
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
1060
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
drivers/media/dvb-frontends/mb86a20s.c
1076
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
1097
dev_dbg(&state->i2c->dev, "%s: block error for layer %c: %d.\n",
drivers/media/dvb-frontends/mb86a20s.c
1116
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
1137
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
1388
dev_dbg(&state->i2c->dev, "%s: CNR is not available yet.\n",
drivers/media/dvb-frontends/mb86a20s.c
1410
dev_dbg(&state->i2c->dev, "%s: CNR is %d.%03d dB (%d)\n",
drivers/media/dvb-frontends/mb86a20s.c
1431
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
drivers/media/dvb-frontends/mb86a20s.c
1443
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
1498
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
1530
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
drivers/media/dvb-frontends/mb86a20s.c
1575
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
drivers/media/dvb-frontends/mb86a20s.c
1607
dev_err(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
1629
dev_err(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
1652
dev_err(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
1749
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
drivers/media/dvb-frontends/mb86a20s.c
1806
dev_dbg(&state->i2c->dev, "%s: fclk=%d, IF=%d, clock reg=0x%06llx\n",
drivers/media/dvb-frontends/mb86a20s.c
1824
dev_dbg(&state->i2c->dev, "%s: IF=%d, IF reg=0x%06llx\n",
drivers/media/dvb-frontends/mb86a20s.c
1848
dev_info(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
1852
dev_dbg(&state->i2c->dev, "Initialization succeeded.\n");
drivers/media/dvb-frontends/mb86a20s.c
1862
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
drivers/media/dvb-frontends/mb86a20s.c
1937
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
drivers/media/dvb-frontends/mb86a20s.c
1949
dev_err(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
1958
dev_err(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
1971
dev_err(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
1980
dev_err(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
2019
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
drivers/media/dvb-frontends/mb86a20s.c
2034
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
drivers/media/dvb-frontends/mb86a20s.c
2047
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/mb86a20s.c
2052
dev_dbg(&i2c->dev, "%s called.\n", __func__);
drivers/media/dvb-frontends/mb86a20s.c
2061
state->i2c = i2c;
drivers/media/dvb-frontends/mb86a20s.c
2072
dev_dbg(&i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
2078
dev_info(&i2c->dev, "Detected a Fujitsu mb86a20s frontend\n");
drivers/media/dvb-frontends/mb86a20s.c
221
rc = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/mb86a20s.c
223
dev_err(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
256
rc = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/mb86a20s.c
259
dev_err(&state->i2c->dev, "%s: reg=0x%x (error=%d)\n",
drivers/media/dvb-frontends/mb86a20s.c
30
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/mb86a20s.c
312
dev_dbg(&state->i2c->dev, "%s: Status = 0x%02x (state = %d)\n",
drivers/media/dvb-frontends/mb86a20s.c
365
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
479
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
drivers/media/dvb-frontends/mb86a20s.c
492
dev_dbg(&state->i2c->dev, "%s: segments: %d.\n", __func__, count);
drivers/media/dvb-frontends/mb86a20s.c
502
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
drivers/media/dvb-frontends/mb86a20s.c
611
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
drivers/media/dvb-frontends/mb86a20s.c
628
dev_dbg(&state->i2c->dev, "%s: getting data for layer %c.\n",
drivers/media/dvb-frontends/mb86a20s.c
645
dev_dbg(&state->i2c->dev, "%s: modulation %d.\n",
drivers/media/dvb-frontends/mb86a20s.c
651
dev_dbg(&state->i2c->dev, "%s: FEC %d.\n",
drivers/media/dvb-frontends/mb86a20s.c
657
dev_dbg(&state->i2c->dev, "%s: interleaving %d.\n",
drivers/media/dvb-frontends/mb86a20s.c
670
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
734
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
drivers/media/dvb-frontends/mb86a20s.c
785
dev_err(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
799
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
drivers/media/dvb-frontends/mb86a20s.c
811
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
831
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
858
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
872
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
933
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
drivers/media/dvb-frontends/mb86a20s.c
945
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
965
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.c
986
dev_dbg(&state->i2c->dev,
drivers/media/dvb-frontends/mb86a20s.h
37
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/mb86a20s.h
41
const struct mb86a20s_config *config, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/mn88443x.c
795
MODULE_DEVICE_TABLE(i2c, mn88443x_i2c_id);
drivers/media/dvb-frontends/mn88472.c
714
MODULE_DEVICE_TABLE(i2c, mn88472_id_table);
drivers/media/dvb-frontends/mn88473.c
749
MODULE_DEVICE_TABLE(i2c, mn88473_id_table);
drivers/media/dvb-frontends/mt312.c
113
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/mt312.c
30
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/mt312.c
66
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/mt312.c
778
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/mt312.c
789
state->i2c = i2c;
drivers/media/dvb-frontends/mt312.h
28
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/mt312.h
31
const struct mt312_config *config, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/mt352.c
31
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/mt352.c
50
int err = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/mt352.c
531
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/mt352.c
540
state->i2c = i2c;
drivers/media/dvb-frontends/mt352.c
80
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/mt352.h
42
struct i2c_adapter* i2c);
drivers/media/dvb-frontends/mt352.h
45
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/mxl5xx.c
140
return i2c_read(state->base->i2c, state->base->adr, data, len);
drivers/media/dvb-frontends/mxl5xx.c
145
return i2c_write(state->base->i2c, state->base->adr, data, len);
drivers/media/dvb-frontends/mxl5xx.c
1825
struct dvb_frontend *mxl5xx_attach(struct i2c_adapter *i2c,
drivers/media/dvb-frontends/mxl5xx.c
1839
state->i2cdev = &i2c->dev;
drivers/media/dvb-frontends/mxl5xx.c
1841
base = match_base(i2c, cfg->adr);
drivers/media/dvb-frontends/mxl5xx.c
1851
base->i2c = i2c;
drivers/media/dvb-frontends/mxl5xx.c
43
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/mxl5xx.c
797
static struct mxl_base *match_base(struct i2c_adapter *i2c, u8 adr)
drivers/media/dvb-frontends/mxl5xx.c
802
if (p->i2c == i2c && p->adr == adr)
drivers/media/dvb-frontends/mxl5xx.h
38
extern struct dvb_frontend *mxl5xx_attach(struct i2c_adapter *i2c,
drivers/media/dvb-frontends/mxl5xx.h
44
static inline struct dvb_frontend *mxl5xx_attach(struct i2c_adapter *i2c,
drivers/media/dvb-frontends/mxl692.c
1352
MODULE_DEVICE_TABLE(i2c, mxl692_id_table);
drivers/media/dvb-frontends/nxt200x.c
100
if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) {
drivers/media/dvb-frontends/nxt200x.c
1125
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/nxt200x.c
1137
state->i2c = i2c;
drivers/media/dvb-frontends/nxt200x.c
117
if ((err = i2c_transfer (state->i2c, msg, 2)) != 2) {
drivers/media/dvb-frontends/nxt200x.c
46
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/nxt200x.c
63
if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) {
drivers/media/dvb-frontends/nxt200x.c
76
if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) {
drivers/media/dvb-frontends/nxt200x.c
863
state->i2c->dev.parent);
drivers/media/dvb-frontends/nxt200x.c
930
state->i2c->dev.parent);
drivers/media/dvb-frontends/nxt200x.h
33
struct i2c_adapter* i2c);
drivers/media/dvb-frontends/nxt200x.h
36
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/nxt6000.c
25
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/nxt6000.c
44
if ((ret = i2c_transfer(state->i2c, &msg, 1)) != 1)
drivers/media/dvb-frontends/nxt6000.c
558
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/nxt6000.c
568
state->i2c = i2c;
drivers/media/dvb-frontends/nxt6000.c
60
ret = i2c_transfer(state->i2c, msgs, 2);
drivers/media/dvb-frontends/nxt6000.h
26
struct i2c_adapter* i2c);
drivers/media/dvb-frontends/nxt6000.h
29
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/or51132.c
109
if ((err = i2c_transfer(state->i2c, msg, 2)) != 2) {
drivers/media/dvb-frontends/or51132.c
328
ret = request_firmware(&fw, fwname, state->i2c->dev.parent);
drivers/media/dvb-frontends/or51132.c
43
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/or51132.c
550
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/or51132.c
561
state->i2c = i2c;
drivers/media/dvb-frontends/or51132.c
67
if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) {
drivers/media/dvb-frontends/or51132.c
90
if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) {
drivers/media/dvb-frontends/or51132.h
25
struct i2c_adapter* i2c);
drivers/media/dvb-frontends/or51132.h
28
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/or51211.c
42
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/or51211.c
499
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/or51211.c
510
state->i2c = i2c;
drivers/media/dvb-frontends/or51211.c
68
if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) {
drivers/media/dvb-frontends/or51211.c
85
if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) {
drivers/media/dvb-frontends/or51211.h
28
struct i2c_adapter* i2c);
drivers/media/dvb-frontends/or51211.h
31
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/rtl2830.c
882
MODULE_DEVICE_TABLE(i2c, rtl2830_id_table);
drivers/media/dvb-frontends/rtl2832.c
1027
struct i2c_adapter *i2c = client->adapter;
drivers/media/dvb-frontends/rtl2832.c
1078
dev->muxc = i2c_mux_alloc(i2c, &i2c->dev, 1, 0, I2C_MUX_LOCKED,
drivers/media/dvb-frontends/rtl2832.c
1131
MODULE_DEVICE_TABLE(i2c, rtl2832_id_table);
drivers/media/dvb-frontends/s5h1409.c
21
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/s5h1409.c
309
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/s5h1409.c
330
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/s5h1409.c
943
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/s5h1409.c
955
state->i2c = i2c;
drivers/media/dvb-frontends/s5h1409.h
59
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/s5h1409.h
63
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/s5h1411.c
21
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/s5h1411.c
338
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/s5h1411.c
357
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/s5h1411.c
858
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/s5h1411.c
870
state->i2c = i2c;
drivers/media/dvb-frontends/s5h1411.h
61
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/s5h1411.h
65
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/s5h1420.c
103
err = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/s5h1420.c
30
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/s5h1420.c
79
ret = i2c_transfer(state->i2c, msg, 3);
drivers/media/dvb-frontends/s5h1420.c
83
ret = i2c_transfer(state->i2c, &msg[1], 1);
drivers/media/dvb-frontends/s5h1420.c
854
return i2c_transfer(state->i2c, m, 1 + num) == 1 + num ? num : -EIO;
drivers/media/dvb-frontends/s5h1420.c
86
ret = i2c_transfer(state->i2c, &msg[2], 1);
drivers/media/dvb-frontends/s5h1420.c
872
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/s5h1420.c
883
state->i2c = i2c;
drivers/media/dvb-frontends/s5h1420.h
31
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/s5h1420.h
35
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/s5h1432.c
19
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/s5h1432.c
334
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/s5h1432.c
346
state->i2c = i2c;
drivers/media/dvb-frontends/s5h1432.c
50
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/s5h1432.c
70
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/s5h1432.h
65
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/s5h1432.h
69
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/s921.c
207
rc = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/s921.c
239
rc = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/s921.c
40
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/s921.c
475
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/s921.c
489
state->i2c = i2c;
drivers/media/dvb-frontends/s921.h
21
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/s921.h
25
const struct s921_config *config, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/si2165.c
1287
MODULE_DEVICE_TABLE(i2c, si2165_id_table);
drivers/media/dvb-frontends/si2168.c
794
MODULE_DEVICE_TABLE(i2c, si2168_id_table);
drivers/media/dvb-frontends/si21xx.c
135
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/si21xx.c
240
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/si21xx.c
260
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/si21xx.c
298
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/si21xx.c
324
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/si21xx.c
897
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/si21xx.c
911
state->i2c = i2c;
drivers/media/dvb-frontends/si21xx.h
18
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/si21xx.h
21
const struct si21xx_config *config, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/sp2.c
413
MODULE_DEVICE_TABLE(i2c, sp2_id);
drivers/media/dvb-frontends/sp887x.c
26
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/sp887x.c
45
if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) {
drivers/media/dvb-frontends/sp887x.c
566
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/sp887x.c
576
state->i2c = i2c;
drivers/media/dvb-frontends/sp887x.c
60
if ((ret = i2c_transfer(state->i2c, &msg, 1)) != 1) {
drivers/media/dvb-frontends/sp887x.c
84
if ((ret = i2c_transfer(state->i2c, msg, 2)) != 2) {
drivers/media/dvb-frontends/sp887x.h
23
struct i2c_adapter* i2c);
drivers/media/dvb-frontends/sp887x.h
26
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/stb0899_drv.c
1612
struct dvb_frontend *stb0899_attach(struct stb0899_config *config, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stb0899_drv.c
1622
state->i2c = i2c;
drivers/media/dvb-frontends/stb0899_drv.c
234
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/stb0899_drv.c
318
status = i2c_transfer(state->i2c, &msg_0, 1);
drivers/media/dvb-frontends/stb0899_drv.c
328
status = i2c_transfer(state->i2c, &msg_1, 1);
drivers/media/dvb-frontends/stb0899_drv.c
332
status = i2c_transfer(state->i2c, &msg_r, 1);
drivers/media/dvb-frontends/stb0899_drv.c
340
status = i2c_transfer(state->i2c, &msg_1, 1);
drivers/media/dvb-frontends/stb0899_drv.c
348
status = i2c_transfer(state->i2c, &msg_r, 1);
drivers/media/dvb-frontends/stb0899_drv.c
418
status = i2c_transfer(state->i2c, &msg_0, 1);
drivers/media/dvb-frontends/stb0899_drv.c
425
status = i2c_transfer(state->i2c, &msg_1, 1);
drivers/media/dvb-frontends/stb0899_drv.c
460
status = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/stb0899_drv.c
508
ret = i2c_transfer(state->i2c, &i2c_msg, 1);
drivers/media/dvb-frontends/stb0899_drv.h
135
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/stb0899_drv.h
140
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stb0899_priv.h
198
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/stb6000.c
135
ret = i2c_transfer(priv->i2c, &msg, 1);
drivers/media/dvb-frontends/stb6000.c
153
ret = i2c_transfer(priv->i2c, &msg, 1);
drivers/media/dvb-frontends/stb6000.c
188
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stb6000.c
214
ret = i2c_transfer(i2c, msg, 2);
drivers/media/dvb-frontends/stb6000.c
226
priv->i2c = i2c;
drivers/media/dvb-frontends/stb6000.c
27
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/stb6000.c
54
ret = i2c_transfer(priv->i2c, &msg, 1);
drivers/media/dvb-frontends/stb6000.h
27
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/stb6000.h
31
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stb6100.c
131
rc = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/stb6100.c
159
i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/stb6100.c
206
rc = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/stb6100.c
533
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stb6100.c
542
state->i2c = i2c;
drivers/media/dvb-frontends/stb6100.h
72
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/stb6100.h
88
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/stb6100.h
94
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stv0288.c
100
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/stv0288.c
28
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/stv0288.c
554
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stv0288.c
566
state->i2c = i2c;
drivers/media/dvb-frontends/stv0288.c
62
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/stv0288.h
35
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/stv0288.h
38
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stv0297.c
105
if ((ret = i2c_transfer(state->i2c, &msg[0], 1)) != 1) {
drivers/media/dvb-frontends/stv0297.c
109
if ((ret = i2c_transfer(state->i2c, &msg[1], 1)) != 1) {
drivers/media/dvb-frontends/stv0297.c
114
if ((ret = i2c_transfer(state->i2c, msg, 2)) != 2) {
drivers/media/dvb-frontends/stv0297.c
22
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/stv0297.c
45
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/stv0297.c
65
if ((ret = i2c_transfer(state->i2c, &msg[0], 1)) != 1) {
drivers/media/dvb-frontends/stv0297.c
652
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stv0297.c
663
state->i2c = i2c;
drivers/media/dvb-frontends/stv0297.c
69
if ((ret = i2c_transfer(state->i2c, &msg[1], 1)) != 1) {
drivers/media/dvb-frontends/stv0297.c
74
if ((ret = i2c_transfer(state->i2c, msg, 2)) != 2) {
drivers/media/dvb-frontends/stv0297.h
35
struct i2c_adapter* i2c);
drivers/media/dvb-frontends/stv0297.h
38
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/stv0299.c
103
ret = i2c_transfer (state->i2c, msg, 2);
drivers/media/dvb-frontends/stv0299.c
118
ret = i2c_transfer (state->i2c, msg, 2);
drivers/media/dvb-frontends/stv0299.c
46
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/stv0299.c
668
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/stv0299.c
679
state->i2c = i2c;
drivers/media/dvb-frontends/stv0299.c
76
ret = i2c_transfer (state->i2c, &msg, 1);
drivers/media/dvb-frontends/stv0299.h
88
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/stv0299.h
91
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stv0367.c
137
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/stv0367.c
168
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/stv0367.c
1695
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stv0367.c
1709
state->i2c = i2c;
drivers/media/dvb-frontends/stv0367.c
2862
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stv0367.c
2876
state->i2c = i2c;
drivers/media/dvb-frontends/stv0367.c
3270
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stv0367.c
3288
state->i2c = i2c;
drivers/media/dvb-frontends/stv0367.c
3311
dev_info(&i2c->dev, "Found %s with ChipID %02X at adr %02X\n",
drivers/media/dvb-frontends/stv0367.c
80
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/stv0367.h
33
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/stv0367.h
36
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/stv0367.h
39
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/stv0367.h
43
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stv0367.h
50
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stv0367.h
57
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stv0900.h
48
struct i2c_adapter *i2c, int demod);
drivers/media/dvb-frontends/stv0900.h
51
struct i2c_adapter *i2c, int demod)
drivers/media/dvb-frontends/stv0900_core.c
1897
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/stv0900_core.c
1910
state->i2c_adap = i2c;
drivers/media/dvb-frontends/stv090x.c
4901
temp_int = find_dev(state->i2c,
drivers/media/dvb-frontends/stv090x.c
4920
state->internal->i2c_adap = state->i2c;
drivers/media/dvb-frontends/stv090x.c
5013
state->i2c = client->adapter;
drivers/media/dvb-frontends/stv090x.c
5047
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/stv090x.c
5059
state->i2c = i2c;
drivers/media/dvb-frontends/stv090x.c
5085
MODULE_DEVICE_TABLE(i2c, stv090x_id_table);
drivers/media/dvb-frontends/stv090x.c
696
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/stv090x.c
733
ret = i2c_transfer(state->i2c, &i2c_msg, 1);
drivers/media/dvb-frontends/stv090x.h
104
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/stv090x.h
110
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/stv090x.h
98
struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *i2c);
drivers/media/dvb-frontends/stv090x_priv.h
239
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/stv0910.c
1245
dev_err(&state->base->i2c->dev,
drivers/media/dvb-frontends/stv0910.c
129
struct i2c_adapter *adap = state->base->i2c;
drivers/media/dvb-frontends/stv0910.c
161
return i2c_read_regs16(state->base->i2c, state->base->adr,
drivers/media/dvb-frontends/stv0910.c
167
return i2c_read_regs16(state->base->i2c, state->base->adr,
drivers/media/dvb-frontends/stv0910.c
1738
static struct stv_base *match_base(struct i2c_adapter *i2c, u8 adr)
drivers/media/dvb-frontends/stv0910.c
1743
if (p->i2c == i2c && p->adr == adr)
drivers/media/dvb-frontends/stv0910.c
1762
struct dvb_frontend *stv0910_attach(struct i2c_adapter *i2c,
drivers/media/dvb-frontends/stv0910.c
1786
base = match_base(i2c, cfg->adr);
drivers/media/dvb-frontends/stv0910.c
1794
base->i2c = i2c;
drivers/media/dvb-frontends/stv0910.c
1803
dev_info(&i2c->dev, "No demod found at adr %02X on %s\n",
drivers/media/dvb-frontends/stv0910.c
1804
cfg->adr, dev_name(&i2c->dev));
drivers/media/dvb-frontends/stv0910.c
1814
dev_info(&i2c->dev, "%s demod found at adr %02X on %s\n",
drivers/media/dvb-frontends/stv0910.c
1815
state->fe.ops.info.name, cfg->adr, dev_name(&i2c->dev));
drivers/media/dvb-frontends/stv0910.c
72
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/stv0910.h
27
struct dvb_frontend *stv0910_attach(struct i2c_adapter *i2c,
drivers/media/dvb-frontends/stv0910.h
32
static inline struct dvb_frontend *stv0910_attach(struct i2c_adapter *i2c,
drivers/media/dvb-frontends/stv6110.c
118
rc = i2c_transfer(priv->i2c, msg, 2);
drivers/media/dvb-frontends/stv6110.c
26
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/stv6110.c
381
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stv6110.c
403
ret = i2c_transfer(i2c, msg, 1);
drivers/media/dvb-frontends/stv6110.c
416
priv->i2c = i2c;
drivers/media/dvb-frontends/stv6110.c
85
rc = i2c_transfer(priv->i2c, &msg, 1);
drivers/media/dvb-frontends/stv6110.h
37
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/stv6110.h
41
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stv6110x.c
41
ret = i2c_transfer(stv6110x->i2c, msg, 2);
drivers/media/dvb-frontends/stv6110x.c
420
stv6110x->i2c = client->adapter;
drivers/media/dvb-frontends/stv6110x.c
428
dev_info(&stv6110x->i2c->dev, "Probed STV6110x\n");
drivers/media/dvb-frontends/stv6110x.c
447
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stv6110x.c
456
stv6110x->i2c = i2c;
drivers/media/dvb-frontends/stv6110x.c
467
dev_info(&stv6110x->i2c->dev, "Attaching STV6110x\n");
drivers/media/dvb-frontends/stv6110x.c
476
MODULE_DEVICE_TABLE(i2c, stv6110x_id_table);
drivers/media/dvb-frontends/stv6110x.c
77
ret = i2c_transfer(stv6110x->i2c, &msg, 1);
drivers/media/dvb-frontends/stv6110x.h
20
struct stv6110x_devctl* (*get_devctl)(struct i2c_client *i2c);
drivers/media/dvb-frontends/stv6110x.h
51
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/stv6110x.h
56
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/stv6110x_priv.h
58
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/stv6111.c
22
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/stv6111.c
327
return i2c_write(state->i2c, state->adr, d, len + 1);
drivers/media/dvb-frontends/stv6111.c
334
return i2c_write(state->i2c, state->adr, d, 2);
drivers/media/dvb-frontends/stv6111.c
339
return i2c_read(state->i2c, state->adr, &reg, 1, val, 1);
drivers/media/dvb-frontends/stv6111.c
650
struct i2c_adapter *i2c, u8 adr)
drivers/media/dvb-frontends/stv6111.c
660
state->i2c = i2c;
drivers/media/dvb-frontends/stv6111.h
14
struct i2c_adapter *i2c, u8 adr);
drivers/media/dvb-frontends/stv6111.h
19
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/tc90522.c
837
MODULE_DEVICE_TABLE(i2c, tc90522_id);
drivers/media/dvb-frontends/tda10021.c
111
if(i2c_transfer(state->i2c, &msg_post, 1) != 1)
drivers/media/dvb-frontends/tda10021.c
25
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/tda10021.c
447
struct i2c_adapter* i2c,
drivers/media/dvb-frontends/tda10021.c
459
state->i2c = i2c;
drivers/media/dvb-frontends/tda10021.c
66
ret = i2c_transfer (state->i2c, &msg, 1);
drivers/media/dvb-frontends/tda10021.c
83
ret = i2c_transfer (state->i2c, msg, 2);
drivers/media/dvb-frontends/tda10021.c
97
if(i2c_transfer(state->i2c, &msg, 1) != 1)
drivers/media/dvb-frontends/tda10023.c
122
if(i2c_transfer(state->i2c, &msg, 1) != 1)
drivers/media/dvb-frontends/tda10023.c
136
if(i2c_transfer(state->i2c, &msg_post, 1) != 1)
drivers/media/dvb-frontends/tda10023.c
32
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/tda10023.c
508
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/tda10023.c
519
state->i2c = i2c;
drivers/media/dvb-frontends/tda10023.c
60
ret = i2c_transfer (state->i2c, msg, 2);
drivers/media/dvb-frontends/tda10023.c
75
ret = i2c_transfer (state->i2c, &msg, 1);
drivers/media/dvb-frontends/tda1002x.h
50
struct i2c_adapter* i2c, u8 pwm);
drivers/media/dvb-frontends/tda1002x.h
53
struct i2c_adapter* i2c, u8 pwm)
drivers/media/dvb-frontends/tda1002x.h
63
struct i2c_adapter *i2c, u8 pwm);
drivers/media/dvb-frontends/tda1002x.h
67
struct i2c_adapter *i2c, u8 pwm)
drivers/media/dvb-frontends/tda10048.c
1093
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/tda10048.c
1106
state->i2c = i2c;
drivers/media/dvb-frontends/tda10048.c
129
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/tda10048.c
220
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/tda10048.c
242
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/tda10048.c
278
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/tda10048.c
493
state->i2c->dev.parent);
drivers/media/dvb-frontends/tda10048.h
66
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/tda10048.h
70
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/tda1004x.c
124
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/tda1004x.c
1268
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/tda1004x.c
1282
state->i2c = i2c;
drivers/media/dvb-frontends/tda1004x.c
1338
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/tda1004x.c
1352
state->i2c = i2c;
drivers/media/dvb-frontends/tda1004x.c
147
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/tda1004x.c
319
i2c_lock_bus(state->i2c, I2C_LOCK_SEGMENT);
drivers/media/dvb-frontends/tda1004x.c
330
if (__i2c_transfer(state->i2c, &fw_msg, 1) != 1) {
drivers/media/dvb-frontends/tda1004x.c
332
i2c_unlock_bus(state->i2c, I2C_LOCK_SEGMENT);
drivers/media/dvb-frontends/tda1004x.c
339
i2c_unlock_bus(state->i2c, I2C_LOCK_SEGMENT);
drivers/media/dvb-frontends/tda1004x.h
109
struct i2c_adapter* i2c);
drivers/media/dvb-frontends/tda1004x.h
112
struct i2c_adapter* i2c);
drivers/media/dvb-frontends/tda1004x.h
115
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/tda1004x.h
121
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/tda1004x.h
99
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/tda10071.c
1236
MODULE_DEVICE_TABLE(i2c, tda10071_id_table);
drivers/media/dvb-frontends/tda10086.c
23
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/tda10086.c
46
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/tda10086.c
65
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/tda10086.c
733
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/tda10086.c
746
state->i2c = i2c;
drivers/media/dvb-frontends/tda10086.h
38
struct i2c_adapter* i2c);
drivers/media/dvb-frontends/tda10086.h
41
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/tda18271c2dd.c
1214
struct i2c_adapter *i2c, u8 adr)
drivers/media/dvb-frontends/tda18271c2dd.c
1224
state->i2c = i2c;
drivers/media/dvb-frontends/tda18271c2dd.c
138
return i2c_write(state->i2c, state->adr, data, nRegs + 1);
drivers/media/dvb-frontends/tda18271c2dd.c
145
return i2c_write(state->i2c, state->adr, msg, 2);
drivers/media/dvb-frontends/tda18271c2dd.c
150
return i2c_readn(state->i2c, state->adr, Regs, 16);
drivers/media/dvb-frontends/tda18271c2dd.c
155
return i2c_readn(state->i2c, state->adr, Regs, NUM_REGS);
drivers/media/dvb-frontends/tda18271c2dd.c
66
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/tda18271c2dd.h
10
struct i2c_adapter *i2c, u8 adr)
drivers/media/dvb-frontends/tda18271c2dd.h
7
struct i2c_adapter *i2c, u8 adr);
drivers/media/dvb-frontends/tda665x.c
18
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/tda665x.c
205
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/tda665x.c
215
state->i2c = i2c;
drivers/media/dvb-frontends/tda665x.c
31
err = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/tda665x.c
47
err = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/tda665x.h
26
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/tda665x.h
32
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/tda8083.c
26
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/tda8083.c
415
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/tda8083.c
425
state->i2c = i2c;
drivers/media/dvb-frontends/tda8083.c
55
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/tda8083.c
70
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/tda8083.h
28
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/tda8083.h
31
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/tda8261.c
167
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/tda8261.c
175
state->i2c = i2c;
drivers/media/dvb-frontends/tda8261.c
19
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/tda8261.c
33
if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1)
drivers/media/dvb-frontends/tda8261.c
45
if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1)
drivers/media/dvb-frontends/tda8261.h
29
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/tda8261.h
35
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/tda826x.c
100
if ((ret = i2c_transfer (priv->i2c, &msg, 1)) != 1) {
drivers/media/dvb-frontends/tda826x.c
130
struct dvb_frontend *tda826x_attach(struct dvb_frontend *fe, int addr, struct i2c_adapter *i2c, int has_loopthrough)
drivers/media/dvb-frontends/tda826x.c
144
ret = i2c_transfer (i2c, msg, 2);
drivers/media/dvb-frontends/tda826x.c
158
priv->i2c = i2c;
drivers/media/dvb-frontends/tda826x.c
26
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/tda826x.c
51
if ((ret = i2c_transfer (priv->i2c, &msg, 1)) != 1) {
drivers/media/dvb-frontends/tda826x.h
28
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/tda826x.h
33
struct i2c_adapter *i2c,
drivers/media/dvb-frontends/tdhd1.h
30
struct i2c_adapter *i2c = fe->tuner_priv;
drivers/media/dvb-frontends/tdhd1.h
52
if (i2c_transfer(i2c, &msg, 1) != 1)
drivers/media/dvb-frontends/ts2020.c
27
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/ts2020.c
506
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/ts2020.c
522
client = i2c_new_client_device(i2c, &board_info);
drivers/media/dvb-frontends/ts2020.c
588
dev->i2c = client->adapter;
drivers/media/dvb-frontends/ts2020.c
723
MODULE_DEVICE_TABLE(i2c, ts2020_id_table);
drivers/media/dvb-frontends/ts2020.h
62
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/ts2020.h
67
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/tua6100.c
121
if (i2c_transfer(priv->i2c, &msg0, 1) != 1)
drivers/media/dvb-frontends/tua6100.c
126
if (i2c_transfer(priv->i2c, &msg2, 1) != 1)
drivers/media/dvb-frontends/tua6100.c
131
if (i2c_transfer(priv->i2c, &msg1, 1) != 1)
drivers/media/dvb-frontends/tua6100.c
160
struct dvb_frontend *tua6100_attach(struct dvb_frontend *fe, int addr, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/tua6100.c
171
ret = i2c_transfer (i2c, msg, 2);
drivers/media/dvb-frontends/tua6100.c
183
priv->i2c = i2c;
drivers/media/dvb-frontends/tua6100.c
29
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/tua6100.c
48
if ((ret = i2c_transfer (priv->i2c, &msg, 1)) != 1) {
drivers/media/dvb-frontends/tua6100.h
26
extern struct dvb_frontend *tua6100_attach(struct dvb_frontend *fe, int addr, struct i2c_adapter *i2c);
drivers/media/dvb-frontends/tua6100.h
28
static inline struct dvb_frontend* tua6100_attach(struct dvb_frontend *fe, int addr, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/ves1820.c
24
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/ves1820.c
363
struct i2c_adapter* i2c,
drivers/media/dvb-frontends/ves1820.c
376
state->i2c = i2c;
drivers/media/dvb-frontends/ves1820.c
53
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/ves1820.c
72
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/ves1820.h
34
struct i2c_adapter* i2c, u8 pwm);
drivers/media/dvb-frontends/ves1820.h
37
struct i2c_adapter* i2c, u8 pwm)
drivers/media/dvb-frontends/ves1x93.c
104
ret = i2c_transfer (state->i2c, msg, 2);
drivers/media/dvb-frontends/ves1x93.c
25
struct i2c_adapter* i2c;
drivers/media/dvb-frontends/ves1x93.c
447
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/ves1x93.c
458
state->i2c = i2c;
drivers/media/dvb-frontends/ves1x93.c
88
if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) {
drivers/media/dvb-frontends/ves1x93.h
32
struct i2c_adapter* i2c);
drivers/media/dvb-frontends/ves1x93.h
35
struct i2c_adapter* i2c)
drivers/media/dvb-frontends/zl10036.c
116
ret = i2c_transfer(state->i2c, msg, 1);
drivers/media/dvb-frontends/zl10036.c
34
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/zl10036.c
450
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/zl10036.c
465
state->i2c = i2c;
drivers/media/dvb-frontends/zl10036.c
67
if (i2c_transfer(state->i2c, msg, 1) != 1) {
drivers/media/dvb-frontends/zl10036.h
30
const struct zl10036_config *config, struct i2c_adapter *i2c);
drivers/media/dvb-frontends/zl10036.h
33
const struct zl10036_config *config, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/zl10039.c
109
if (i2c_transfer(state->i2c, &msg, 1) != 1) {
drivers/media/dvb-frontends/zl10039.c
252
u8 i2c_addr, struct i2c_adapter *i2c)
drivers/media/dvb-frontends/zl10039.c
261
state->i2c = i2c;
drivers/media/dvb-frontends/zl10039.c
33
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/zl10039.c
78
if (i2c_transfer(state->i2c, msg, 2) != 2) {
drivers/media/dvb-frontends/zl10039.h
15
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/zl10039.h
19
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/zl10353.c
21
struct i2c_adapter *i2c;
drivers/media/dvb-frontends/zl10353.c
45
int err = i2c_transfer(state->i2c, &msg, 1);
drivers/media/dvb-frontends/zl10353.c
595
struct i2c_adapter *i2c)
drivers/media/dvb-frontends/zl10353.c
606
state->i2c = i2c;
drivers/media/dvb-frontends/zl10353.c
75
ret = i2c_transfer(state->i2c, msg, 2);
drivers/media/dvb-frontends/zl10353.h
38
struct i2c_adapter *i2c);
drivers/media/dvb-frontends/zl10353.h
41
struct i2c_adapter *i2c)
drivers/media/i2c/ad5820.c
354
MODULE_DEVICE_TABLE(i2c, ad5820_id_table);
drivers/media/i2c/adp1653.c
528
MODULE_DEVICE_TABLE(i2c, adp1653_id_table);
drivers/media/i2c/adv7170.c
384
MODULE_DEVICE_TABLE(i2c, adv7170_id);
drivers/media/i2c/adv7175.c
439
MODULE_DEVICE_TABLE(i2c, adv7175_id);
drivers/media/i2c/adv7180.c
1642
MODULE_DEVICE_TABLE(i2c, adv7180_id);
drivers/media/i2c/adv7183.c
626
MODULE_DEVICE_TABLE(i2c, adv7183_id);
drivers/media/i2c/adv7343.c
509
MODULE_DEVICE_TABLE(i2c, adv7343_id);
drivers/media/i2c/adv7393.c
452
MODULE_DEVICE_TABLE(i2c, adv7393_id);
drivers/media/i2c/adv7511-v4l2.c
2014
MODULE_DEVICE_TABLE(i2c, adv7511_id);
drivers/media/i2c/adv7604.c
3245
MODULE_DEVICE_TABLE(i2c, adv76xx_i2c_id);
drivers/media/i2c/adv7842.c
3681
MODULE_DEVICE_TABLE(i2c, adv7842_id);
drivers/media/i2c/ak881x.c
311
MODULE_DEVICE_TABLE(i2c, ak881x_id);
drivers/media/i2c/bt819.c
465
MODULE_DEVICE_TABLE(i2c, bt819_id);
drivers/media/i2c/bt856.c
236
MODULE_DEVICE_TABLE(i2c, bt856_id);
drivers/media/i2c/bt866.c
203
MODULE_DEVICE_TABLE(i2c, bt866_id);
drivers/media/i2c/cs3308.c
115
MODULE_DEVICE_TABLE(i2c, cs3308_id);
drivers/media/i2c/cs5345.c
195
MODULE_DEVICE_TABLE(i2c, cs5345_id);
drivers/media/i2c/cs53l32a.c
206
MODULE_DEVICE_TABLE(i2c, cs53l32a_id);
drivers/media/i2c/cx25840/cx25840-core.c
3970
MODULE_DEVICE_TABLE(i2c, cx25840_id);
drivers/media/i2c/ds90ub913.c
935
MODULE_DEVICE_TABLE(i2c, ub913_id);
drivers/media/i2c/ds90ub953.c
1413
MODULE_DEVICE_TABLE(i2c, ub953_id);
drivers/media/i2c/ds90ub960.c
5191
MODULE_DEVICE_TABLE(i2c, ub960_id);
drivers/media/i2c/dw9714.c
313
MODULE_DEVICE_TABLE(i2c, dw9714_id_table);
drivers/media/i2c/et8ek8/et8ek8_driver.c
1491
MODULE_DEVICE_TABLE(i2c, et8ek8_id_table);
drivers/media/i2c/imx274.c
1957
MODULE_DEVICE_TABLE(i2c, imx274_id);
drivers/media/i2c/ir-kbd-i2c.c
985
MODULE_DEVICE_TABLE(i2c, ir_kbd_id);
drivers/media/i2c/isl7998x.c
1567
MODULE_DEVICE_TABLE(i2c, isl7998x_id);
drivers/media/i2c/ks0127.c
685
MODULE_DEVICE_TABLE(i2c, ks0127_id);
drivers/media/i2c/lm3560.c
463
MODULE_DEVICE_TABLE(i2c, lm3560_id_table);
drivers/media/i2c/lm3646.c
393
MODULE_DEVICE_TABLE(i2c, lm3646_id_table);
drivers/media/i2c/m52790.c
169
MODULE_DEVICE_TABLE(i2c, m52790_id);
drivers/media/i2c/max2175.c
1419
MODULE_DEVICE_TABLE(i2c, max2175_id);
drivers/media/i2c/ml86v7667.c
430
MODULE_DEVICE_TABLE(i2c, ml86v7667_id);
drivers/media/i2c/msp3400-driver.c
880
MODULE_DEVICE_TABLE(i2c, msp_id);
drivers/media/i2c/mt9m001.c
861
MODULE_DEVICE_TABLE(i2c, mt9m001_id);
drivers/media/i2c/mt9m111.c
1390
MODULE_DEVICE_TABLE(i2c, mt9m111_id);
drivers/media/i2c/mt9t112.c
1114
MODULE_DEVICE_TABLE(i2c, mt9t112_id);
drivers/media/i2c/mt9v011.c
588
MODULE_DEVICE_TABLE(i2c, mt9v011_id);
drivers/media/i2c/ov13858.c
1754
MODULE_DEVICE_TABLE(i2c, ov13858_id_table);
drivers/media/i2c/ov2640.c
1277
MODULE_DEVICE_TABLE(i2c, ov2640_id);
drivers/media/i2c/ov2659.c
1559
MODULE_DEVICE_TABLE(i2c, ov2659_id);
drivers/media/i2c/ov5640.c
4005
MODULE_DEVICE_TABLE(i2c, ov5640_id);
drivers/media/i2c/ov5645.c
1225
MODULE_DEVICE_TABLE(i2c, ov5645_id);
drivers/media/i2c/ov5647.c
1284
MODULE_DEVICE_TABLE(i2c, ov5647_id);
drivers/media/i2c/ov7640.c
83
MODULE_DEVICE_TABLE(i2c, ov7640_id);
drivers/media/i2c/ov7670.c
2004
MODULE_DEVICE_TABLE(i2c, ov7670_id);
drivers/media/i2c/ov772x.c
1552
MODULE_DEVICE_TABLE(i2c, ov772x_id);
drivers/media/i2c/ov7740.c
1155
MODULE_DEVICE_TABLE(i2c, ov7740_id);
drivers/media/i2c/ov9640.c
758
MODULE_DEVICE_TABLE(i2c, ov9640_id);
drivers/media/i2c/ov9650.c
1574
MODULE_DEVICE_TABLE(i2c, ov965x_id);
drivers/media/i2c/rj54n1cb0c.c
1419
MODULE_DEVICE_TABLE(i2c, rj54n1_id);
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1734
MODULE_DEVICE_TABLE(i2c, s5c73m3_id);
drivers/media/i2c/s5k5baf.c
2013
MODULE_DEVICE_TABLE(i2c, s5k5baf_id);
drivers/media/i2c/s5k6a3.c
349
MODULE_DEVICE_TABLE(i2c, s5k6a3_ids);
drivers/media/i2c/saa6588.c
501
MODULE_DEVICE_TABLE(i2c, saa6588_id);
drivers/media/i2c/saa6752hs.c
776
MODULE_DEVICE_TABLE(i2c, saa6752hs_id);
drivers/media/i2c/saa7110.c
445
MODULE_DEVICE_TABLE(i2c, saa7110_id);
drivers/media/i2c/saa7115.c
1940
MODULE_DEVICE_TABLE(i2c, saa711x_id);
drivers/media/i2c/saa7127.c
807
MODULE_DEVICE_TABLE(i2c, saa7127_id);
drivers/media/i2c/saa717x.c
1340
MODULE_DEVICE_TABLE(i2c, saa717x_id);
drivers/media/i2c/saa7185.c
340
MODULE_DEVICE_TABLE(i2c, saa7185_id);
drivers/media/i2c/sony-btf-mpx.c
372
MODULE_DEVICE_TABLE(i2c, sony_btf_mpx_id);
drivers/media/i2c/tc358743.c
2365
MODULE_DEVICE_TABLE(i2c, tc358743_id);
drivers/media/i2c/tda1997x.c
2281
MODULE_DEVICE_TABLE(i2c, tda1997x_i2c_id);
drivers/media/i2c/tda7432.c
406
MODULE_DEVICE_TABLE(i2c, tda7432_id);
drivers/media/i2c/tda9840.c
188
MODULE_DEVICE_TABLE(i2c, tda9840_id);
drivers/media/i2c/tea6415c.c
147
MODULE_DEVICE_TABLE(i2c, tea6415c_id);
drivers/media/i2c/tea6420.c
129
MODULE_DEVICE_TABLE(i2c, tea6420_id);
drivers/media/i2c/ths7303.c
377
MODULE_DEVICE_TABLE(i2c, ths7303_id);
drivers/media/i2c/ths8200.c
493
MODULE_DEVICE_TABLE(i2c, ths8200_id);
drivers/media/i2c/tlv320aic23b.c
194
MODULE_DEVICE_TABLE(i2c, tlv320aic23b_id);
drivers/media/i2c/tvaudio.c
2092
MODULE_DEVICE_TABLE(i2c, tvaudio_id);
drivers/media/i2c/tvp514x.c
1191
MODULE_DEVICE_TABLE(i2c, tvp514x_id);
drivers/media/i2c/tvp5150.c
2271
MODULE_DEVICE_TABLE(i2c, tvp5150_id);
drivers/media/i2c/tvp7002.c
1076
MODULE_DEVICE_TABLE(i2c, tvp7002_id);
drivers/media/i2c/tw2804.c
420
MODULE_DEVICE_TABLE(i2c, tw2804_id);
drivers/media/i2c/tw9900.c
759
MODULE_DEVICE_TABLE(i2c, tw9900_id);
drivers/media/i2c/tw9903.c
252
MODULE_DEVICE_TABLE(i2c, tw9903_id);
drivers/media/i2c/tw9906.c
220
MODULE_DEVICE_TABLE(i2c, tw9906_id);
drivers/media/i2c/tw9910.c
1002
MODULE_DEVICE_TABLE(i2c, tw9910_id);
drivers/media/i2c/uda1342.c
85
MODULE_DEVICE_TABLE(i2c, uda1342_id);
drivers/media/i2c/upd64031a.c
225
MODULE_DEVICE_TABLE(i2c, upd64031a_id);
drivers/media/i2c/upd64083.c
196
MODULE_DEVICE_TABLE(i2c, upd64083_id);
drivers/media/i2c/video-i2c.c
928
MODULE_DEVICE_TABLE(i2c, video_i2c_id_table);
drivers/media/i2c/vp27smpx.c
178
MODULE_DEVICE_TABLE(i2c, vp27smpx_id);
drivers/media/i2c/vpx3220.c
543
MODULE_DEVICE_TABLE(i2c, vpx3220_id);
drivers/media/i2c/wm8739.c
249
MODULE_DEVICE_TABLE(i2c, wm8739_id);
drivers/media/i2c/wm8775.c
295
MODULE_DEVICE_TABLE(i2c, wm8775_id);
drivers/media/pci/bt8xx/dst.c
242
if ((err = i2c_transfer(state->i2c, &msg, 1)) < 0) {
drivers/media/pci/bt8xx/dst.c
274
if ((err = i2c_transfer(state->i2c, &msg, 1)) < 0) {
drivers/media/pci/bt8xx/dst_common.h
87
struct i2c_adapter* i2c;
drivers/media/pci/bt8xx/dvb-bt8xx.c
667
state->i2c = card->i2c_adapter;
drivers/media/pci/cx18/cx18-cards.c
138
.i2c = &cx18_i2c_nxp,
drivers/media/pci/cx18/cx18-cards.c
185
.i2c = &cx18_i2c_std,
drivers/media/pci/cx18/cx18-cards.c
232
.i2c = &cx18_i2c_std,
drivers/media/pci/cx18/cx18-cards.c
292
.i2c = &cx18_i2c_std,
drivers/media/pci/cx18/cx18-cards.c
352
.i2c = &cx18_i2c_std,
drivers/media/pci/cx18/cx18-cards.c
406
.i2c = &cx18_i2c_std,
drivers/media/pci/cx18/cx18-cards.c
449
.i2c = &cx18_i2c_std,
drivers/media/pci/cx18/cx18-cards.c
502
.i2c = &cx18_i2c_std,
drivers/media/pci/cx18/cx18-cards.c
555
.i2c = &cx18_i2c_std,
drivers/media/pci/cx18/cx18-cards.c
91
.i2c = &cx18_i2c_std,
drivers/media/pci/cx18/cx18-cards.h
128
struct cx18_card_tuner_i2c *i2c;
drivers/media/pci/cx18/cx18-driver.c
401
cx->card_i2c = cx->card->i2c;
drivers/media/pci/cx18/cx18-driver.c
683
cx->card_i2c = cx->card->i2c;
drivers/media/pci/cx23885/netup-init.c
102
i2c_av_and_or(i2c, 0x803, ~0x10, 0x00);
drivers/media/pci/cx23885/netup-init.c
105
i2c_av_write4(i2c, 0x114, 0xea0eb3);
drivers/media/pci/cx23885/netup-init.c
108
i2c_av_write4(i2c, 0x110, 0x090319);
drivers/media/pci/cx23885/netup-init.c
111
i2c_av_and_or(i2c, 0x803, ~0x10, 0x10);
drivers/media/pci/cx23885/netup-init.c
15
static void i2c_av_write(struct i2c_adapter *i2c, u16 reg, u8 val)
drivers/media/pci/cx23885/netup-init.c
30
ret = i2c_transfer(i2c, &msg, 1);
drivers/media/pci/cx23885/netup-init.c
36
static void i2c_av_write4(struct i2c_adapter *i2c, u16 reg, u32 val)
drivers/media/pci/cx23885/netup-init.c
54
ret = i2c_transfer(i2c, &msg, 1);
drivers/media/pci/cx23885/netup-init.c
60
static u8 i2c_av_read(struct i2c_adapter *i2c, u16 reg)
drivers/media/pci/cx23885/netup-init.c
74
ret = i2c_transfer(i2c, &msg, 1);
drivers/media/pci/cx23885/netup-init.c
82
ret = i2c_transfer(i2c, &msg, 1);
drivers/media/pci/cx23885/netup-init.c
90
static void i2c_av_and_or(struct i2c_adapter *i2c, u16 reg, unsigned and_mask,
drivers/media/pci/cx23885/netup-init.c
93
i2c_av_write(i2c, reg, (i2c_av_read(i2c, reg) & and_mask) | or_value);
drivers/media/pci/cx23885/netup-init.c
99
struct i2c_adapter *i2c = &i2c_bus->i2c_adap;
drivers/media/pci/ddbridge/ddbridge-ci.c
173
struct i2c_adapter *i2c = &ci->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-ci.c
177
return i2c_write_reg(i2c, adr, 0x02, ci->port->creg);
drivers/media/pci/ddbridge/ddbridge-ci.c
184
struct i2c_adapter *i2c = &ci->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-ci.c
189
res = i2c_read_reg16(i2c, adr, 0x8000 | address, &val);
drivers/media/pci/ddbridge/ddbridge-ci.c
197
struct i2c_adapter *i2c = &ci->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-ci.c
200
return i2c_write_reg16(i2c, adr, 0x8000 | address, value);
drivers/media/pci/ddbridge/ddbridge-ci.c
207
struct i2c_adapter *i2c = &ci->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-ci.c
212
res = i2c_read_reg(i2c, adr, 0x20 | (address & 3), &val);
drivers/media/pci/ddbridge/ddbridge-ci.c
220
struct i2c_adapter *i2c = &ci->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-ci.c
223
return i2c_write_reg(i2c, adr, 0x20 | (address & 3), value);
drivers/media/pci/ddbridge/ddbridge-ci.c
262
struct i2c_adapter *i2c = &ci->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-ci.c
267
i2c_read_reg(i2c, adr, 0x01, &val);
drivers/media/pci/ddbridge/ddbridge-ci.c
320
client = dvb_module_probe("cxd2099", NULL, &port->i2c->adap,
drivers/media/pci/ddbridge/ddbridge-core.c
1002
dvb->fe = dvb_attach(cxd2841er_attach_t_c, &cfg, i2c);
drivers/media/pci/ddbridge/ddbridge-core.c
1016
struct i2c_adapter *adapter = &input->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-core.c
1113
struct i2c_adapter *i2c = &input->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-core.c
1118
dvb->fe = dvb_attach(stv090x_attach, feconf, i2c,
drivers/media/pci/ddbridge/ddbridge-core.c
1125
if (!dvb_attach(lnbh24_attach, dvb->fe, i2c, 0,
drivers/media/pci/ddbridge/ddbridge-core.c
1137
struct i2c_adapter *i2c = &input->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-core.c
1145
ctl = dvb_attach(stv6110x_attach, dvb->fe, tunerconf, i2c);
drivers/media/pci/ddbridge/ddbridge-core.c
1181
static int has_lnbh25(struct i2c_adapter *i2c, u8 adr)
drivers/media/pci/ddbridge/ddbridge-core.c
1185
return i2c_read_reg(i2c, adr, 0, &val) ? 0 : 1;
drivers/media/pci/ddbridge/ddbridge-core.c
1190
struct i2c_adapter *i2c = &input->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-core.c
1207
dvb->fe = dvb_attach(stv0910_attach, i2c, &cfg, (input->nr & 1));
drivers/media/pci/ddbridge/ddbridge-core.c
1210
dvb->fe = dvb_attach(stv0910_attach, i2c,
drivers/media/pci/ddbridge/ddbridge-core.c
1221
if (has_lnbh25(i2c, 0x0d))
drivers/media/pci/ddbridge/ddbridge-core.c
1226
if (!dvb_attach(lnbh25_attach, dvb->fe, &lnbcfg, i2c)) {
drivers/media/pci/ddbridge/ddbridge-core.c
1237
struct i2c_adapter *i2c = &input->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-core.c
1243
fe = dvb_attach(stv6111_attach, dvb->fe, i2c, adr);
drivers/media/pci/ddbridge/ddbridge-core.c
1245
fe = dvb_attach(stv6111_attach, dvb->fe, i2c, adr & ~4);
drivers/media/pci/ddbridge/ddbridge-core.c
1631
int ret = i2c_read_reg(&port->i2c->adap, 0x20, 0, &val);
drivers/media/pci/ddbridge/ddbridge-core.c
1646
val = i2c_transfer(&port->i2c->adap, msgs, 2);
drivers/media/pci/ddbridge/ddbridge-core.c
1661
if (i2c_io(&port->i2c->adap, 0x10, probe, 1, data, 4))
drivers/media/pci/ddbridge/ddbridge-core.c
1680
if (i2c_read_reg16(&port->i2c->adap, 0x69, 0xf100, &val) < 0)
drivers/media/pci/ddbridge/ddbridge-core.c
1687
if (i2c_read_reg16(&port->i2c->adap, 0x68, 0xf100, id) < 0)
drivers/media/pci/ddbridge/ddbridge-core.c
1696
if (i2c_read(&port->i2c->adap, 0x29, &val) < 0)
drivers/media/pci/ddbridge/ddbridge-core.c
1698
if (i2c_read(&port->i2c->adap, 0x2a, &val) < 0)
drivers/media/pci/ddbridge/ddbridge-core.c
1707
if (i2c_read_reg16(&port->i2c->adap, 0x1e, 0xf000, &val) < 0)
drivers/media/pci/ddbridge/ddbridge-core.c
1711
if (i2c_read_reg16(&port->i2c->adap, 0x1f, 0xf000, &val) < 0)
drivers/media/pci/ddbridge/ddbridge-core.c
1720
struct i2c_adapter *i2c = &port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-core.c
1725
res = i2c_read_regs(i2c, 0x10, 0x04, data, 2);
drivers/media/pci/ddbridge/ddbridge-core.c
1734
i2c_read_reg(i2c, 0x10, 0x08, &val);
drivers/media/pci/ddbridge/ddbridge-core.c
1736
i2c_write_reg(i2c, 0x10, 0x08, 0x00);
drivers/media/pci/ddbridge/ddbridge-core.c
1740
i2c_write_reg(i2c, 0x10, 0x08, 0x04);
drivers/media/pci/ddbridge/ddbridge-core.c
1743
i2c_write_reg(i2c, 0x10, 0x08, 0x07);
drivers/media/pci/ddbridge/ddbridge-core.c
1746
i2c_write_reg(i2c, 0x10, 0x09, xo2_speed);
drivers/media/pci/ddbridge/ddbridge-core.c
1750
i2c_write_reg(i2c, 0x10, 0x0a, 0x03);
drivers/media/pci/ddbridge/ddbridge-core.c
1751
i2c_write_reg(i2c, 0x10, 0x0b, 0x03);
drivers/media/pci/ddbridge/ddbridge-core.c
1753
i2c_write_reg(i2c, 0x10, 0x0a, 0x01);
drivers/media/pci/ddbridge/ddbridge-core.c
1754
i2c_write_reg(i2c, 0x10, 0x0b, 0x01);
drivers/media/pci/ddbridge/ddbridge-core.c
1759
i2c_write_reg(i2c, 0x10, 0x08, 0x87);
drivers/media/pci/ddbridge/ddbridge-core.c
1766
struct i2c_adapter *i2c = &port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-core.c
1771
res = i2c_read_regs(i2c, 0x10, 0x04, data, 2);
drivers/media/pci/ddbridge/ddbridge-core.c
1783
i2c_read_reg(i2c, 0x10, 0x08, &val);
drivers/media/pci/ddbridge/ddbridge-core.c
1785
i2c_write_reg(i2c, 0x10, 0x08, 0x00);
drivers/media/pci/ddbridge/ddbridge-core.c
1789
i2c_write_reg(i2c, 0x10, 0x08, 3);
drivers/media/pci/ddbridge/ddbridge-core.c
1793
i2c_write_reg(i2c, 0x10, 0x09, 1);
drivers/media/pci/ddbridge/ddbridge-core.c
1795
i2c_write_reg(i2c, 0x10, 0x08, 0x83);
drivers/media/pci/ddbridge/ddbridge-core.c
1800
i2c_write_reg(i2c, 0x10, 0x0a, 0x03);
drivers/media/pci/ddbridge/ddbridge-core.c
1801
i2c_write_reg(i2c, 0x10, 0x0b, 0x03);
drivers/media/pci/ddbridge/ddbridge-core.c
1803
i2c_write_reg(i2c, 0x10, 0x0a, 0x01);
drivers/media/pci/ddbridge/ddbridge-core.c
1804
i2c_write_reg(i2c, 0x10, 0x0b, 0x01);
drivers/media/pci/ddbridge/ddbridge-core.c
1811
struct i2c_adapter *i2c = &port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-core.c
1814
status = i2c_write_reg(&port->i2c->adap, 0x6e, 0, 0);
drivers/media/pci/ddbridge/ddbridge-core.c
1817
status = i2c_read_reg(i2c, 0x6e, 0xfd, id);
drivers/media/pci/ddbridge/ddbridge-core.c
1876
if (port->i2c)
drivers/media/pci/ddbridge/ddbridge-core.c
1878
port->i2c->regs + I2C_TIMING);
drivers/media/pci/ddbridge/ddbridge-core.c
1899
if (!port->i2c)
drivers/media/pci/ddbridge/ddbridge-core.c
1911
port->i2c->regs + I2C_TIMING);
drivers/media/pci/ddbridge/ddbridge-core.c
1918
ddbwritel(dev, I2C_SPEED_400, port->i2c->regs + I2C_TIMING);
drivers/media/pci/ddbridge/ddbridge-core.c
1965
ddbwritel(dev, I2C_SPEED_400, port->i2c->regs + I2C_TIMING);
drivers/media/pci/ddbridge/ddbridge-core.c
1971
ddbwritel(dev, I2C_SPEED_100, port->i2c->regs + I2C_TIMING);
drivers/media/pci/ddbridge/ddbridge-core.c
1986
ddbwritel(dev, I2C_SPEED_100, port->i2c->regs + I2C_TIMING);
drivers/media/pci/ddbridge/ddbridge-core.c
1992
ddbwritel(dev, I2C_SPEED_400, port->i2c->regs + I2C_TIMING);
drivers/media/pci/ddbridge/ddbridge-core.c
1998
ddbwritel(dev, I2C_SPEED_100, port->i2c->regs + I2C_TIMING);
drivers/media/pci/ddbridge/ddbridge-core.c
2333
if (dev->i2c[i].link == port->lnr &&
drivers/media/pci/ddbridge/ddbridge-core.c
2334
dev->i2c[i].nr == port->nr) {
drivers/media/pci/ddbridge/ddbridge-core.c
2335
port->i2c = &dev->i2c[i];
drivers/media/pci/ddbridge/ddbridge-core.c
2348
if (dev->i2c[i].link == port->lnr) {
drivers/media/pci/ddbridge/ddbridge-core.c
2349
port->i2c = &dev->i2c[i];
drivers/media/pci/ddbridge/ddbridge-core.c
2395
port->i2c = dev->port[p - 1].i2c;
drivers/media/pci/ddbridge/ddbridge-core.c
2806
adap = &dev->i2c[link->info->temp_bus].adap;
drivers/media/pci/ddbridge/ddbridge-core.c
2830
adap = &dev->i2c[num].adap;
drivers/media/pci/ddbridge/ddbridge-core.c
2857
i2c_write_reg16(&dev->i2c[num].adap,
drivers/media/pci/ddbridge/ddbridge-core.c
2861
i2c_write_reg16(&dev->i2c[num].adap,
drivers/media/pci/ddbridge/ddbridge-core.c
2863
i2c_write_reg16(&dev->i2c[num].adap,
drivers/media/pci/ddbridge/ddbridge-core.c
2870
i2c_read_reg(&dev->i2c[num].adap, 0x10, 0x08, &v);
drivers/media/pci/ddbridge/ddbridge-core.c
2872
i2c_write_reg(&dev->i2c[num].adap, 0x10, 0x08, v);
drivers/media/pci/ddbridge/ddbridge-core.c
2908
if (i2c_read_regs(&dev->i2c[num].adap, 0x10, 0x10, snr, 16) < 0)
drivers/media/pci/ddbridge/ddbridge-core.c
2913
if (i2c_read_regs16(&dev->i2c[num].adap,
drivers/media/pci/ddbridge/ddbridge-core.c
2915
if (i2c_read_regs16(&dev->i2c[num].adap,
drivers/media/pci/ddbridge/ddbridge-core.c
2943
if (i2c_read_regs16(&dev->i2c[0].adap,
drivers/media/pci/ddbridge/ddbridge-core.c
879
struct i2c_adapter *i2c = &input->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-core.c
888
dvb->fe = dvb_attach(drxk_attach, &config, i2c);
drivers/media/pci/ddbridge/ddbridge-core.c
901
struct i2c_adapter *i2c = &input->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-core.c
908
fe = dvb_attach(tda18271c2dd_attach, dvb->fe, i2c, 0x60);
drivers/media/pci/ddbridge/ddbridge-core.c
942
struct i2c_adapter *i2c = &input->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-core.c
948
&ddb_stv0367_config[(input->nr & 1)], i2c);
drivers/media/pci/ddbridge/ddbridge-core.c
962
struct i2c_adapter *adapter = &input->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-core.c
985
struct i2c_adapter *i2c = &input->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-hw.c
69
.i2c = &octopus_i2c,
drivers/media/pci/ddbridge/ddbridge-i2c.c
106
if (msg[1].len > i2c->bsize)
drivers/media/pci/ddbridge/ddbridge-i2c.c
108
ddbcpyto(dev, i2c->wbuf, msg[0].buf, msg[0].len);
drivers/media/pci/ddbridge/ddbridge-i2c.c
110
i2c->regs + I2C_TASKLENGTH);
drivers/media/pci/ddbridge/ddbridge-i2c.c
111
if (ddb_i2c_cmd(i2c, addr, 1))
drivers/media/pci/ddbridge/ddbridge-i2c.c
114
i2c->rbuf,
drivers/media/pci/ddbridge/ddbridge-i2c.c
136
struct ddb_i2c *i2c;
drivers/media/pci/ddbridge/ddbridge-i2c.c
139
i2c = &dev->i2c[i];
drivers/media/pci/ddbridge/ddbridge-i2c.c
140
i2c_del_adapter(&i2c->adap);
drivers/media/pci/ddbridge/ddbridge-i2c.c
146
struct ddb_i2c *i2c = (struct ddb_i2c *)priv;
drivers/media/pci/ddbridge/ddbridge-i2c.c
148
complete(&i2c->completion);
drivers/media/pci/ddbridge/ddbridge-i2c.c
151
static int ddb_i2c_add(struct ddb *dev, struct ddb_i2c *i2c,
drivers/media/pci/ddbridge/ddbridge-i2c.c
157
i2c->nr = i;
drivers/media/pci/ddbridge/ddbridge-i2c.c
158
i2c->dev = dev;
drivers/media/pci/ddbridge/ddbridge-i2c.c
159
i2c->link = link;
drivers/media/pci/ddbridge/ddbridge-i2c.c
160
i2c->bsize = regmap->i2c_buf->size;
drivers/media/pci/ddbridge/ddbridge-i2c.c
161
i2c->wbuf = DDB_LINK_TAG(link) |
drivers/media/pci/ddbridge/ddbridge-i2c.c
162
(regmap->i2c_buf->base + i2c->bsize * i);
drivers/media/pci/ddbridge/ddbridge-i2c.c
163
i2c->rbuf = i2c->wbuf; /* + i2c->bsize / 2 */
drivers/media/pci/ddbridge/ddbridge-i2c.c
164
i2c->regs = DDB_LINK_TAG(link) |
drivers/media/pci/ddbridge/ddbridge-i2c.c
165
(regmap->i2c->base + regmap->i2c->size * i);
drivers/media/pci/ddbridge/ddbridge-i2c.c
166
ddbwritel(dev, I2C_SPEED_100, i2c->regs + I2C_TIMING);
drivers/media/pci/ddbridge/ddbridge-i2c.c
167
ddbwritel(dev, ((i2c->rbuf & 0xffff) << 16) | (i2c->wbuf & 0xffff),
drivers/media/pci/ddbridge/ddbridge-i2c.c
168
i2c->regs + I2C_TASKADDRESS);
drivers/media/pci/ddbridge/ddbridge-i2c.c
169
init_completion(&i2c->completion);
drivers/media/pci/ddbridge/ddbridge-i2c.c
171
adap = &i2c->adap;
drivers/media/pci/ddbridge/ddbridge-i2c.c
172
i2c_set_adapdata(adap, i2c);
drivers/media/pci/ddbridge/ddbridge-i2c.c
181
dev->nr, i2c->link, i);
drivers/media/pci/ddbridge/ddbridge-i2c.c
183
adap->algo_data = (void *)i2c;
drivers/media/pci/ddbridge/ddbridge-i2c.c
192
struct ddb_i2c *i2c;
drivers/media/pci/ddbridge/ddbridge-i2c.c
200
if (!regmap || !regmap->i2c)
drivers/media/pci/ddbridge/ddbridge-i2c.c
203
for (i = 0; i < regmap->i2c->num; i++) {
drivers/media/pci/ddbridge/ddbridge-i2c.c
206
i2c = &dev->i2c[num];
drivers/media/pci/ddbridge/ddbridge-i2c.c
207
ddb_irq_set(dev, l, i + base, i2c_handler, i2c);
drivers/media/pci/ddbridge/ddbridge-i2c.c
208
stat = ddb_i2c_add(dev, i2c, regmap, l, i, num);
drivers/media/pci/ddbridge/ddbridge-i2c.c
216
i2c = &dev->i2c[j];
drivers/media/pci/ddbridge/ddbridge-i2c.c
217
adap = &i2c->adap;
drivers/media/pci/ddbridge/ddbridge-i2c.c
31
static int ddb_i2c_cmd(struct ddb_i2c *i2c, u32 adr, u32 cmd)
drivers/media/pci/ddbridge/ddbridge-i2c.c
33
struct ddb *dev = i2c->dev;
drivers/media/pci/ddbridge/ddbridge-i2c.c
37
ddbwritel(dev, (adr << 9) | cmd, i2c->regs + I2C_COMMAND);
drivers/media/pci/ddbridge/ddbridge-i2c.c
38
stat = wait_for_completion_timeout(&i2c->completion, HZ);
drivers/media/pci/ddbridge/ddbridge-i2c.c
39
val = ddbreadl(dev, i2c->regs + I2C_COMMAND);
drivers/media/pci/ddbridge/ddbridge-i2c.c
42
dev->nr, i2c->nr, i2c->link);
drivers/media/pci/ddbridge/ddbridge-i2c.c
47
if (i2c->link) {
drivers/media/pci/ddbridge/ddbridge-i2c.c
49
DDB_LINK_TAG(i2c->link) |
drivers/media/pci/ddbridge/ddbridge-i2c.c
53
i2c->link, listat);
drivers/media/pci/ddbridge/ddbridge-i2c.c
59
i2c->regs + I2C_MONITOR);
drivers/media/pci/ddbridge/ddbridge-i2c.c
78
struct ddb_i2c *i2c = (struct ddb_i2c *)i2c_get_adapdata(adapter);
drivers/media/pci/ddbridge/ddbridge-i2c.c
79
struct ddb *dev = i2c->dev;
drivers/media/pci/ddbridge/ddbridge-i2c.c
83
if (msg[0].len > i2c->bsize)
drivers/media/pci/ddbridge/ddbridge-i2c.c
89
i2c->regs + I2C_TASKLENGTH);
drivers/media/pci/ddbridge/ddbridge-i2c.c
90
if (ddb_i2c_cmd(i2c, addr, 3))
drivers/media/pci/ddbridge/ddbridge-i2c.c
93
i2c->rbuf, msg[0].len);
drivers/media/pci/ddbridge/ddbridge-i2c.c
96
ddbcpyto(dev, i2c->wbuf, msg[0].buf, msg[0].len);
drivers/media/pci/ddbridge/ddbridge-i2c.c
97
ddbwritel(dev, msg[0].len, i2c->regs + I2C_TASKLENGTH);
drivers/media/pci/ddbridge/ddbridge-i2c.c
98
if (ddb_i2c_cmd(i2c, addr, 2))
drivers/media/pci/ddbridge/ddbridge-max.c
402
struct i2c_adapter *i2c = &input->port->i2c->adap;
drivers/media/pci/ddbridge/ddbridge-max.c
418
dvb->fe = dvb_attach(mxl5xx_attach, i2c, &cfg,
drivers/media/pci/ddbridge/ddbridge.h
217
struct ddb_i2c *i2c;
drivers/media/pci/ddbridge/ddbridge.h
325
struct ddb_i2c i2c[DDB_MAX_I2C];
drivers/media/pci/ddbridge/ddbridge.h
72
const struct ddb_regset *i2c;
drivers/media/pci/ivtv/ivtv-cards.c
1014
.i2c = &ivtv_i2c_radio,
drivers/media/pci/ivtv/ivtv-cards.c
1060
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
1128
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
1164
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
1199
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
1245
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
143
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
175
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
213
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
256
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
298
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
339
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
375
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
419
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
490
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
521
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
566
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
597
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
627
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
667
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
704
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
739
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
778
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
814
.i2c = &ivtv_i2c_tda8290,
drivers/media/pci/ivtv/ivtv-cards.c
856
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
87
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
895
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
931
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.c
969
.i2c = &ivtv_i2c_std,
drivers/media/pci/ivtv/ivtv-cards.h
301
struct ivtv_card_tuner_i2c *i2c;
drivers/media/pci/ivtv/ivtv-driver.c
420
itv->card_i2c = itv->card->i2c;
drivers/media/pci/ivtv/ivtv-driver.c
687
itv->card_i2c = itv->card->i2c;
drivers/media/pci/netup_unidvb/netup_unidvb.h
117
struct netup_i2c i2c[2];
drivers/media/pci/netup_unidvb/netup_unidvb.h
128
irqreturn_t netup_i2c_interrupt(struct netup_i2c *i2c);
drivers/media/pci/netup_unidvb/netup_unidvb_core.c
265
iret = netup_i2c_interrupt(&ndev->i2c[0]);
drivers/media/pci/netup_unidvb/netup_unidvb_core.c
267
iret = netup_i2c_interrupt(&ndev->i2c[1]);
drivers/media/pci/netup_unidvb/netup_unidvb_core.c
431
&demod_config, &ndev->i2c[num].adap);
drivers/media/pci/netup_unidvb/netup_unidvb_core.c
442
&horus3a_conf, &ndev->i2c[num].adap)) {
drivers/media/pci/netup_unidvb/netup_unidvb_core.c
451
&helene_conf, &ndev->i2c[num].adap)) {
drivers/media/pci/netup_unidvb/netup_unidvb_core.c
460
&lnbh25_conf, &ndev->i2c[num].adap)) {
drivers/media/pci/netup_unidvb/netup_unidvb_core.c
468
&demod_config, &ndev->i2c[num].adap);
drivers/media/pci/netup_unidvb/netup_unidvb_core.c
478
&ascot2e_conf, &ndev->i2c[num].adap)) {
drivers/media/pci/netup_unidvb/netup_unidvb_core.c
487
&helene_conf, &ndev->i2c[num].adap)) {
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
103
tmp = readw(&i2c->regs->tx_fifo.stat_ctrl);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
104
writew(tmp & ~FIFO_IRQEN, &i2c->regs->tx_fifo.stat_ctrl);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
105
i2c->state = STATE_WANT_WRITE;
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
106
dev_dbg(i2c->adap.dev.parent,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
110
dev_warn(&i2c->adap.dev, "%s(): not mine interrupt\n", __func__);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
113
spin_unlock_irqrestore(&i2c->lock, flags);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
115
wake_up(&i2c->wq);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
119
static void netup_i2c_reset(struct netup_i2c *i2c)
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
121
dev_dbg(i2c->adap.dev.parent, "%s()\n", __func__);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
122
i2c->state = STATE_DONE;
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
123
writew(TWI_SOFT_RESET, &i2c->regs->twi_addr_ctrl1);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
124
writew(TWI_CLKDIV, &i2c->regs->clkdiv);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
125
writew(FIFO_RESET, &i2c->regs->tx_fifo.stat_ctrl);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
126
writew(FIFO_RESET, &i2c->regs->rx_fifo.stat_ctrl);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
127
writew(0x800, &i2c->regs->tx_fifo.stat_ctrl);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
128
writew(0x800, &i2c->regs->rx_fifo.stat_ctrl);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
131
static void netup_i2c_fifo_tx(struct netup_i2c *i2c)
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
135
(readw(&i2c->regs->tx_fifo.stat_ctrl) & 0x3f);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
136
u32 msg_length = i2c->msg->len - i2c->xmit_size;
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
140
data = i2c->msg->buf[i2c->xmit_size++];
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
141
writeb(data, &i2c->regs->tx_fifo.data8);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
142
dev_dbg(i2c->adap.dev.parent,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
145
if (i2c->xmit_size < i2c->msg->len) {
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
146
dev_dbg(i2c->adap.dev.parent,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
148
writew(readw(&i2c->regs->tx_fifo.stat_ctrl) | FIFO_IRQEN,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
149
&i2c->regs->tx_fifo.stat_ctrl);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
153
static void netup_i2c_fifo_rx(struct netup_i2c *i2c)
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
156
u32 fifo_size = readw(&i2c->regs->rx_fifo.stat_ctrl) & 0x3f;
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
158
dev_dbg(i2c->adap.dev.parent,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
161
data = readb(&i2c->regs->rx_fifo.data8);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
162
if ((i2c->msg->flags & I2C_M_RD) != 0 &&
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
163
i2c->xmit_size < i2c->msg->len) {
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
164
i2c->msg->buf[i2c->xmit_size++] = data;
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
165
dev_dbg(i2c->adap.dev.parent,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
169
if (i2c->xmit_size < i2c->msg->len) {
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
170
dev_dbg(i2c->adap.dev.parent,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
172
writew(readw(&i2c->regs->rx_fifo.stat_ctrl) | FIFO_IRQEN,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
173
&i2c->regs->rx_fifo.stat_ctrl);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
177
static void netup_i2c_start_xfer(struct netup_i2c *i2c)
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
179
u16 rdflag = ((i2c->msg->flags & I2C_M_RD) ? 1 : 0);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
180
u16 reg = readw(&i2c->regs->twi_ctrl0_stat);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
182
writew(TWI_IRQEN | reg, &i2c->regs->twi_ctrl0_stat);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
183
writew(i2c->msg->len, &i2c->regs->length);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
184
writew(TWI_TRANSFER | (i2c->msg->addr << 1) | rdflag,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
185
&i2c->regs->twi_addr_ctrl1);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
186
dev_dbg(i2c->adap.dev.parent,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
188
__func__, readw(&i2c->regs->length),
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
189
readw(&i2c->regs->twi_addr_ctrl1),
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
190
readw(&i2c->regs->twi_ctrl0_stat));
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
191
i2c->state = STATE_WAIT;
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
192
i2c->xmit_size = 0;
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
194
netup_i2c_fifo_tx(i2c);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
196
writew(FIFO_IRQEN | readw(&i2c->regs->rx_fifo.stat_ctrl),
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
197
&i2c->regs->rx_fifo.stat_ctrl);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
205
struct netup_i2c *i2c = i2c_get_adapdata(adap);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
208
spin_lock_irqsave(&i2c->lock, flags);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
209
if (i2c->state != STATE_DONE) {
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
210
dev_dbg(i2c->adap.dev.parent,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
212
__func__, i2c->state);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
213
netup_i2c_reset(i2c);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
215
dev_dbg(i2c->adap.dev.parent, "%s() num %d\n", __func__, num);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
217
i2c->msg = &msgs[i];
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
218
netup_i2c_start_xfer(i2c);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
221
spin_unlock_irqrestore(&i2c->lock, flags);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
222
if (wait_event_timeout(i2c->wq,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
223
i2c->state != STATE_WAIT,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
225
spin_lock_irqsave(&i2c->lock, flags);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
226
switch (i2c->state) {
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
228
netup_i2c_fifo_rx(i2c);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
231
netup_i2c_fifo_tx(i2c);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
234
if ((i2c->msg->flags & I2C_M_RD) != 0 &&
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
235
i2c->xmit_size != i2c->msg->len)
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
236
netup_i2c_fifo_rx(i2c);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
237
dev_dbg(i2c->adap.dev.parent,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
244
dev_dbg(i2c->adap.dev.parent,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
249
dev_dbg(i2c->adap.dev.parent,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
251
__func__, i2c->state);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
256
i2c->state = STATE_WAIT;
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
258
&i2c->regs->twi_ctrl0_stat);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
260
&i2c->regs->twi_ctrl0_stat);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
262
spin_unlock_irqrestore(&i2c->lock, flags);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
264
spin_lock_irqsave(&i2c->lock, flags);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
265
dev_dbg(i2c->adap.dev.parent,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
270
spin_lock_irqsave(&i2c->lock, flags);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
274
spin_unlock_irqrestore(&i2c->lock, flags);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
275
dev_dbg(i2c->adap.dev.parent, "%s(): result %d\n", __func__, res);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
299
struct netup_i2c *i2c;
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
306
i2c = &ndev->i2c[bus_num];
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
307
spin_lock_init(&i2c->lock);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
308
init_waitqueue_head(&i2c->wq);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
309
i2c->regs = (struct netup_i2c_regs __iomem *)(ndev->bmmio0 +
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
311
netup_i2c_reset(i2c);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
312
i2c->adap = netup_i2c_adapter;
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
313
i2c->adap.dev.parent = &ndev->pci_dev->dev;
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
314
i2c_set_adapdata(&i2c->adap, i2c);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
315
ret = i2c_add_adapter(&i2c->adap);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
329
struct netup_i2c *i2c;
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
336
i2c = &ndev->i2c[bus_num];
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
337
netup_i2c_reset(i2c);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
339
i2c_del_adapter(&i2c->adap);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
65
irqreturn_t netup_i2c_interrupt(struct netup_i2c *i2c)
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
71
spin_lock_irqsave(&i2c->lock, flags);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
72
reg = readw(&i2c->regs->twi_ctrl0_stat);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
73
writew(reg & ~TWI_IRQEN, &i2c->regs->twi_ctrl0_stat);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
74
dev_dbg(i2c->adap.dev.parent,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
77
dev_dbg(i2c->adap.dev.parent,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
79
i2c->state = STATE_DONE;
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
83
dev_dbg(i2c->adap.dev.parent,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
85
i2c->state = STATE_ERROR;
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
89
dev_dbg(i2c->adap.dev.parent,
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
91
i2c->state = STATE_ERROR;
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
95
tmp = readw(&i2c->regs->rx_fifo.stat_ctrl);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
96
writew(tmp & ~FIFO_IRQEN, &i2c->regs->rx_fifo.stat_ctrl);
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
97
i2c->state = STATE_WANT_READ;
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c
98
dev_dbg(i2c->adap.dev.parent,
drivers/media/pci/ngene/ngene-cards.c
120
struct i2c_adapter *i2c = i2c_adapter_from_chan(chan);
drivers/media/pci/ngene/ngene-cards.c
127
ctl = dvb_attach(stv6110x_attach, chan->fe, tunerconf, i2c);
drivers/media/pci/ngene/ngene-cards.c
151
struct i2c_adapter *i2c = i2c_adapter_from_chan(chan);
drivers/media/pci/ngene/ngene-cards.c
155
fe = dvb_attach(stv6111_attach, chan->fe, i2c, adr);
drivers/media/pci/ngene/ngene-cards.c
157
fe = dvb_attach(stv6111_attach, chan->fe, i2c, adr & ~4);
drivers/media/pci/ngene/ngene-cards.c
184
struct i2c_adapter *i2c = i2c_adapter_from_chan(chan);
drivers/media/pci/ngene/ngene-cards.c
189
fe = dvb_attach(tda18271c2dd_attach, chan->fe, i2c, 0x60);
drivers/media/pci/ngene/ngene-cards.c
201
struct i2c_adapter *i2c,
drivers/media/pci/ngene/ngene-cards.c
212
if (i2c_read_regs(i2c, adr, subaddr, tda_id, sizeof(tda_id)) < 0)
drivers/media/pci/ngene/ngene-cards.c
214
if (i2c_read_regs(i2c, adr, subaddr, tda_id, sizeof(tda_id)) < 0)
drivers/media/pci/ngene/ngene-cards.c
226
struct i2c_adapter *i2c = i2c_adapter_from_chan(chan);
drivers/media/pci/ngene/ngene-cards.c
246
tuner_tda18212_ping(chan, i2c, addr);
drivers/media/pci/ngene/ngene-cards.c
249
client = dvb_module_probe("tda18212", NULL, i2c, addr, &config);
drivers/media/pci/ngene/ngene-cards.c
285
struct i2c_adapter *i2c = i2c_adapter_from_chan(chan);
drivers/media/pci/ngene/ngene-cards.c
289
chan->fe = dvb_attach(stv090x_attach, feconf, i2c,
drivers/media/pci/ngene/ngene-cards.c
301
if (!dvb_attach(lnbh24_attach, chan->fe, i2c, 0,
drivers/media/pci/ngene/ngene-cards.c
326
struct i2c_adapter *i2c)
drivers/media/pci/ngene/ngene-cards.c
332
chan->fe = dvb_attach(stv0910_attach, i2c, &cfg, (chan->number & 1));
drivers/media/pci/ngene/ngene-cards.c
335
chan->fe = dvb_attach(stv0910_attach, i2c,
drivers/media/pci/ngene/ngene-cards.c
348
if (!dvb_attach(lnbh25_attach, chan->fe, &lnbcfg, i2c)) {
drivers/media/pci/ngene/ngene-cards.c
350
if (!dvb_attach(lnbh25_attach, chan->fe, &lnbcfg, i2c)) {
drivers/media/pci/ngene/ngene-cards.c
380
struct i2c_adapter *i2c)
drivers/media/pci/ngene/ngene-cards.c
385
&ddb_stv0367_config[(chan->number & 1)], i2c);
drivers/media/pci/ngene/ngene-cards.c
399
struct i2c_adapter *i2c, int osc24)
drivers/media/pci/ngene/ngene-cards.c
413
chan->fe = dvb_attach(cxd2841er_attach_t_c, &cfg, i2c);
drivers/media/pci/ngene/ngene-cards.c
436
static int port_has_stv0900(struct i2c_adapter *i2c, int port)
drivers/media/pci/ngene/ngene-cards.c
439
if (i2c_read_reg16(i2c, 0x68+port/2, 0xf100, &val) < 0)
drivers/media/pci/ngene/ngene-cards.c
444
static int port_has_drxk(struct i2c_adapter *i2c, int port)
drivers/media/pci/ngene/ngene-cards.c
448
if (i2c_read(i2c, 0x29+port, &val) < 0)
drivers/media/pci/ngene/ngene-cards.c
453
static int port_has_stv0367(struct i2c_adapter *i2c)
drivers/media/pci/ngene/ngene-cards.c
457
if (i2c_read_reg16(i2c, 0x1e, 0xf000, &val) < 0)
drivers/media/pci/ngene/ngene-cards.c
461
if (i2c_read_reg16(i2c, 0x1f, 0xf000, &val) < 0)
drivers/media/pci/ngene/ngene-cards.c
468
int ngene_port_has_cxd2099(struct i2c_adapter *i2c, u8 *type)
drivers/media/pci/ngene/ngene-cards.c
476
val = i2c_transfer(i2c, msgs, 2);
drivers/media/pci/ngene/ngene-cards.c
488
struct i2c_adapter *i2c)
drivers/media/pci/ngene/ngene-cards.c
498
chan->fe = dvb_attach(drxk_attach, &config, i2c);
drivers/media/pci/ngene/ngene-cards.c
522
static int init_xo2(struct ngene_channel *chan, struct i2c_adapter *i2c)
drivers/media/pci/ngene/ngene-cards.c
529
res = i2c_read_regs(i2c, addr, 0x04, data, 2);
drivers/media/pci/ngene/ngene-cards.c
538
i2c_read_reg(i2c, addr, 0x08, &val);
drivers/media/pci/ngene/ngene-cards.c
540
i2c_write_reg(i2c, addr, 0x08, 0x00);
drivers/media/pci/ngene/ngene-cards.c
544
i2c_write_reg(i2c, addr, 0x08, 0x04);
drivers/media/pci/ngene/ngene-cards.c
547
i2c_write_reg(i2c, addr, 0x08, 0x07);
drivers/media/pci/ngene/ngene-cards.c
556
i2c_write_reg(i2c, addr, 0x09, 1);
drivers/media/pci/ngene/ngene-cards.c
558
i2c_write_reg(i2c, addr, 0x0a, 0x01);
drivers/media/pci/ngene/ngene-cards.c
559
i2c_write_reg(i2c, addr, 0x0b, 0x01);
drivers/media/pci/ngene/ngene-cards.c
563
i2c_write_reg(i2c, addr, 0x08, 0x87);
drivers/media/pci/ngene/ngene-cards.c
568
static int port_has_xo2(struct i2c_adapter *i2c, u8 *type, u8 *id)
drivers/media/pci/ngene/ngene-cards.c
575
if (i2c_io(i2c, addr, probe, 1, data, 4))
drivers/media/pci/ngene/ngene-cards.c
597
struct i2c_adapter *i2c = i2c_adapter_from_chan(chan);
drivers/media/pci/ngene/ngene-cards.c
605
if (port_has_xo2(i2c, &xo2_type, &xo2_id)) {
drivers/media/pci/ngene/ngene-cards.c
617
init_xo2(chan, i2c);
drivers/media/pci/ngene/ngene-cards.c
632
demod_attach_cxd28xx(chan, i2c, sony_osc24);
drivers/media/pci/ngene/ngene-cards.c
638
demod_attach_stv0910(chan, i2c);
drivers/media/pci/ngene/ngene-cards.c
654
} else if (port_has_stv0900(i2c, chan->number)) {
drivers/media/pci/ngene/ngene-cards.c
678
rc = i2c_transfer(i2c, &i2c_msg, 1);
drivers/media/pci/ngene/ngene-cards.c
683
} else if (port_has_drxk(i2c, chan->number^2)) {
drivers/media/pci/ngene/ngene-cards.c
685
demod_attach_drxk(chan, i2c);
drivers/media/pci/ngene/ngene-cards.c
686
} else if (port_has_stv0367(i2c)) {
drivers/media/pci/ngene/ngene-cards.c
689
demod_attach_stv0367(chan, i2c);
drivers/media/pci/ngene/ngene.h
829
int ngene_port_has_cxd2099(struct i2c_adapter *i2c, u8 *type);
drivers/media/pci/pt3/pt3.c
697
struct i2c_adapter *i2c;
drivers/media/pci/pt3/pt3.c
742
i2c = &pt3->i2c_adap;
drivers/media/pci/pt3/pt3.c
743
i2c->owner = THIS_MODULE;
drivers/media/pci/pt3/pt3.c
744
i2c->algo = &pt3_i2c_algo;
drivers/media/pci/pt3/pt3.c
745
i2c->algo_data = NULL;
drivers/media/pci/pt3/pt3.c
746
i2c->dev.parent = &pdev->dev;
drivers/media/pci/pt3/pt3.c
747
strscpy(i2c->name, DRV_NAME, sizeof(i2c->name));
drivers/media/pci/pt3/pt3.c
748
i2c_set_adapdata(i2c, pt3);
drivers/media/pci/pt3/pt3.c
749
ret = i2c_add_adapter(i2c);
drivers/media/pci/pt3/pt3.c
782
i2c_del_adapter(i2c);
drivers/media/pci/saa7134/saa7134-dvb.c
537
if (i2c_transfer(state->i2c, &tda8290_msg, 1) != 1) {
drivers/media/pci/smipcie/smipcie-main.c
235
static int smi_read_eeprom(struct i2c_adapter *i2c, u16 reg, u8 *data, u16 size)
drivers/media/pci/smipcie/smipcie-main.c
247
ret = i2c_transfer(i2c, msg, 2);
drivers/media/pci/smipcie/smipcie-main.c
250
dev_err(&i2c->dev, "%s: reg=0x%x (error=%d)\n",
drivers/media/pci/smipcie/smipcie-main.c
529
struct i2c_adapter *i2c;
drivers/media/pci/smipcie/smipcie-main.c
536
i2c = (port->idx == 0) ? &dev->i2c_bus[0] : &dev->i2c_bus[1];
drivers/media/pci/smipcie/smipcie-main.c
540
&smi_dvbsky_m88ds3103_cfg, i2c, &tuner_i2c_adapter);
drivers/media/pci/smipcie/smipcie-main.c
584
struct i2c_adapter *i2c;
drivers/media/pci/smipcie/smipcie-main.c
592
i2c = (port->idx == 0) ? &dev->i2c_bus[0] : &dev->i2c_bus[1];
drivers/media/pci/smipcie/smipcie-main.c
596
&smi_dvbsky_m88rs6000_cfg, i2c, &tuner_i2c_adapter);
drivers/media/pci/smipcie/smipcie-main.c
628
struct i2c_adapter *i2c;
drivers/media/pci/smipcie/smipcie-main.c
636
i2c = (port->idx == 0) ? &dev->i2c_bus[0] : &dev->i2c_bus[1];
drivers/media/pci/smipcie/smipcie-main.c
649
client_demod = smi_add_i2c_client(i2c, &client_info);
drivers/media/pci/ttpci/budget-av.c
106
if (i2c_transfer(i2c, msgs, 2) != 2)
drivers/media/pci/ttpci/budget-av.c
112
static int i2c_writereg(struct i2c_adapter *i2c, u8 id, u8 reg, u8 val)
drivers/media/pci/ttpci/budget-av.c
121
return i2c_transfer(i2c, &msgs, 1);
drivers/media/pci/ttpci/budget-av.c
78
static u8 i2c_readreg(struct i2c_adapter *i2c, u8 id, u8 reg)
drivers/media/pci/ttpci/budget-av.c
93
i2c_transfer(i2c, msgs, 2);
drivers/media/pci/ttpci/budget-av.c
98
static int i2c_readregs(struct i2c_adapter *i2c, u8 id, u8 reg, u8 *buf, u8 len)
drivers/media/pci/ttpci/budget.c
424
static int i2c_readreg(struct i2c_adapter *i2c, u8 adr, u8 reg)
drivers/media/pci/ttpci/budget.c
432
return (i2c_transfer(i2c, msg, 2) != 2) ? -EIO : val;
drivers/media/radio/radio-tea5764.c
508
MODULE_DEVICE_TABLE(i2c, tea5764_id);
drivers/media/radio/saa7706h.c
402
MODULE_DEVICE_TABLE(i2c, saa7706h_id);
drivers/media/radio/si470x/radio-si470x-i2c.c
35
MODULE_DEVICE_TABLE(i2c, si470x_i2c_id);
drivers/media/radio/si4713/si4713.c
1645
MODULE_DEVICE_TABLE(i2c, si4713_id);
drivers/media/radio/tef6862.c
180
MODULE_DEVICE_TABLE(i2c, tef6862_id);
drivers/media/test-drivers/vidtv/vidtv_demod.c
413
MODULE_DEVICE_TABLE(i2c, vidtv_demod_i2c_id_table);
drivers/media/test-drivers/vidtv/vidtv_tuner.c
391
MODULE_DEVICE_TABLE(i2c, vidtv_tuner_i2c_id_table);
drivers/media/tuners/e4000.c
725
MODULE_DEVICE_TABLE(i2c, e4000_id_table);
drivers/media/tuners/fc0011.c
116
err = fe->callback(priv->i2c, DVB_FRONTEND_COMPONENT_TUNER,
drivers/media/tuners/fc0011.c
119
dev_err(&priv->i2c->dev, "Power-on callback failed\n");
drivers/media/tuners/fc0011.c
122
err = fe->callback(priv->i2c, DVB_FRONTEND_COMPONENT_TUNER,
drivers/media/tuners/fc0011.c
125
dev_err(&priv->i2c->dev, "Reset callback failed\n");
drivers/media/tuners/fc0011.c
235
dev_warn(&priv->i2c->dev,
drivers/media/tuners/fc0011.c
250
dev_warn(&priv->i2c->dev, "Unsupported bandwidth %u kHz. Using 6000 kHz.\n",
drivers/media/tuners/fc0011.c
299
err = fe->callback(priv->i2c, DVB_FRONTEND_COMPONENT_TUNER,
drivers/media/tuners/fc0011.c
302
dev_err(&priv->i2c->dev, "Failed to reset tuner\n");
drivers/media/tuners/fc0011.c
326
dev_err(&priv->i2c->dev,
drivers/media/tuners/fc0011.c
423
dev_dbg(&priv->i2c->dev, "Tuned to fa=%02X fp=%02X xin=%02X%02X vco=%02X vcosel=%02X vcocal=%02X(%u) bw=%u\n",
drivers/media/tuners/fc0011.c
483
struct i2c_adapter *i2c,
drivers/media/tuners/fc0011.c
492
priv->i2c = i2c;
drivers/media/tuners/fc0011.c
498
dev_info(&priv->i2c->dev, "Fitipower FC0011 tuner attached\n");
drivers/media/tuners/fc0011.c
59
struct i2c_adapter *i2c;
drivers/media/tuners/fc0011.c
73
if (i2c_transfer(priv->i2c, &msg, 1) != 1) {
drivers/media/tuners/fc0011.c
74
dev_err(&priv->i2c->dev,
drivers/media/tuners/fc0011.c
93
if (i2c_transfer(priv->i2c, msg, 2) != 2) {
drivers/media/tuners/fc0011.c
94
dev_err(&priv->i2c->dev,
drivers/media/tuners/fc0011.h
28
struct i2c_adapter *i2c,
drivers/media/tuners/fc0011.h
33
struct i2c_adapter *i2c,
drivers/media/tuners/fc0011.h
36
dev_err(&i2c->dev, "fc0011 driver disabled in Kconfig\n");
drivers/media/tuners/fc0012-priv.h
12
struct i2c_adapter *i2c;
drivers/media/tuners/fc0012.c
112
dev_err(&priv->i2c->dev, "%s: fc0012_writereg failed: %d\n",
drivers/media/tuners/fc0012.c
131
ret = fe->callback(priv->i2c, DVB_FRONTEND_COMPONENT_TUNER,
drivers/media/tuners/fc0012.c
18
if (i2c_transfer(priv->i2c, &msg, 1) != 1) {
drivers/media/tuners/fc0012.c
19
dev_err(&priv->i2c->dev,
drivers/media/tuners/fc0012.c
249
dev_err(&priv->i2c->dev, "%s: modulation type not supported!\n",
drivers/media/tuners/fc0012.c
312
dev_warn(&priv->i2c->dev, "%s: %s failed: %d\n",
drivers/media/tuners/fc0012.c
36
if (i2c_transfer(priv->i2c, msg, 2) != 2) {
drivers/media/tuners/fc0012.c
37
dev_err(&priv->i2c->dev,
drivers/media/tuners/fc0012.c
402
dev_warn(&priv->i2c->dev, "%s: %s failed: %d\n",
drivers/media/tuners/fc0012.c
429
struct i2c_adapter *i2c, const struct fc0012_config *cfg)
drivers/media/tuners/fc0012.c
441
dev_err(&i2c->dev, "%s: kzalloc() failed\n", KBUILD_MODNAME);
drivers/media/tuners/fc0012.c
446
priv->i2c = i2c;
drivers/media/tuners/fc0012.c
453
dev_dbg(&i2c->dev, "%s: chip_id=%02x\n", __func__, chip_id);
drivers/media/tuners/fc0012.c
463
dev_info(&i2c->dev, "%s: Fitipower FC0012 successfully identified\n",
drivers/media/tuners/fc0012.c
491
dev_dbg(&i2c->dev, "%s: failed: %d\n", __func__, ret);
drivers/media/tuners/fc0012.h
40
struct i2c_adapter *i2c,
drivers/media/tuners/fc0012.h
44
struct i2c_adapter *i2c,
drivers/media/tuners/fc0013-priv.h
21
struct i2c_adapter *i2c;
drivers/media/tuners/fc0013.c
158
ret = fe->callback(priv->i2c, DVB_FRONTEND_COMPONENT_TUNER,
drivers/media/tuners/fc0013.c
20
if (i2c_transfer(priv->i2c, &msg, 1) != 1) {
drivers/media/tuners/fc0013.c
34
if (i2c_transfer(priv->i2c, msg, 2) != 2) {
drivers/media/tuners/fc0013.c
524
struct i2c_adapter *i2c, u8 i2c_address, int dual_master,
drivers/media/tuners/fc0013.c
533
priv->i2c = i2c;
drivers/media/tuners/fc0013.h
16
struct i2c_adapter *i2c,
drivers/media/tuners/fc0013.h
21
struct i2c_adapter *i2c,
drivers/media/tuners/fc2580.c
606
MODULE_DEVICE_TABLE(i2c, fc2580_id_table);
drivers/media/tuners/m88rs6000t.c
715
MODULE_DEVICE_TABLE(i2c, m88rs6000t_id);
drivers/media/tuners/max2165.c
388
struct i2c_adapter *i2c,
drivers/media/tuners/max2165.c
394
i2c ? i2c_adapter_id(i2c) : -1,
drivers/media/tuners/max2165.c
405
priv->i2c = i2c;
drivers/media/tuners/max2165.c
43
ret = i2c_transfer(priv->i2c, &msg, 1);
drivers/media/tuners/max2165.c
64
ret = i2c_transfer(priv->i2c, msg, 2);
drivers/media/tuners/max2165.h
21
struct i2c_adapter *i2c,
drivers/media/tuners/max2165.h
25
struct i2c_adapter *i2c,
drivers/media/tuners/max2165_priv.h
33
struct i2c_adapter *i2c;
drivers/media/tuners/mc44s803.c
309
struct i2c_adapter *i2c, struct mc44s803_config *cfg)
drivers/media/tuners/mc44s803.c
323
priv->i2c = i2c;
drivers/media/tuners/mc44s803.c
34
if (i2c_transfer(priv->i2c, &msg, 1) != 1) {
drivers/media/tuners/mc44s803.c
59
if (i2c_transfer(priv->i2c, msg, 1) != 1) {
drivers/media/tuners/mc44s803.h
21
struct i2c_adapter *i2c, struct mc44s803_config *cfg);
drivers/media/tuners/mc44s803.h
24
struct i2c_adapter *i2c, struct mc44s803_config *cfg)
drivers/media/tuners/mc44s803_priv.h
188
struct i2c_adapter *i2c;
drivers/media/tuners/mt2060.c
105
if (i2c_transfer(priv->i2c, &msg, 1) != 1) {
drivers/media/tuners/mt2060.c
405
struct dvb_frontend * mt2060_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2060_config *cfg, u16 if1)
drivers/media/tuners/mt2060.c
415
priv->i2c = i2c;
drivers/media/tuners/mt2060.c
47
if (i2c_transfer(priv->i2c, msg, 2) != 2) {
drivers/media/tuners/mt2060.c
471
dev->i2c = client->adapter;
drivers/media/tuners/mt2060.c
520
MODULE_DEVICE_TABLE(i2c, mt2060_id_table);
drivers/media/tuners/mt2060.c
75
if (i2c_transfer(priv->i2c, &msg, 1) != 1) {
drivers/media/tuners/mt2060.h
43
extern struct dvb_frontend * mt2060_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2060_config *cfg, u16 if1);
drivers/media/tuners/mt2060.h
45
static inline struct dvb_frontend * mt2060_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2060_config *cfg, u16 if1)
drivers/media/tuners/mt2060_priv.h
83
struct i2c_adapter *i2c;
drivers/media/tuners/mt2063.c
213
struct i2c_adapter *i2c;
drivers/media/tuners/mt2063.c
2209
struct i2c_adapter *i2c)
drivers/media/tuners/mt2063.c
2220
state->i2c = i2c;
drivers/media/tuners/mt2063.c
258
ret = i2c_transfer(state->i2c, &msg, 1);
drivers/media/tuners/mt2063.c
320
status = i2c_transfer(state->i2c, msg, 2);
drivers/media/tuners/mt2063.h
15
struct i2c_adapter *i2c);
drivers/media/tuners/mt2063.h
21
struct i2c_adapter *i2c)
drivers/media/tuners/mt2131.c
243
struct i2c_adapter *i2c,
drivers/media/tuners/mt2131.c
256
priv->i2c = i2c;
drivers/media/tuners/mt2131.c
48
if (i2c_transfer(priv->i2c, msg, 2) != 2) {
drivers/media/tuners/mt2131.c
61
if (i2c_transfer(priv->i2c, &msg, 1) != 1) {
drivers/media/tuners/mt2131.c
73
if (i2c_transfer(priv->i2c, &msg, 1) != 1) {
drivers/media/tuners/mt2131.h
21
struct i2c_adapter *i2c,
drivers/media/tuners/mt2131.h
26
struct i2c_adapter *i2c,
drivers/media/tuners/mt2131_priv.h
24
struct i2c_adapter *i2c;
drivers/media/tuners/mt2266.c
29
struct i2c_adapter *i2c;
drivers/media/tuners/mt2266.c
311
struct dvb_frontend * mt2266_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2266_config *cfg)
drivers/media/tuners/mt2266.c
321
priv->i2c = i2c;
drivers/media/tuners/mt2266.c
54
if (i2c_transfer(priv->i2c, msg, 2) != 2) {
drivers/media/tuners/mt2266.c
68
if (i2c_transfer(priv->i2c, &msg, 1) != 1) {
drivers/media/tuners/mt2266.c
81
if (i2c_transfer(priv->i2c, &msg, 1) != 1) {
drivers/media/tuners/mt2266.h
19
extern struct dvb_frontend * mt2266_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2266_config *cfg);
drivers/media/tuners/mt2266.h
21
static inline struct dvb_frontend * mt2266_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2266_config *cfg)
drivers/media/tuners/mxl301rf.c
224
dev_warn(&state->i2c->dev, "(%s) failed. [adap%d-fe%d]\n",
drivers/media/tuners/mxl301rf.c
242
dev_warn(&state->i2c->dev, "(%s) failed. [adap%d-fe%d]\n",
drivers/media/tuners/mxl301rf.c
261
dev_warn(&state->i2c->dev, "(%s) failed. [adap%d-fe%d]\n",
drivers/media/tuners/mxl301rf.c
27
struct i2c_client *i2c;
drivers/media/tuners/mxl301rf.c
296
state->i2c = client;
drivers/media/tuners/mxl301rf.c
323
MODULE_DEVICE_TABLE(i2c, mxl301rf_id);
drivers/media/tuners/mxl301rf.c
39
ret = i2c_master_send(state->i2c, buf, len);
drivers/media/tuners/mxl301rf.c
59
ret = i2c_master_recv(state->i2c, val, 1);
drivers/media/tuners/mxl5005s.c
291
struct i2c_adapter *i2c;
drivers/media/tuners/mxl5005s.c
3853
if (i2c_transfer(state->i2c, &msg, 1) != 1) {
drivers/media/tuners/mxl5005s.c
3879
if (i2c_transfer(state->i2c, &msg, 1) != 1) {
drivers/media/tuners/mxl5005s.c
4100
struct i2c_adapter *i2c,
drivers/media/tuners/mxl5005s.c
4112
state->i2c = i2c;
drivers/media/tuners/mxl5005s.h
109
struct i2c_adapter *i2c,
drivers/media/tuners/mxl5005s.h
113
struct i2c_adapter *i2c,
drivers/media/tuners/mxl5007t.c
837
struct i2c_adapter *i2c, u8 addr,
drivers/media/tuners/mxl5007t.c
846
i2c, addr, "mxl5007t");
drivers/media/tuners/mxl5007t.h
69
struct i2c_adapter *i2c, u8 addr,
drivers/media/tuners/mxl5007t.h
73
struct i2c_adapter *i2c,
drivers/media/tuners/qm1d1b0004.c
129
ret = i2c_master_send(state->i2c, buf, 4);
drivers/media/tuners/qm1d1b0004.c
135
ret = i2c_master_send(state->i2c, buf, 1);
drivers/media/tuners/qm1d1b0004.c
149
ret = i2c_master_send(state->i2c, buf, 2);
drivers/media/tuners/qm1d1b0004.c
155
ret = i2c_master_recv(state->i2c, buf, 1);
drivers/media/tuners/qm1d1b0004.c
181
return i2c_master_send(state->i2c, buf, 2);
drivers/media/tuners/qm1d1b0004.c
220
state->i2c = client;
drivers/media/tuners/qm1d1b0004.c
250
MODULE_DEVICE_TABLE(i2c, qm1d1b0004_id);
drivers/media/tuners/qm1d1b0004.c
71
struct i2c_client *i2c;
drivers/media/tuners/qm1d1c0042.c
122
dev_warn(&state->i2c->dev, "(%s) failed. [adap%d-fe%d]\n",
drivers/media/tuners/qm1d1c0042.c
141
dev_warn(&state->i2c->dev,
drivers/media/tuners/qm1d1c0042.c
312
dev_warn(&state->i2c->dev, "(%s) failed. [adap%d-fe%d]\n",
drivers/media/tuners/qm1d1c0042.c
382
dev_warn(&state->i2c->dev, "(%s) failed. [adap%d-fe%d]\n",
drivers/media/tuners/qm1d1c0042.c
413
state->i2c = client;
drivers/media/tuners/qm1d1c0042.c
440
MODULE_DEVICE_TABLE(i2c, qm1d1c0042_id);
drivers/media/tuners/qm1d1c0042.c
55
struct i2c_client *i2c;
drivers/media/tuners/qm1d1c0042.c
69
ret = i2c_master_send(state->i2c, wbuf, sizeof(wbuf));
drivers/media/tuners/qm1d1c0042.c
79
.addr = state->i2c->addr,
drivers/media/tuners/qm1d1c0042.c
85
.addr = state->i2c->addr,
drivers/media/tuners/qm1d1c0042.c
93
ret = i2c_transfer(state->i2c->adapter, msgs, ARRAY_SIZE(msgs));
drivers/media/tuners/qt1010.c
191
dev_dbg(&priv->i2c->dev,
drivers/media/tuners/qt1010.c
21
if (i2c_transfer(priv->i2c, msg, 2) != 2) {
drivers/media/tuners/qt1010.c
22
dev_warn(&priv->i2c->dev, "%s: i2c rd failed reg=%02x\n",
drivers/media/tuners/qt1010.c
243
dev_dbg(&priv->i2c->dev, "%s: compare reg:%02x %02x %02x\n",
drivers/media/tuners/qt1010.c
36
if (i2c_transfer(priv->i2c, &msg, 1) != 1) {
drivers/media/tuners/qt1010.c
37
dev_warn(&priv->i2c->dev, "%s: i2c wr failed reg=%02x\n",
drivers/media/tuners/qt1010.c
408
struct i2c_adapter *i2c,
drivers/media/tuners/qt1010.c
419
priv->i2c = i2c;
drivers/media/tuners/qt1010.c
434
dev_info(&priv->i2c->dev,
drivers/media/tuners/qt1010.h
28
struct i2c_adapter *i2c,
drivers/media/tuners/qt1010.h
32
struct i2c_adapter *i2c,
drivers/media/tuners/qt1010_priv.h
84
struct i2c_adapter *i2c;
drivers/media/tuners/r820t.c
2334
struct i2c_adapter *i2c,
drivers/media/tuners/r820t.c
2346
i2c, cfg->i2c_addr,
drivers/media/tuners/r820t.h
33
struct i2c_adapter *i2c,
drivers/media/tuners/r820t.h
37
struct i2c_adapter *i2c,
drivers/media/tuners/si2157.c
986
MODULE_DEVICE_TABLE(i2c, si2157_id_table);
drivers/media/tuners/tda18212.c
260
MODULE_DEVICE_TABLE(i2c, tda18212_id);
drivers/media/tuners/tda18218.c
201
dev_dbg(&priv->i2c->dev, "%s: failed=%d\n", __func__, ret);
drivers/media/tuners/tda18218.c
210
dev_dbg(&priv->i2c->dev, "%s: if_frequency=%d\n", __func__, *frequency);
drivers/media/tuners/tda18218.c
229
dev_dbg(&priv->i2c->dev, "%s: failed=%d\n", __func__, ret);
drivers/media/tuners/tda18218.c
250
dev_dbg(&priv->i2c->dev, "%s: failed=%d\n", __func__, ret);
drivers/media/tuners/tda18218.c
27
dev_warn(&priv->i2c->dev,
drivers/media/tuners/tda18218.c
280
struct i2c_adapter *i2c, struct tda18218_config *cfg)
drivers/media/tuners/tda18218.c
300
priv->i2c = i2c;
drivers/media/tuners/tda18218.c
309
dev_dbg(&priv->i2c->dev, "%s: chip id=%02x\n", __func__, val);
drivers/media/tuners/tda18218.c
315
dev_info(&priv->i2c->dev,
drivers/media/tuners/tda18218.c
332
dev_dbg(&priv->i2c->dev, "%s: failed=%d\n", __func__, ret);
drivers/media/tuners/tda18218.c
43
ret = i2c_transfer(priv->i2c, msg, 1);
drivers/media/tuners/tda18218.c
51
dev_warn(&priv->i2c->dev, "%s: i2c wr failed=%d reg=%02x " \
drivers/media/tuners/tda18218.c
79
dev_warn(&priv->i2c->dev,
drivers/media/tuners/tda18218.c
85
ret = i2c_transfer(priv->i2c, msg, 2);
drivers/media/tuners/tda18218.c
90
dev_warn(&priv->i2c->dev, "%s: i2c rd failed=%d reg=%02x " \
drivers/media/tuners/tda18218.h
21
struct i2c_adapter *i2c, struct tda18218_config *cfg);
drivers/media/tuners/tda18218.h
24
struct i2c_adapter *i2c, struct tda18218_config *cfg)
drivers/media/tuners/tda18218_priv.h
77
struct i2c_adapter *i2c;
drivers/media/tuners/tda18250.c
874
MODULE_DEVICE_TABLE(i2c, tda18250_id_table);
drivers/media/tuners/tda18250_priv.h
119
struct i2c_adapter *i2c;
drivers/media/tuners/tda18271-fe.c
1248
struct i2c_adapter *i2c,
drivers/media/tuners/tda18271-fe.c
1258
i2c, addr, "tda18271");
drivers/media/tuners/tda18271.h
114
struct i2c_adapter *i2c,
drivers/media/tuners/tda18271.h
119
struct i2c_adapter *i2c,
drivers/media/tuners/tda827x.c
870
struct i2c_adapter *i2c,
drivers/media/tuners/tda827x.c
881
priv->i2c_adap = i2c;
drivers/media/tuners/tda827x.h
43
struct i2c_adapter *i2c,
drivers/media/tuners/tda827x.h
48
struct i2c_adapter *i2c,
drivers/media/tuners/tea5761.c
266
struct tuner_i2c_props i2c = { .adap = i2c_adap, .addr = i2c_addr };
drivers/media/tuners/tea5761.c
268
if (16 != (rc = tuner_i2c_xfer_recv(&i2c, buffer, 16))) {
drivers/media/tuners/tea5767.c
370
struct tuner_i2c_props i2c = { .adap = i2c_adap, .addr = i2c_addr };
drivers/media/tuners/tea5767.c
375
if ((rc = tuner_i2c_xfer_recv(&i2c, buffer, 7))< 5) {
drivers/media/tuners/tua9001.c
251
MODULE_DEVICE_TABLE(i2c, tua9001_id_table);
drivers/media/tuners/tuner-simple.c
392
struct tuner_i2c_props i2c = priv->i2c_props;
drivers/media/tuners/tuner-simple.c
404
i2c.addr = 0x0a;
drivers/media/tuners/tuner-simple.c
405
rc = tuner_i2c_xfer_send(&i2c, &buffer[0], 2);
drivers/media/tuners/tuner-simple.c
409
rc = tuner_i2c_xfer_send(&i2c, &buffer[2], 2);
drivers/media/tuners/xc4000.c
1645
struct i2c_adapter *i2c,
drivers/media/tuners/xc4000.c
1653
i2c ? i2c_adapter_id(i2c) : -1,
drivers/media/tuners/xc4000.c
1660
i2c, cfg->i2c_address, "xc4000");
drivers/media/tuners/xc4000.h
41
struct i2c_adapter *i2c,
drivers/media/tuners/xc4000.h
45
struct i2c_adapter *i2c,
drivers/media/tuners/xc5000.c
1360
struct i2c_adapter *i2c,
drivers/media/tuners/xc5000.c
1368
i2c ? i2c_adapter_id(i2c) : -1,
drivers/media/tuners/xc5000.c
1375
i2c, cfg->i2c_address, "xc5000");
drivers/media/tuners/xc5000.h
48
struct i2c_adapter *i2c,
drivers/media/tuners/xc5000.h
52
struct i2c_adapter *i2c,
drivers/media/usb/b2c2/flexcop-usb.c
228
static int flexcop_usb_i2c_req(struct flexcop_i2c_adapter *i2c,
drivers/media/usb/b2c2/flexcop-usb.c
232
struct flexcop_usb *fc_usb = i2c->fc->bus_specific;
drivers/media/usb/b2c2/flexcop-usb.c
262
wValue = (func << 8) | (i2c->port << 4);
drivers/media/usb/b2c2/flexcop-usb.c
315
static int flexcop_usb_i2c_request(struct flexcop_i2c_adapter *i2c,
drivers/media/usb/b2c2/flexcop-usb.c
319
return flexcop_usb_i2c_req(i2c, B2C2_USB_I2C_REQUEST,
drivers/media/usb/b2c2/flexcop-usb.c
322
return flexcop_usb_i2c_req(i2c, B2C2_USB_I2C_REQUEST,
drivers/media/usb/dvb-usb/dib0700_devices.c
2214
static int dib01x0_pmu_update(struct i2c_adapter *i2c, u16 *data, u8 len)
drivers/media/usb/dvb-usb/dib0700_devices.c
2224
dibx000_i2c_set_speed(i2c, 250);
drivers/media/usb/dvb-usb/dib0700_devices.c
2226
if (i2c_transfer(i2c, msg, 2) != 2)
drivers/media/usb/dvb-usb/dib0700_devices.c
2252
if (i2c_transfer(i2c, msg, 2) != 2)
drivers/media/usb/dvb-usb/dib0700_devices.c
2261
if (i2c_transfer(i2c, &msg[0], 1) != 1)
drivers/media/usb/dvb-usb/dib0700_devices.c
2426
struct i2c_adapter *i2c = dib9000_get_tuner_interface(adap->fe_adap[0].fe);
drivers/media/usb/dvb-usb/dib0700_devices.c
2437
if (dvb_attach(dib0090_fw_register, adap->fe_adap[0].fe, i2c, &dib9090_dib0090_config) == NULL)
drivers/media/usb/dvb-usb/dib0700_devices.c
2439
i2c = dib9000_get_i2c_master(adap->fe_adap[0].fe, DIBX000_I2C_INTERFACE_GPIO_1_2, 0);
drivers/media/usb/dvb-usb/dib0700_devices.c
2440
if (!i2c)
drivers/media/usb/dvb-usb/dib0700_devices.c
2442
if (dib01x0_pmu_update(i2c, data_dib190, 10) != 0)
drivers/media/usb/dvb-usb/dib0700_devices.c
2455
struct i2c_adapter *i2c;
drivers/media/usb/dvb-usb/dib0700_devices.c
2498
i2c = dib9000_get_i2c_master(adap->fe_adap[0].fe, DIBX000_I2C_INTERFACE_GPIO_3_4, 0);
drivers/media/usb/dvb-usb/dib0700_devices.c
2499
dib9000_i2c_enumeration(i2c, 1, 0x12, 0x82);
drivers/media/usb/dvb-usb/dib0700_devices.c
2501
fe_slave = dvb_attach(dib9000_attach, i2c, 0x82, &nim9090md_config[1]);
drivers/media/usb/dvb-usb/dib0700_devices.c
2515
struct i2c_adapter *i2c;
drivers/media/usb/dvb-usb/dib0700_devices.c
2526
i2c = dib9000_get_tuner_interface(adap->fe_adap[0].fe);
drivers/media/usb/dvb-usb/dib0700_devices.c
2527
if (dvb_attach(dib0090_fw_register, adap->fe_adap[0].fe, i2c, &nim9090md_dib0090_config[0]) == NULL)
drivers/media/usb/dvb-usb/dib0700_devices.c
2529
i2c = dib9000_get_i2c_master(adap->fe_adap[0].fe, DIBX000_I2C_INTERFACE_GPIO_1_2, 0);
drivers/media/usb/dvb-usb/dib0700_devices.c
2530
if (!i2c)
drivers/media/usb/dvb-usb/dib0700_devices.c
2532
if (dib01x0_pmu_update(i2c, data_dib190, 10) < 0)
drivers/media/usb/dvb-usb/dib0700_devices.c
2541
i2c = dib9000_get_component_bus_interface(adap->fe_adap[0].fe);
drivers/media/usb/dvb-usb/dib0700_devices.c
2542
dib9000_set_i2c_adapter(fe_slave, i2c);
drivers/media/usb/dvb-usb/dib0700_devices.c
2544
i2c = dib9000_get_tuner_interface(fe_slave);
drivers/media/usb/dvb-usb/dib0700_devices.c
2545
if (dvb_attach(dib0090_fw_register, fe_slave, i2c, &nim9090md_dib0090_config[1]) == NULL)
drivers/media/usb/dvb-usb/dib0700_devices.c
3138
struct i2c_adapter *i2c;
drivers/media/usb/dvb-usb/dib0700_devices.c
3149
i2c = state->dib7000p_ops.get_i2c_master(adap->dev->adapter[0].fe_adap[0].fe, DIBX000_I2C_INTERFACE_GPIO_6_7, 1);
drivers/media/usb/dvb-usb/dib0700_devices.c
3150
if (state->dib7000p_ops.i2c_enumeration(i2c, 1, 0x10, &tfe7090pvr_dib7000p_config[1]) != 0) {
drivers/media/usb/dvb-usb/dib0700_devices.c
3156
adap->fe_adap[0].fe = state->dib7000p_ops.init(i2c, 0x92, &tfe7090pvr_dib7000p_config[1]);
drivers/media/usb/go7007/go7007-driver.c
197
static int init_i2c_module(struct i2c_adapter *adapter, const struct go_i2c *const i2c)
drivers/media/usb/go7007/go7007-driver.c
205
strscpy(info.type, i2c->type, sizeof(info.type));
drivers/media/usb/go7007/go7007-driver.c
206
info.addr = i2c->addr;
drivers/media/usb/go7007/go7007-driver.c
207
info.flags = i2c->flags;
drivers/media/usb/go7007/go7007-driver.c
211
if (i2c->is_video)
drivers/media/usb/go7007/go7007-driver.c
213
if (i2c->is_audio)
drivers/media/usb/go7007/go7007-driver.c
218
pr_info("go7007: probing for module i2c:%s failed\n", i2c->type);
drivers/media/usb/go7007/s2250-board.c
617
MODULE_DEVICE_TABLE(i2c, s2250_id);
drivers/media/usb/gspca/sonixb.c
1197
const __u8 i2c[] = { 0xa0, 0x21, 0x13,
drivers/media/usb/gspca/sonixb.c
1199
i2c_w(gspca_dev, i2c);
drivers/media/usb/gspca/sonixb.c
586
__u8 i2c[] =
drivers/media/usb/gspca/sonixb.c
589
i2c[3] = 0x3f - gain;
drivers/media/usb/gspca/sonixb.c
590
i2c[4] = 0x3f - gain;
drivers/media/usb/gspca/sonixb.c
591
i2c[5] = 0x3f - gain;
drivers/media/usb/gspca/sonixb.c
593
i2c_w(gspca_dev, i2c);
drivers/media/usb/gspca/sonixb.c
598
__u8 i2c[] =
drivers/media/usb/gspca/sonixb.c
601
i2c[4] = 255 - gain;
drivers/media/usb/gspca/sonixb.c
602
i2c_w(gspca_dev, i2c);
drivers/media/usb/gspca/sonixb.c
606
__u8 i2c[] = {
drivers/media/usb/gspca/sonixb.c
610
i2c[3] |= (gain & 0x80) >> 7;
drivers/media/usb/gspca/sonixb.c
611
i2c[3] |= (gain & 0x40) >> 5;
drivers/media/usb/gspca/sonixb.c
612
i2c[3] |= (gain & 0x20) >> 3;
drivers/media/usb/gspca/sonixb.c
613
i2c[3] |= (gain & 0x10) >> 1;
drivers/media/usb/gspca/sonixb.c
614
i2c[3] |= (gain & 0x08) << 1;
drivers/media/usb/gspca/sonixb.c
615
i2c[3] |= (gain & 0x04) << 3;
drivers/media/usb/gspca/sonixb.c
616
i2c[3] |= (gain & 0x02) << 5;
drivers/media/usb/gspca/sonixb.c
617
i2c[3] |= (gain & 0x01) << 7;
drivers/media/usb/gspca/sonixb.c
618
i2c_w(gspca_dev, i2c);
drivers/media/usb/gspca/sonixb.c
623
__u8 i2c[] = {0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10};
drivers/media/usb/gspca/sonixb.c
632
i2c[1] = sensor_data[sd->sensor].sensor_addr;
drivers/media/usb/gspca/sonixb.c
633
i2c[3] = gain;
drivers/media/usb/gspca/sonixb.c
634
i2c_w(gspca_dev, i2c);
drivers/media/usb/gspca/sonixb.c
686
__u8 i2c[] = {0xc0, 0x11, 0x25, 0x00, 0x00, 0x00, 0x00, 0x17};
drivers/media/usb/gspca/sonixb.c
689
i2c[3] = reg >> 8;
drivers/media/usb/gspca/sonixb.c
690
i2c[4] = reg & 0xff;
drivers/media/usb/gspca/sonixb.c
691
i2c_w(gspca_dev, i2c);
drivers/media/usb/gspca/sonixb.c
721
__u8 i2c[] = {0xb0, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10};
drivers/media/usb/gspca/sonixb.c
732
i2c[4] = 0xc0; /* OV6650 needs non default vsync pol */
drivers/media/usb/gspca/sonixb.c
764
i2c[1] = sensor_data[sd->sensor].sensor_addr;
drivers/media/usb/gspca/sonixb.c
765
i2c[3] = reg10;
drivers/media/usb/gspca/sonixb.c
766
i2c[4] |= reg11 - 1;
drivers/media/usb/gspca/sonixb.c
770
i2c[0] = 0xa0;
drivers/media/usb/gspca/sonixb.c
772
i2c_w(gspca_dev, i2c);
drivers/media/usb/gspca/sonixb.c
858
__u8 i2c[] = {0xa0, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x10};
drivers/media/usb/gspca/sonixb.c
863
i2c[3] = 0;
drivers/media/usb/gspca/sonixb.c
866
i2c[3] = (sd->sensor == SENSOR_OV6650)
drivers/media/usb/gspca/sonixb.c
870
i2c[1] = sensor_data[sd->sensor].sensor_addr;
drivers/media/usb/gspca/sonixb.c
871
i2c_w(gspca_dev, i2c);
drivers/media/v4l2-core/tuner-core.c
1407
MODULE_DEVICE_TABLE(i2c, tuner_id);
drivers/media/v4l2-core/tuner-core.c
151
struct i2c_client *i2c;
drivers/media/v4l2-core/tuner-core.c
326
&t->fe, t->i2c->adapter, t->i2c->addr))
drivers/media/v4l2-core/tuner-core.c
331
if (!dvb_attach(tda829x_attach, &t->fe, t->i2c->adapter,
drivers/media/v4l2-core/tuner-core.c
332
t->i2c->addr, t->config))
drivers/media/v4l2-core/tuner-core.c
338
t->i2c->adapter, t->i2c->addr))
drivers/media/v4l2-core/tuner-core.c
344
t->i2c->adapter, t->i2c->addr))
drivers/media/v4l2-core/tuner-core.c
360
t->i2c->adapter, t->i2c->addr, t->type))
drivers/media/v4l2-core/tuner-core.c
370
t->i2c->adapter, t->i2c->addr, t->type))
drivers/media/v4l2-core/tuner-core.c
376
.i2c_adap = t->i2c->adapter,
drivers/media/v4l2-core/tuner-core.c
377
.i2c_addr = t->i2c->addr,
drivers/media/v4l2-core/tuner-core.c
386
&t->fe, t->i2c->adapter, t->i2c->addr))
drivers/media/v4l2-core/tuner-core.c
392
.i2c_address = t->i2c->addr,
drivers/media/v4l2-core/tuner-core.c
398
&t->fe, t->i2c->adapter, &xc5000_cfg))
drivers/media/v4l2-core/tuner-core.c
406
.i2c_address = t->i2c->addr,
drivers/media/v4l2-core/tuner-core.c
413
&t->fe, t->i2c->adapter, &xc5000c_cfg))
drivers/media/v4l2-core/tuner-core.c
424
if (!dvb_attach(tda18271_attach, &t->fe, t->i2c->addr,
drivers/media/v4l2-core/tuner-core.c
425
t->i2c->adapter, &cfg))
drivers/media/v4l2-core/tuner-core.c
433
.i2c_address = t->i2c->addr,
drivers/media/v4l2-core/tuner-core.c
442
&t->fe, t->i2c->adapter, &xc4000_cfg))
drivers/media/v4l2-core/tuner-core.c
449
t->i2c->adapter, t->i2c->addr, t->type))
drivers/media/v4l2-core/tuner-core.c
597
if (pos->i2c->adapter != adap ||
drivers/media/v4l2-core/tuner-core.c
598
strcmp(pos->i2c->dev.driver->name, "tuner"))
drivers/media/v4l2-core/tuner-core.c
640
t->i2c = client;
drivers/media/v4l2-core/tuner-core.c
663
t->i2c->adapter,
drivers/media/v4l2-core/tuner-core.c
664
t->i2c->addr) >= 0) {
drivers/media/v4l2-core/tuner-core.c
667
tuner_lookup(t->i2c->adapter, &radio, &tv);
drivers/media/v4l2-core/tuner-core.c
681
if (tuner_symbol_probe(tda829x_probe, t->i2c->adapter,
drivers/media/v4l2-core/tuner-core.c
682
t->i2c->addr) >= 0) {
drivers/media/v4l2-core/tuner-core.c
693
t->i2c->adapter, t->i2c->addr)
drivers/media/v4l2-core/tuner-core.c
698
tuner_lookup(t->i2c->adapter, &radio, &tv);
drivers/media/v4l2-core/tuner-core.c
715
tuner_lookup(t->i2c->adapter, &radio, &tv);
drivers/media/v4l2-core/tuner-core.c
89
i2c_adapter_id(t->i2c->adapter), t->i2c->addr
drivers/media/v4l2-core/v4l2-async.c
219
return match1->i2c.adapter_id == match2->i2c.adapter_id &&
drivers/media/v4l2-core/v4l2-async.c
220
match1->i2c.address == match2->i2c.address;
drivers/media/v4l2-core/v4l2-async.c
74
match->i2c.adapter_id == client->adapter->nr &&
drivers/media/v4l2-core/v4l2-async.c
75
match->i2c.address == client->addr;
drivers/media/v4l2-core/v4l2-async.c
768
asc->match.i2c.adapter_id = adapter_id;
drivers/media/v4l2-core/v4l2-async.c
769
asc->match.i2c.address = address;
drivers/media/v4l2-core/v4l2-async.c
919
seq_printf(s, " [i2c] dev=%d-%04x\n", match->i2c.adapter_id,
drivers/media/v4l2-core/v4l2-async.c
920
match->i2c.address);
drivers/mfd/88pm800.c
122
MODULE_DEVICE_TABLE(i2c, pm80x_id_table);
drivers/mfd/88pm805.c
36
MODULE_DEVICE_TABLE(i2c, pm80x_id_table);
drivers/mfd/88pm860x-core.c
1006
ret = pm860x_reg_read(i2c, PM8607_BUCK3);
drivers/mfd/88pm860x-core.c
1014
ret = pm860x_reg_read(i2c, PM8607_B0_MISC1);
drivers/mfd/88pm860x-core.c
1024
ret = pm860x_set_bits(i2c, PM8607_B0_MISC1, PM8607_B0_MISC1_PI2C, data);
drivers/mfd/88pm860x-core.c
1045
struct i2c_client *i2c,
drivers/mfd/88pm860x-core.c
1048
device_osc_init(i2c);
drivers/mfd/88pm860x-core.c
1087
static int verify_addr(struct i2c_client *i2c)
drivers/mfd/88pm860x-core.c
1093
if (i2c == NULL)
drivers/mfd/88pm860x-core.c
1097
if (i2c->addr == *(addr_8606 + i))
drivers/mfd/88pm860x-core.c
1102
if (i2c->addr == *(addr_8607 + i))
drivers/mfd/88pm860x-core.c
1238
MODULE_DEVICE_TABLE(i2c, pm860x_id_table);
drivers/mfd/88pm860x-core.c
466
struct i2c_client *i2c;
drivers/mfd/88pm860x-core.c
470
i2c = (chip->id == CHIP_PM8607) ? chip->client : chip->companion;
drivers/mfd/88pm860x-core.c
475
value = pm860x_reg_read(i2c, irq_data->reg);
drivers/mfd/88pm860x-core.c
494
struct i2c_client *i2c;
drivers/mfd/88pm860x-core.c
499
i2c = (chip->id == CHIP_PM8607) ? chip->client : chip->companion;
drivers/mfd/88pm860x-core.c
527
pm860x_reg_write(i2c, PM8607_INT_MASK_1 + i, mask[i]);
drivers/mfd/88pm860x-core.c
570
struct i2c_client *i2c = (chip->id == CHIP_PM8607) ?
drivers/mfd/88pm860x-core.c
590
ret = pm860x_set_bits(i2c, PM8607_B0_MISC1, mask, data);
drivers/mfd/88pm860x-core.c
596
ret = pm860x_bulk_write(i2c, PM8607_INT_MASK_1,
drivers/mfd/88pm860x-core.c
604
ret = pm860x_bulk_write(i2c, PM8607_INT_STATUS1,
drivers/mfd/88pm860x-core.c
608
ret = pm860x_bulk_read(i2c, PM8607_INT_STATUS1,
drivers/mfd/88pm860x-core.c
621
dev_err(&i2c->dev, "Failed to allocate interrupts, ret:%d\n",
drivers/mfd/88pm860x-core.c
626
irq_domain_create_legacy(dev_fwnode(&i2c->dev), nr_irqs, chip->irq_base, 0,
drivers/mfd/88pm860x-core.c
628
chip->core_irq = i2c->irq;
drivers/mfd/88pm860x-core.c
654
struct i2c_client *i2c = (chip->id == CHIP_PM8606) ?
drivers/mfd/88pm860x-core.c
669
if (pm860x_set_bits(i2c, PM8606_VSYS,
drivers/mfd/88pm860x-core.c
674
if (pm860x_set_bits(i2c, PM8606_MISC,
drivers/mfd/88pm860x-core.c
695
struct i2c_client *i2c = (chip->id == CHIP_PM8606) ?
drivers/mfd/88pm860x-core.c
714
if (pm860x_set_bits(i2c, PM8606_VSYS, PM8606_VSYS_EN, 0))
drivers/mfd/88pm860x-core.c
717
if (pm860x_set_bits(i2c, PM8606_MISC, PM8606_MISC_OSC_EN, 0))
drivers/mfd/88pm860x-core.c
733
static void device_osc_init(struct i2c_client *i2c)
drivers/mfd/88pm860x-core.c
735
struct pm860x_chip *chip = i2c_get_clientdata(i2c);
drivers/mfd/88pm860x-core.c
740
pm860x_set_bits(i2c, PM8606_VSYS, PM8606_VSYS_EN, 0);
drivers/mfd/88pm860x-core.c
742
pm860x_set_bits(i2c, PM8606_MISC, PM8606_MISC_OSC_EN, 0);
drivers/mfd/88pm860x-core.c
983
struct i2c_client *i2c,
drivers/mfd/88pm860x-core.c
988
ret = pm860x_reg_read(i2c, PM8607_CHIP_ID);
drivers/mfd/88pm860x-i2c.c
119
static int write_device(struct i2c_client *i2c, int reg,
drivers/mfd/88pm860x-i2c.c
123
struct i2c_adapter *adap = i2c->adapter;
drivers/mfd/88pm860x-i2c.c
129
msg.addr = i2c->addr;
drivers/mfd/88pm860x-i2c.c
140
int pm860x_page_reg_write(struct i2c_client *i2c, int reg,
drivers/mfd/88pm860x-i2c.c
146
i2c_lock_bus(i2c->adapter, I2C_LOCK_SEGMENT);
drivers/mfd/88pm860x-i2c.c
147
read_device(i2c, 0xFA, 0, &zero);
drivers/mfd/88pm860x-i2c.c
148
read_device(i2c, 0xFB, 0, &zero);
drivers/mfd/88pm860x-i2c.c
149
read_device(i2c, 0xFF, 0, &zero);
drivers/mfd/88pm860x-i2c.c
15
int pm860x_reg_read(struct i2c_client *i2c, int reg)
drivers/mfd/88pm860x-i2c.c
150
ret = write_device(i2c, reg, 1, &data);
drivers/mfd/88pm860x-i2c.c
151
read_device(i2c, 0xFE, 0, &zero);
drivers/mfd/88pm860x-i2c.c
152
read_device(i2c, 0xFC, 0, &zero);
drivers/mfd/88pm860x-i2c.c
153
i2c_unlock_bus(i2c->adapter, I2C_LOCK_SEGMENT);
drivers/mfd/88pm860x-i2c.c
158
int pm860x_page_bulk_read(struct i2c_client *i2c, int reg,
drivers/mfd/88pm860x-i2c.c
164
i2c_lock_bus(i2c->adapter, I2C_LOCK_SEGMENT);
drivers/mfd/88pm860x-i2c.c
165
read_device(i2c, 0xfa, 0, &zero);
drivers/mfd/88pm860x-i2c.c
166
read_device(i2c, 0xfb, 0, &zero);
drivers/mfd/88pm860x-i2c.c
167
read_device(i2c, 0xff, 0, &zero);
drivers/mfd/88pm860x-i2c.c
168
ret = read_device(i2c, reg, count, buf);
drivers/mfd/88pm860x-i2c.c
169
read_device(i2c, 0xFE, 0, &zero);
drivers/mfd/88pm860x-i2c.c
17
struct pm860x_chip *chip = i2c_get_clientdata(i2c);
drivers/mfd/88pm860x-i2c.c
170
read_device(i2c, 0xFC, 0, &zero);
drivers/mfd/88pm860x-i2c.c
171
i2c_unlock_bus(i2c->adapter, I2C_LOCK_SEGMENT);
drivers/mfd/88pm860x-i2c.c
18
struct regmap *map = (i2c == chip->client) ? chip->regmap
drivers/mfd/88pm860x-i2c.c
31
int pm860x_reg_write(struct i2c_client *i2c, int reg,
drivers/mfd/88pm860x-i2c.c
34
struct pm860x_chip *chip = i2c_get_clientdata(i2c);
drivers/mfd/88pm860x-i2c.c
35
struct regmap *map = (i2c == chip->client) ? chip->regmap
drivers/mfd/88pm860x-i2c.c
44
int pm860x_bulk_read(struct i2c_client *i2c, int reg,
drivers/mfd/88pm860x-i2c.c
47
struct pm860x_chip *chip = i2c_get_clientdata(i2c);
drivers/mfd/88pm860x-i2c.c
48
struct regmap *map = (i2c == chip->client) ? chip->regmap
drivers/mfd/88pm860x-i2c.c
57
int pm860x_bulk_write(struct i2c_client *i2c, int reg,
drivers/mfd/88pm860x-i2c.c
60
struct pm860x_chip *chip = i2c_get_clientdata(i2c);
drivers/mfd/88pm860x-i2c.c
61
struct regmap *map = (i2c == chip->client) ? chip->regmap
drivers/mfd/88pm860x-i2c.c
70
int pm860x_set_bits(struct i2c_client *i2c, int reg,
drivers/mfd/88pm860x-i2c.c
73
struct pm860x_chip *chip = i2c_get_clientdata(i2c);
drivers/mfd/88pm860x-i2c.c
74
struct regmap *map = (i2c == chip->client) ? chip->regmap
drivers/mfd/88pm860x-i2c.c
83
static int read_device(struct i2c_client *i2c, int reg,
drivers/mfd/88pm860x-i2c.c
88
struct i2c_adapter *adap = i2c->adapter;
drivers/mfd/88pm860x-i2c.c
91
.addr = i2c->addr,
drivers/mfd/88pm860x-i2c.c
96
{ .addr = i2c->addr,
drivers/mfd/act8945a.c
31
static int act8945a_i2c_probe(struct i2c_client *i2c)
drivers/mfd/act8945a.c
36
regmap = devm_regmap_init_i2c(i2c, &act8945a_regmap_config);
drivers/mfd/act8945a.c
39
dev_err(&i2c->dev, "regmap init failed: %d\n", ret);
drivers/mfd/act8945a.c
43
i2c_set_clientdata(i2c, regmap);
drivers/mfd/act8945a.c
45
ret = devm_mfd_add_devices(&i2c->dev, PLATFORM_DEVID_NONE,
drivers/mfd/act8945a.c
49
dev_err(&i2c->dev, "Failed to add sub devices\n");
drivers/mfd/act8945a.c
60
MODULE_DEVICE_TABLE(i2c, act8945a_i2c_id);
drivers/mfd/adp5585.c
655
static int adp5585_irq_enable(struct i2c_client *i2c,
drivers/mfd/adp5585.c
662
if (i2c->irq <= 0)
drivers/mfd/adp5585.c
665
ret = devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL, adp5585_irq,
drivers/mfd/adp5585.c
666
IRQF_ONESHOT, i2c->name, adp5585);
drivers/mfd/adp5585.c
686
return devm_add_action_or_reset(&i2c->dev, adp5585_irq_disable, adp5585);
drivers/mfd/adp5585.c
689
static int adp5585_i2c_probe(struct i2c_client *i2c)
drivers/mfd/adp5585.c
697
adp5585 = devm_kzalloc(&i2c->dev, sizeof(*adp5585), GFP_KERNEL);
drivers/mfd/adp5585.c
701
i2c_set_clientdata(i2c, adp5585);
drivers/mfd/adp5585.c
702
adp5585->dev = &i2c->dev;
drivers/mfd/adp5585.c
703
adp5585->irq = i2c->irq;
drivers/mfd/adp5585.c
706
adp5585->variant = (enum adp5585_variant)(uintptr_t)i2c_get_match_data(i2c);
drivers/mfd/adp5585.c
714
ret = devm_regulator_get_enable(&i2c->dev, "vdd");
drivers/mfd/adp5585.c
718
gpio = devm_gpiod_get_optional(&i2c->dev, "reset", GPIOD_OUT_HIGH);
drivers/mfd/adp5585.c
732
adp5585->regmap = devm_regmap_init_i2c(i2c, regmap_config);
drivers/mfd/adp5585.c
734
return dev_err_probe(&i2c->dev, PTR_ERR(adp5585->regmap),
drivers/mfd/adp5585.c
739
return dev_err_probe(&i2c->dev, ret,
drivers/mfd/adp5585.c
744
return dev_err_probe(&i2c->dev, -ENODEV,
drivers/mfd/adp5585.c
747
adp5585->pin_usage = devm_bitmap_zalloc(&i2c->dev, adp5585->n_pins, GFP_KERNEL);
drivers/mfd/adp5585.c
763
return adp5585_irq_enable(i2c, adp5585);
drivers/mfd/arizona-i2c.c
23
static int arizona_i2c_probe(struct i2c_client *i2c)
drivers/mfd/arizona-i2c.c
30
type = (uintptr_t)i2c_get_match_data(i2c);
drivers/mfd/arizona-i2c.c
51
dev_err(&i2c->dev, "Unknown device type %ld\n", type);
drivers/mfd/arizona-i2c.c
56
dev_err(&i2c->dev,
drivers/mfd/arizona-i2c.c
61
arizona = devm_kzalloc(&i2c->dev, sizeof(*arizona), GFP_KERNEL);
drivers/mfd/arizona-i2c.c
65
arizona->regmap = devm_regmap_init_i2c(i2c, regmap_config);
drivers/mfd/arizona-i2c.c
68
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
drivers/mfd/arizona-i2c.c
74
arizona->dev = &i2c->dev;
drivers/mfd/arizona-i2c.c
75
arizona->irq = i2c->irq;
drivers/mfd/arizona-i2c.c
80
static void arizona_i2c_remove(struct i2c_client *i2c)
drivers/mfd/arizona-i2c.c
82
struct arizona *arizona = dev_get_drvdata(&i2c->dev);
drivers/mfd/arizona-i2c.c
96
MODULE_DEVICE_TABLE(i2c, arizona_i2c_id);
drivers/mfd/as3722.c
308
static int as3722_i2c_of_probe(struct i2c_client *i2c,
drivers/mfd/as3722.c
311
struct device_node *np = i2c->dev.of_node;
drivers/mfd/as3722.c
315
dev_err(&i2c->dev, "Device Tree not found\n");
drivers/mfd/as3722.c
319
irq_data = irq_get_irq_data(i2c->irq);
drivers/mfd/as3722.c
321
dev_err(&i2c->dev, "Invalid IRQ: %d\n", i2c->irq);
drivers/mfd/as3722.c
332
dev_dbg(&i2c->dev, "IRQ flags are 0x%08lx\n", as3722->irq_flags);
drivers/mfd/as3722.c
336
static int as3722_i2c_probe(struct i2c_client *i2c)
drivers/mfd/as3722.c
343
as3722 = devm_kzalloc(&i2c->dev, sizeof(struct as3722), GFP_KERNEL);
drivers/mfd/as3722.c
347
as3722->dev = &i2c->dev;
drivers/mfd/as3722.c
348
as3722->chip_irq = i2c->irq;
drivers/mfd/as3722.c
349
i2c_set_clientdata(i2c, as3722);
drivers/mfd/as3722.c
351
ret = as3722_i2c_of_probe(i2c, as3722);
drivers/mfd/as3722.c
355
as3722->regmap = devm_regmap_init_i2c(i2c, &as3722_regmap_config);
drivers/mfd/as3722.c
358
dev_err(&i2c->dev, "regmap init failed: %d\n", ret);
drivers/mfd/as3722.c
389
ret = devm_mfd_add_devices(&i2c->dev, -1, as3722_devs,
drivers/mfd/as3722.c
438
MODULE_DEVICE_TABLE(i2c, as3722_i2c_id);
drivers/mfd/axp20x-i2c.c
25
static int axp20x_i2c_probe(struct i2c_client *i2c)
drivers/mfd/axp20x-i2c.c
30
axp20x = devm_kzalloc(&i2c->dev, sizeof(*axp20x), GFP_KERNEL);
drivers/mfd/axp20x-i2c.c
34
axp20x->dev = &i2c->dev;
drivers/mfd/axp20x-i2c.c
35
axp20x->irq = i2c->irq;
drivers/mfd/axp20x-i2c.c
42
axp20x->regmap = devm_regmap_init_i2c(i2c, axp20x->regmap_cfg);
drivers/mfd/axp20x-i2c.c
45
dev_err(&i2c->dev, "regmap init failed: %d\n", ret);
drivers/mfd/axp20x-i2c.c
52
static void axp20x_i2c_remove(struct i2c_client *i2c)
drivers/mfd/axp20x-i2c.c
54
struct axp20x_dev *axp20x = i2c_get_clientdata(i2c);
drivers/mfd/axp20x-i2c.c
92
MODULE_DEVICE_TABLE(i2c, axp20x_i2c_id);
drivers/mfd/bcm590xx.c
167
MODULE_DEVICE_TABLE(i2c, bcm590xx_i2c_id);
drivers/mfd/bd9571mwv.c
274
MODULE_DEVICE_TABLE(i2c, bd9571mwv_id_table);
drivers/mfd/bq257xx.c
79
MODULE_DEVICE_TABLE(i2c, bq257xx_i2c_ids);
drivers/mfd/cs40l50-i2c.c
14
static int cs40l50_i2c_probe(struct i2c_client *i2c)
drivers/mfd/cs40l50-i2c.c
18
cs40l50 = devm_kzalloc(&i2c->dev, sizeof(*cs40l50), GFP_KERNEL);
drivers/mfd/cs40l50-i2c.c
22
i2c_set_clientdata(i2c, cs40l50);
drivers/mfd/cs40l50-i2c.c
24
cs40l50->dev = &i2c->dev;
drivers/mfd/cs40l50-i2c.c
25
cs40l50->irq = i2c->irq;
drivers/mfd/cs40l50-i2c.c
27
cs40l50->regmap = devm_regmap_init_i2c(i2c, &cs40l50_regmap);
drivers/mfd/cs40l50-i2c.c
35
static void cs40l50_i2c_remove(struct i2c_client *i2c)
drivers/mfd/cs40l50-i2c.c
37
struct cs40l50 *cs40l50 = i2c_get_clientdata(i2c);
drivers/mfd/cs40l50-i2c.c
46
MODULE_DEVICE_TABLE(i2c, cs40l50_id_i2c);
drivers/mfd/cs42l43-i2c.c
38
static int cs42l43_i2c_probe(struct i2c_client *i2c)
drivers/mfd/cs42l43-i2c.c
42
cs42l43 = devm_kzalloc(&i2c->dev, sizeof(*cs42l43), GFP_KERNEL);
drivers/mfd/cs42l43-i2c.c
46
cs42l43->dev = &i2c->dev;
drivers/mfd/cs42l43-i2c.c
47
cs42l43->irq = i2c->irq;
drivers/mfd/cs42l43-i2c.c
51
cs42l43->regmap = devm_regmap_init_i2c(i2c, &cs42l43_i2c_regmap);
drivers/mfd/da903x.c
446
MODULE_DEVICE_TABLE(i2c, da903x_id_table);
drivers/mfd/da9052-i2c.c
113
MODULE_DEVICE_TABLE(i2c, da9052_i2c_id);
drivers/mfd/da9055-i2c.c
17
static int da9055_i2c_probe(struct i2c_client *i2c)
drivers/mfd/da9055-i2c.c
22
da9055 = devm_kzalloc(&i2c->dev, sizeof(struct da9055), GFP_KERNEL);
drivers/mfd/da9055-i2c.c
26
da9055->regmap = devm_regmap_init_i2c(i2c, &da9055_regmap_config);
drivers/mfd/da9055-i2c.c
29
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
drivers/mfd/da9055-i2c.c
34
da9055->dev = &i2c->dev;
drivers/mfd/da9055-i2c.c
35
da9055->chip_irq = i2c->irq;
drivers/mfd/da9055-i2c.c
37
i2c_set_clientdata(i2c, da9055);
drivers/mfd/da9055-i2c.c
42
static void da9055_i2c_remove(struct i2c_client *i2c)
drivers/mfd/da9055-i2c.c
44
struct da9055 *da9055 = i2c_get_clientdata(i2c);
drivers/mfd/da9055-i2c.c
60
MODULE_DEVICE_TABLE(i2c, da9055_i2c_id);
drivers/mfd/da9062-core.c
591
static int da9062_i2c_probe(struct i2c_client *i2c)
drivers/mfd/da9062-core.c
602
chip = devm_kzalloc(&i2c->dev, sizeof(*chip), GFP_KERNEL);
drivers/mfd/da9062-core.c
606
chip->chip_type = (uintptr_t)i2c_get_match_data(i2c);
drivers/mfd/da9062-core.c
608
i2c_set_clientdata(i2c, chip);
drivers/mfd/da9062-core.c
609
chip->dev = &i2c->dev;
drivers/mfd/da9062-core.c
628
chip->regmap = devm_regmap_init_i2c(i2c, config);
drivers/mfd/da9062-core.c
637
if (i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C)) {
drivers/mfd/da9062-core.c
656
if (i2c->irq) {
drivers/mfd/da9062-core.c
667
ret = da9062_configure_irq_type(chip, i2c->irq, &trigger_type);
drivers/mfd/da9062-core.c
673
ret = regmap_add_irq_chip(chip->regmap, i2c->irq,
drivers/mfd/da9062-core.c
678
i2c->irq, ret);
drivers/mfd/da9062-core.c
690
if (i2c->irq)
drivers/mfd/da9062-core.c
691
regmap_del_irq_chip(i2c->irq, chip->regmap_irq);
drivers/mfd/da9062-core.c
698
static void da9062_i2c_remove(struct i2c_client *i2c)
drivers/mfd/da9062-core.c
700
struct da9062 *chip = i2c_get_clientdata(i2c);
drivers/mfd/da9062-core.c
703
regmap_del_irq_chip(i2c->irq, chip->regmap_irq);
drivers/mfd/da9062-core.c
718
MODULE_DEVICE_TABLE(i2c, da9062_i2c_id);
drivers/mfd/da9063-i2c.c
120
static int da9063_get_device_type(struct i2c_client *i2c, struct da9063 *da9063)
drivers/mfd/da9063-i2c.c
125
ret = da9063_i2c_blockreg_read(i2c, DA9063_REG_DEVICE_ID, buf,
drivers/mfd/da9063-i2c.c
369
static int da9063_i2c_probe(struct i2c_client *i2c)
drivers/mfd/da9063-i2c.c
371
const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
drivers/mfd/da9063-i2c.c
375
da9063 = devm_kzalloc(&i2c->dev, sizeof(struct da9063), GFP_KERNEL);
drivers/mfd/da9063-i2c.c
379
i2c_set_clientdata(i2c, da9063);
drivers/mfd/da9063-i2c.c
380
da9063->dev = &i2c->dev;
drivers/mfd/da9063-i2c.c
381
da9063->chip_irq = i2c->irq;
drivers/mfd/da9063-i2c.c
384
ret = da9063_get_device_type(i2c, da9063);
drivers/mfd/da9063-i2c.c
454
da9063->regmap = devm_regmap_init_i2c(i2c, &da9063_regmap_config);
drivers/mfd/da9063-i2c.c
463
if (i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C)) {
drivers/mfd/da9063-i2c.c
473
devm_i2c_new_dummy_device(&i2c->dev, i2c->adapter, i2c->addr + 1);
drivers/mfd/da9063-i2c.c
475
return da9063_device_init(da9063, i2c->irq);
drivers/mfd/da9063-i2c.c
483
MODULE_DEVICE_TABLE(i2c, da9063_i2c_id);
drivers/mfd/da9150-core.c
500
MODULE_DEVICE_TABLE(i2c, da9150_i2c_id);
drivers/mfd/gateworks-gsc.c
210
gsc->i2c = client;
drivers/mfd/gateworks-gsc.c
81
dev_info(&gsc->i2c->dev, "GSC powerdown for %ld seconds\n",
drivers/mfd/intel_soc_pmic_chtdc_ti.c
108
static int chtdc_ti_probe(struct i2c_client *i2c)
drivers/mfd/intel_soc_pmic_chtdc_ti.c
110
struct device *dev = &i2c->dev;
drivers/mfd/intel_soc_pmic_chtdc_ti.c
118
i2c_set_clientdata(i2c, pmic);
drivers/mfd/intel_soc_pmic_chtdc_ti.c
120
pmic->regmap = devm_regmap_init_i2c(i2c, &chtdc_ti_regmap_config);
drivers/mfd/intel_soc_pmic_chtdc_ti.c
123
pmic->irq = i2c->irq;
drivers/mfd/intel_soc_pmic_chtdc_ti.c
137
static void chtdc_ti_shutdown(struct i2c_client *i2c)
drivers/mfd/intel_soc_pmic_chtdc_ti.c
139
struct intel_soc_pmic *pmic = i2c_get_clientdata(i2c);
drivers/mfd/intel_soc_pmic_crc.c
168
static int crystal_cove_i2c_probe(struct i2c_client *i2c)
drivers/mfd/intel_soc_pmic_crc.c
171
struct device *dev = &i2c->dev;
drivers/mfd/intel_soc_pmic_crc.c
184
i2c_set_clientdata(i2c, pmic);
drivers/mfd/intel_soc_pmic_crc.c
186
pmic->regmap = devm_regmap_init_i2c(i2c, config->regmap_config);
drivers/mfd/intel_soc_pmic_crc.c
190
pmic->irq = i2c->irq;
drivers/mfd/intel_soc_pmic_crc.c
218
static void crystal_cove_i2c_remove(struct i2c_client *i2c)
drivers/mfd/intel_soc_pmic_crc.c
223
mfd_remove_devices(&i2c->dev);
drivers/mfd/intel_soc_pmic_crc.c
226
static void crystal_cove_shutdown(struct i2c_client *i2c)
drivers/mfd/intel_soc_pmic_crc.c
228
struct intel_soc_pmic *pmic = i2c_get_clientdata(i2c);
drivers/mfd/intel_soc_pmic_crc.c
265
MODULE_DEVICE_TABLE(i2c, crystal_cove_i2c_match);
drivers/mfd/lm3533-core.c
575
static int lm3533_i2c_probe(struct i2c_client *i2c)
drivers/mfd/lm3533-core.c
579
dev_dbg(&i2c->dev, "%s\n", __func__);
drivers/mfd/lm3533-core.c
581
lm3533 = devm_kzalloc(&i2c->dev, sizeof(*lm3533), GFP_KERNEL);
drivers/mfd/lm3533-core.c
585
i2c_set_clientdata(i2c, lm3533);
drivers/mfd/lm3533-core.c
587
lm3533->regmap = devm_regmap_init_i2c(i2c, &regmap_config);
drivers/mfd/lm3533-core.c
591
lm3533->dev = &i2c->dev;
drivers/mfd/lm3533-core.c
592
lm3533->irq = i2c->irq;
drivers/mfd/lm3533-core.c
597
static void lm3533_i2c_remove(struct i2c_client *i2c)
drivers/mfd/lm3533-core.c
599
struct lm3533 *lm3533 = i2c_get_clientdata(i2c);
drivers/mfd/lm3533-core.c
601
dev_dbg(&i2c->dev, "%s\n", __func__);
drivers/mfd/lm3533-core.c
610
MODULE_DEVICE_TABLE(i2c, lm3533_i2c_ids);
drivers/mfd/lochnagar-i2c.c
269
static int lochnagar_i2c_probe(struct i2c_client *i2c)
drivers/mfd/lochnagar-i2c.c
271
struct device *dev = &i2c->dev;
drivers/mfd/lochnagar-i2c.c
284
config = i2c_get_match_data(i2c);
drivers/mfd/lochnagar-i2c.c
314
lochnagar->regmap = devm_regmap_init_i2c(i2c, config->regmap);
drivers/mfd/lp3943.c
132
MODULE_DEVICE_TABLE(i2c, lp3943_ids);
drivers/mfd/lp873x.c
74
MODULE_DEVICE_TABLE(i2c, lp873x_id_table);
drivers/mfd/lp87565.c
112
MODULE_DEVICE_TABLE(i2c, lp87565_id_table);
drivers/mfd/lp8788.c
222
MODULE_DEVICE_TABLE(i2c, lp8788_ids);
drivers/mfd/madera-i2c.c
101
madera->dev = &i2c->dev;
drivers/mfd/madera-i2c.c
102
madera->irq = i2c->irq;
drivers/mfd/madera-i2c.c
107
static void madera_i2c_remove(struct i2c_client *i2c)
drivers/mfd/madera-i2c.c
109
struct madera *madera = dev_get_drvdata(&i2c->dev);
drivers/mfd/madera-i2c.c
126
MODULE_DEVICE_TABLE(i2c, madera_i2c_id);
drivers/mfd/madera-i2c.c
19
static int madera_i2c_probe(struct i2c_client *i2c)
drivers/mfd/madera-i2c.c
28
type = (uintptr_t)i2c_get_match_data(i2c);
drivers/mfd/madera-i2c.c
65
dev_err(&i2c->dev,
drivers/mfd/madera-i2c.c
74
dev_err(&i2c->dev,
drivers/mfd/madera-i2c.c
79
madera = devm_kzalloc(&i2c->dev, sizeof(*madera), GFP_KERNEL);
drivers/mfd/madera-i2c.c
83
madera->regmap = devm_regmap_init_i2c(i2c, regmap_16bit_config);
drivers/mfd/madera-i2c.c
86
dev_err(&i2c->dev,
drivers/mfd/madera-i2c.c
91
madera->regmap_32bit = devm_regmap_init_i2c(i2c, regmap_32bit_config);
drivers/mfd/madera-i2c.c
94
dev_err(&i2c->dev,
drivers/mfd/max14577.c
299
max14577->i2c_pmic = i2c_new_dummy_device(max14577->i2c->adapter,
drivers/mfd/max14577.c
360
static int max14577_i2c_probe(struct i2c_client *i2c)
drivers/mfd/max14577.c
363
struct max14577_platform_data *pdata = dev_get_platdata(&i2c->dev);
drivers/mfd/max14577.c
364
struct device_node *np = i2c->dev.of_node;
drivers/mfd/max14577.c
372
pdata = devm_kzalloc(&i2c->dev, sizeof(*pdata), GFP_KERNEL);
drivers/mfd/max14577.c
375
i2c->dev.platform_data = pdata;
drivers/mfd/max14577.c
379
dev_err(&i2c->dev, "No platform data found.\n");
drivers/mfd/max14577.c
383
max14577 = devm_kzalloc(&i2c->dev, sizeof(*max14577), GFP_KERNEL);
drivers/mfd/max14577.c
387
i2c_set_clientdata(i2c, max14577);
drivers/mfd/max14577.c
388
max14577->dev = &i2c->dev;
drivers/mfd/max14577.c
389
max14577->i2c = i2c;
drivers/mfd/max14577.c
390
max14577->irq = i2c->irq;
drivers/mfd/max14577.c
392
max14577->regmap = devm_regmap_init_i2c(i2c,
drivers/mfd/max14577.c
401
max14577->dev_type = (kernel_ulong_t)i2c_get_match_data(i2c);
drivers/mfd/max14577.c
425
dev_err(&i2c->dev, "Failed to request IRQ %d: %d\n",
drivers/mfd/max14577.c
455
static void max14577_i2c_remove(struct i2c_client *i2c)
drivers/mfd/max14577.c
457
struct max14577 *max14577 = i2c_get_clientdata(i2c);
drivers/mfd/max14577.c
471
MODULE_DEVICE_TABLE(i2c, max14577_i2c_id);
drivers/mfd/max14577.c
475
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max14577.c
476
struct max14577 *max14577 = i2c_get_clientdata(i2c);
drivers/mfd/max14577.c
496
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max14577.c
497
struct max14577 *max14577 = i2c_get_clientdata(i2c);
drivers/mfd/max77541.c
173
max77541->i2c = client;
drivers/mfd/max77541.c
206
MODULE_DEVICE_TABLE(i2c, max77541_id);
drivers/mfd/max77541.c
95
int irq = max77541->i2c->irq;
drivers/mfd/max77650.c
151
static int max77650_i2c_probe(struct i2c_client *i2c)
drivers/mfd/max77650.c
154
struct device *dev = &i2c->dev;
drivers/mfd/max77650.c
160
map = devm_regmap_init_i2c(i2c, &max77650_regmap_config);
drivers/mfd/max77650.c
199
rv = devm_regmap_add_irq_chip(dev, map, i2c->irq,
drivers/mfd/max77686.c
160
static int max77686_i2c_probe(struct i2c_client *i2c)
drivers/mfd/max77686.c
170
max77686 = devm_kzalloc(&i2c->dev,
drivers/mfd/max77686.c
175
i2c_set_clientdata(i2c, max77686);
drivers/mfd/max77686.c
176
max77686->type = (unsigned long)of_device_get_match_data(&i2c->dev);
drivers/mfd/max77686.c
177
max77686->dev = &i2c->dev;
drivers/mfd/max77686.c
178
max77686->i2c = i2c;
drivers/mfd/max77686.c
180
max77686->irq = i2c->irq;
drivers/mfd/max77686.c
194
max77686->regmap = devm_regmap_init_i2c(i2c, config);
drivers/mfd/max77686.c
209
ret = devm_regmap_add_irq_chip(&i2c->dev, max77686->regmap,
drivers/mfd/max77686.c
214
dev_err(&i2c->dev, "failed to add PMIC irq chip: %d\n", ret);
drivers/mfd/max77686.c
221
dev_err(&i2c->dev, "failed to add MFD devices: %d\n", ret);
drivers/mfd/max77686.c
230
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max77686.c
231
struct max77686_dev *max77686 = i2c_get_clientdata(i2c);
drivers/mfd/max77686.c
252
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max77686.c
253
struct max77686_dev *max77686 = i2c_get_clientdata(i2c);
drivers/mfd/max77693.c
148
static int max77693_i2c_probe(struct i2c_client *i2c)
drivers/mfd/max77693.c
150
const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
drivers/mfd/max77693.c
155
max77693 = devm_kzalloc(&i2c->dev,
drivers/mfd/max77693.c
160
i2c_set_clientdata(i2c, max77693);
drivers/mfd/max77693.c
161
max77693->dev = &i2c->dev;
drivers/mfd/max77693.c
162
max77693->i2c = i2c;
drivers/mfd/max77693.c
163
max77693->irq = i2c->irq;
drivers/mfd/max77693.c
166
max77693->regmap = devm_regmap_init_i2c(i2c, &max77693_regmap_config);
drivers/mfd/max77693.c
182
max77693->i2c_muic = i2c_new_dummy_device(i2c->adapter, I2C_ADDR_MUIC);
drivers/mfd/max77693.c
189
max77693->i2c_haptic = i2c_new_dummy_device(i2c->adapter, I2C_ADDR_HAPTIC);
drivers/mfd/max77693.c
293
static void max77693_i2c_remove(struct i2c_client *i2c)
drivers/mfd/max77693.c
295
struct max77693_dev *max77693 = i2c_get_clientdata(i2c);
drivers/mfd/max77693.c
312
MODULE_DEVICE_TABLE(i2c, max77693_i2c_id);
drivers/mfd/max77693.c
316
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max77693.c
317
struct max77693_dev *max77693 = i2c_get_clientdata(i2c);
drivers/mfd/max77693.c
329
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max77693.c
330
struct max77693_dev *max77693 = i2c_get_clientdata(i2c);
drivers/mfd/max77705.c
115
i2c->irq,
drivers/mfd/max77705.c
139
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max77705.c
141
disable_irq(i2c->irq);
drivers/mfd/max77705.c
144
enable_irq_wake(i2c->irq);
drivers/mfd/max77705.c
151
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max77705.c
154
disable_irq_wake(i2c->irq);
drivers/mfd/max77705.c
156
enable_irq(i2c->irq);
drivers/mfd/max77705.c
81
static int max77705_i2c_probe(struct i2c_client *i2c)
drivers/mfd/max77705.c
83
struct device *dev = &i2c->dev;
drivers/mfd/max77705.c
95
max77705->i2c = i2c;
drivers/mfd/max77705.c
97
i2c_set_clientdata(i2c, max77705);
drivers/mfd/max77705.c
99
max77705->regmap = devm_regmap_init_i2c(i2c, &max77705_regmap_config);
drivers/mfd/max77759.c
660
MODULE_DEVICE_TABLE(i2c, max77759_i2c_id);
drivers/mfd/max77843.c
102
max77843 = devm_kzalloc(&i2c->dev, sizeof(*max77843), GFP_KERNEL);
drivers/mfd/max77843.c
106
i2c_set_clientdata(i2c, max77843);
drivers/mfd/max77843.c
107
max77843->dev = &i2c->dev;
drivers/mfd/max77843.c
108
max77843->i2c = i2c;
drivers/mfd/max77843.c
109
max77843->irq = i2c->irq;
drivers/mfd/max77843.c
112
max77843->regmap = devm_regmap_init_i2c(i2c,
drivers/mfd/max77843.c
115
dev_err(&i2c->dev, "Failed to allocate topsys register map\n");
drivers/mfd/max77843.c
123
dev_err(&i2c->dev, "Failed to add TOPSYS IRQ chip\n");
drivers/mfd/max77843.c
130
dev_err(&i2c->dev, "Failed to read PMIC ID\n");
drivers/mfd/max77843.c
133
dev_info(&i2c->dev, "device ID: 0x%x\n", reg_data);
drivers/mfd/max77843.c
137
dev_err(&i2c->dev, "Failed to init Charger\n");
drivers/mfd/max77843.c
146
dev_err(&i2c->dev, "Failed to unmask interrupt source\n");
drivers/mfd/max77843.c
153
dev_err(&i2c->dev, "Failed to add mfd device\n");
drivers/mfd/max77843.c
179
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max77843.c
180
struct max77693_dev *max77843 = i2c_get_clientdata(i2c);
drivers/mfd/max77843.c
191
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max77843.c
192
struct max77693_dev *max77843 = i2c_get_clientdata(i2c);
drivers/mfd/max77843.c
72
max77843->i2c_chg = i2c_new_dummy_device(max77843->i2c->adapter, I2C_ADDR_CHG);
drivers/mfd/max77843.c
74
dev_err(&max77843->i2c->dev,
drivers/mfd/max77843.c
95
static int max77843_probe(struct i2c_client *i2c)
drivers/mfd/max77843.c
97
const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
drivers/mfd/max8907.c
183
static int max8907_i2c_probe(struct i2c_client *i2c)
drivers/mfd/max8907.c
187
struct max8907_platform_data *pdata = dev_get_platdata(&i2c->dev);
drivers/mfd/max8907.c
192
else if (i2c->dev.of_node)
drivers/mfd/max8907.c
193
pm_off = of_property_read_bool(i2c->dev.of_node,
drivers/mfd/max8907.c
196
max8907 = devm_kzalloc(&i2c->dev, sizeof(struct max8907), GFP_KERNEL);
drivers/mfd/max8907.c
202
max8907->dev = &i2c->dev;
drivers/mfd/max8907.c
203
max8907->i2c_gen = i2c;
drivers/mfd/max8907.c
204
i2c_set_clientdata(i2c, max8907);
drivers/mfd/max8907.c
205
max8907->regmap_gen = devm_regmap_init_i2c(i2c,
drivers/mfd/max8907.c
209
dev_err(&i2c->dev, "gen regmap init failed: %d\n", ret);
drivers/mfd/max8907.c
213
max8907->i2c_rtc = i2c_new_dummy_device(i2c->adapter, MAX8907_RTC_I2C_ADDR);
drivers/mfd/max8907.c
223
dev_err(&i2c->dev, "rtc regmap init failed: %d\n", ret);
drivers/mfd/max8907.c
232
dev_err(&i2c->dev, "failed to add chg irq chip: %d\n", ret);
drivers/mfd/max8907.c
240
dev_err(&i2c->dev, "failed to add on off irq chip: %d\n", ret);
drivers/mfd/max8907.c
248
dev_err(&i2c->dev, "failed to add rtc irq chip: %d\n", ret);
drivers/mfd/max8907.c
255
dev_err(&i2c->dev, "failed to add MFD devices %d\n", ret);
drivers/mfd/max8907.c
281
static void max8907_i2c_remove(struct i2c_client *i2c)
drivers/mfd/max8907.c
283
struct max8907 *max8907 = i2c_get_clientdata(i2c);
drivers/mfd/max8907.c
306
MODULE_DEVICE_TABLE(i2c, max8907_i2c_id);
drivers/mfd/max8925-core.c
475
struct i2c_client *i2c;
drivers/mfd/max8925-core.c
485
i2c = chip->rtc;
drivers/mfd/max8925-core.c
487
i2c = chip->adc;
drivers/mfd/max8925-core.c
489
i2c = chip->i2c;
drivers/mfd/max8925-core.c
492
value = max8925_reg_read(i2c, irq_data->reg);
drivers/mfd/max8925-core.c
504
struct i2c_client *i2c;
drivers/mfd/max8925-core.c
514
i2c = chip->rtc;
drivers/mfd/max8925-core.c
516
i2c = chip->adc;
drivers/mfd/max8925-core.c
518
i2c = chip->i2c;
drivers/mfd/max8925-core.c
521
value = max8925_reg_read(i2c, irq_data->reg);
drivers/mfd/max8925-core.c
584
max8925_reg_write(chip->i2c, MAX8925_CHG_IRQ1_MASK,
drivers/mfd/max8925-core.c
589
max8925_reg_write(chip->i2c, MAX8925_CHG_IRQ2_MASK,
drivers/mfd/max8925-core.c
594
max8925_reg_write(chip->i2c, MAX8925_ON_OFF_IRQ1_MASK,
drivers/mfd/max8925-core.c
599
max8925_reg_write(chip->i2c, MAX8925_ON_OFF_IRQ2_MASK,
drivers/mfd/max8925-core.c
661
max8925_reg_read(chip->i2c, MAX8925_CHG_IRQ1);
drivers/mfd/max8925-core.c
662
max8925_reg_read(chip->i2c, MAX8925_CHG_IRQ2);
drivers/mfd/max8925-core.c
663
max8925_reg_read(chip->i2c, MAX8925_ON_OFF_IRQ1);
drivers/mfd/max8925-core.c
664
max8925_reg_read(chip->i2c, MAX8925_ON_OFF_IRQ2);
drivers/mfd/max8925-core.c
670
max8925_reg_write(chip->i2c, MAX8925_CHG_IRQ1_MASK, 0xff);
drivers/mfd/max8925-core.c
671
max8925_reg_write(chip->i2c, MAX8925_CHG_IRQ2_MASK, 0xff);
drivers/mfd/max8925-core.c
672
max8925_reg_write(chip->i2c, MAX8925_ON_OFF_IRQ1_MASK, 0xff);
drivers/mfd/max8925-core.c
673
max8925_reg_write(chip->i2c, MAX8925_ON_OFF_IRQ2_MASK, 0xff);
drivers/mfd/max8925-core.c
831
max8925_irq_init(chip, chip->i2c->irq, pdata);
drivers/mfd/max8925-core.c
835
max8925_set_bits(chip->i2c, MAX8925_RESET_CNFG, 1, 1);
drivers/mfd/max8925-i2c.c
101
ret = max8925_write_device(i2c, reg, count, buf);
drivers/mfd/max8925-i2c.c
108
int max8925_set_bits(struct i2c_client *i2c, int reg,
drivers/mfd/max8925-i2c.c
111
struct max8925_chip *chip = i2c_get_clientdata(i2c);
drivers/mfd/max8925-i2c.c
116
ret = max8925_read_device(i2c, reg, 1, &value);
drivers/mfd/max8925-i2c.c
121
ret = max8925_write_device(i2c, reg, 1, &value);
drivers/mfd/max8925-i2c.c
172
chip->i2c = client;
drivers/mfd/max8925-i2c.c
177
chip->rtc = i2c_new_dummy_device(chip->i2c->adapter, RTC_I2C_ADDR);
drivers/mfd/max8925-i2c.c
18
static inline int max8925_read_device(struct i2c_client *i2c,
drivers/mfd/max8925-i2c.c
184
chip->adc = i2c_new_dummy_device(chip->i2c->adapter, ADC_I2C_ADDR);
drivers/mfd/max8925-i2c.c
24
ret = i2c_smbus_read_i2c_block_data(i2c, reg, bytes, dest);
drivers/mfd/max8925-i2c.c
26
ret = i2c_smbus_read_byte_data(i2c, reg);
drivers/mfd/max8925-i2c.c
34
static inline int max8925_write_device(struct i2c_client *i2c,
drivers/mfd/max8925-i2c.c
43
ret = i2c_master_send(i2c, buf, bytes + 1);
drivers/mfd/max8925-i2c.c
49
int max8925_reg_read(struct i2c_client *i2c, int reg)
drivers/mfd/max8925-i2c.c
51
struct max8925_chip *chip = i2c_get_clientdata(i2c);
drivers/mfd/max8925-i2c.c
56
ret = max8925_read_device(i2c, reg, 1, &data);
drivers/mfd/max8925-i2c.c
66
int max8925_reg_write(struct i2c_client *i2c, int reg,
drivers/mfd/max8925-i2c.c
69
struct max8925_chip *chip = i2c_get_clientdata(i2c);
drivers/mfd/max8925-i2c.c
73
ret = max8925_write_device(i2c, reg, 1, &data);
drivers/mfd/max8925-i2c.c
80
int max8925_bulk_read(struct i2c_client *i2c, int reg,
drivers/mfd/max8925-i2c.c
83
struct max8925_chip *chip = i2c_get_clientdata(i2c);
drivers/mfd/max8925-i2c.c
87
ret = max8925_read_device(i2c, reg, count, buf);
drivers/mfd/max8925-i2c.c
94
int max8925_bulk_write(struct i2c_client *i2c, int reg,
drivers/mfd/max8925-i2c.c
97
struct max8925_chip *chip = i2c_get_clientdata(i2c);
drivers/mfd/max8997-irq.c
114
struct i2c_client *i2c = get_i2c(max8997, i);
drivers/mfd/max8997-irq.c
117
IS_ERR_OR_NULL(i2c))
drivers/mfd/max8997-irq.c
121
max8997_write_reg(i2c, max8997_mask_reg[i],
drivers/mfd/max8997-irq.c
173
ret = max8997_read_reg(max8997->i2c, MAX8997_REG_INTSRC, &irq_src);
drivers/mfd/max8997-irq.c
182
max8997_bulk_read(max8997->i2c, MAX8997_REG_INT1, 4,
drivers/mfd/max8997-irq.c
213
max8997_bulk_read(max8997->i2c, MAX8997_REG_GPIOCNTL1,
drivers/mfd/max8997-irq.c
248
ret = max8997_read_reg(max8997->i2c, MAX8997_REG_FLASHSTATUS,
drivers/mfd/max8997-irq.c
308
struct i2c_client *i2c;
drivers/mfd/max8997-irq.c
312
i2c = get_i2c(max8997, i);
drivers/mfd/max8997-irq.c
314
if (IS_ERR_OR_NULL(i2c))
drivers/mfd/max8997-irq.c
319
max8997_write_reg(i2c, max8997_mask_reg[i], 0xff);
drivers/mfd/max8997-irq.c
323
max8997->gpio_status[i] = (max8997_read_reg(max8997->i2c,
drivers/mfd/max8997-irq.c
35
return max8997->i2c;
drivers/mfd/max8997-irq.c
41
return max8997->i2c;
drivers/mfd/max8997-irq.c
43
return max8997->i2c;
drivers/mfd/max8997.c
105
int max8997_update_reg(struct i2c_client *i2c, u8 reg, u8 val, u8 mask)
drivers/mfd/max8997.c
107
struct max8997_dev *max8997 = i2c_get_clientdata(i2c);
drivers/mfd/max8997.c
111
ret = i2c_smbus_read_byte_data(i2c, reg);
drivers/mfd/max8997.c
115
ret = i2c_smbus_write_byte_data(i2c, reg, new_val);
drivers/mfd/max8997.c
145
static int max8997_i2c_probe(struct i2c_client *i2c)
drivers/mfd/max8997.c
148
struct max8997_platform_data *pdata = dev_get_platdata(&i2c->dev);
drivers/mfd/max8997.c
151
max8997 = devm_kzalloc(&i2c->dev, sizeof(struct max8997_dev),
drivers/mfd/max8997.c
156
i2c_set_clientdata(i2c, max8997);
drivers/mfd/max8997.c
157
max8997->dev = &i2c->dev;
drivers/mfd/max8997.c
158
max8997->i2c = i2c;
drivers/mfd/max8997.c
159
max8997->type = (uintptr_t)i2c_get_match_data(i2c);
drivers/mfd/max8997.c
160
max8997->irq = i2c->irq;
drivers/mfd/max8997.c
176
max8997->rtc = i2c_new_dummy_device(i2c->adapter, I2C_ADDR_RTC);
drivers/mfd/max8997.c
183
max8997->haptic = i2c_new_dummy_device(i2c->adapter, I2C_ADDR_HAPTIC);
drivers/mfd/max8997.c
191
max8997->muic = i2c_new_dummy_device(i2c->adapter, I2C_ADDR_MUIC);
drivers/mfd/max8997.c
392
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max8997.c
393
struct max8997_dev *max8997 = i2c_get_clientdata(i2c);
drivers/mfd/max8997.c
397
max8997_read_reg(i2c, max8997_dumpaddr_pmic[i],
drivers/mfd/max8997.c
401
max8997_read_reg(i2c, max8997_dumpaddr_muic[i],
drivers/mfd/max8997.c
405
max8997_read_reg(i2c, max8997_dumpaddr_haptic[i],
drivers/mfd/max8997.c
414
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max8997.c
415
struct max8997_dev *max8997 = i2c_get_clientdata(i2c);
drivers/mfd/max8997.c
419
max8997_write_reg(i2c, max8997_dumpaddr_pmic[i],
drivers/mfd/max8997.c
423
max8997_write_reg(i2c, max8997_dumpaddr_muic[i],
drivers/mfd/max8997.c
427
max8997_write_reg(i2c, max8997_dumpaddr_haptic[i],
drivers/mfd/max8997.c
436
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max8997.c
437
struct max8997_dev *max8997 = i2c_get_clientdata(i2c);
drivers/mfd/max8997.c
447
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max8997.c
448
struct max8997_dev *max8997 = i2c_get_clientdata(i2c);
drivers/mfd/max8997.c
46
int max8997_read_reg(struct i2c_client *i2c, u8 reg, u8 *dest)
drivers/mfd/max8997.c
48
struct max8997_dev *max8997 = i2c_get_clientdata(i2c);
drivers/mfd/max8997.c
52
ret = i2c_smbus_read_byte_data(i2c, reg);
drivers/mfd/max8997.c
63
int max8997_bulk_read(struct i2c_client *i2c, u8 reg, int count, u8 *buf)
drivers/mfd/max8997.c
65
struct max8997_dev *max8997 = i2c_get_clientdata(i2c);
drivers/mfd/max8997.c
69
ret = i2c_smbus_read_i2c_block_data(i2c, reg, count, buf);
drivers/mfd/max8997.c
78
int max8997_write_reg(struct i2c_client *i2c, u8 reg, u8 value)
drivers/mfd/max8997.c
80
struct max8997_dev *max8997 = i2c_get_clientdata(i2c);
drivers/mfd/max8997.c
84
ret = i2c_smbus_write_byte_data(i2c, reg, value);
drivers/mfd/max8997.c
90
int max8997_bulk_write(struct i2c_client *i2c, u8 reg, int count, u8 *buf)
drivers/mfd/max8997.c
92
struct max8997_dev *max8997 = i2c_get_clientdata(i2c);
drivers/mfd/max8997.c
96
ret = i2c_smbus_write_i2c_block_data(i2c, reg, count, buf);
drivers/mfd/max8998-irq.c
119
max8998_write_reg(max8998->i2c, MAX8998_REG_IRQM1 + i,
drivers/mfd/max8998-irq.c
158
ret = max8998_bulk_read(max8998->i2c, MAX8998_REG_IRQ1,
drivers/mfd/max8998-irq.c
227
max8998_write_reg(max8998->i2c, MAX8998_REG_IRQM1 + i, 0xff);
drivers/mfd/max8998-irq.c
230
max8998_write_reg(max8998->i2c, MAX8998_REG_STATUSM1, 0xff);
drivers/mfd/max8998-irq.c
231
max8998_write_reg(max8998->i2c, MAX8998_REG_STATUSM2, 0xff);
drivers/mfd/max8998.c
101
int max8998_update_reg(struct i2c_client *i2c, u8 reg, u8 val, u8 mask)
drivers/mfd/max8998.c
103
struct max8998_dev *max8998 = i2c_get_clientdata(i2c);
drivers/mfd/max8998.c
107
ret = i2c_smbus_read_byte_data(i2c, reg);
drivers/mfd/max8998.c
111
ret = i2c_smbus_write_byte_data(i2c, reg, new_val);
drivers/mfd/max8998.c
155
static int max8998_i2c_probe(struct i2c_client *i2c)
drivers/mfd/max8998.c
157
struct max8998_platform_data *pdata = dev_get_platdata(&i2c->dev);
drivers/mfd/max8998.c
161
max8998 = devm_kzalloc(&i2c->dev, sizeof(struct max8998_dev),
drivers/mfd/max8998.c
166
if (IS_ENABLED(CONFIG_OF) && i2c->dev.of_node) {
drivers/mfd/max8998.c
167
pdata = max8998_i2c_parse_dt_pdata(&i2c->dev);
drivers/mfd/max8998.c
172
i2c_set_clientdata(i2c, max8998);
drivers/mfd/max8998.c
173
max8998->dev = &i2c->dev;
drivers/mfd/max8998.c
174
max8998->i2c = i2c;
drivers/mfd/max8998.c
175
max8998->irq = i2c->irq;
drivers/mfd/max8998.c
176
max8998->type = (uintptr_t)i2c_get_match_data(i2c);
drivers/mfd/max8998.c
185
max8998->rtc = i2c_new_dummy_device(i2c->adapter, RTC_I2C_ADDR);
drivers/mfd/max8998.c
187
dev_err(&i2c->dev, "Failed to allocate I2C device for RTC\n");
drivers/mfd/max8998.c
233
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max8998.c
234
struct max8998_dev *max8998 = i2c_get_clientdata(i2c);
drivers/mfd/max8998.c
243
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max8998.c
244
struct max8998_dev *max8998 = i2c_get_clientdata(i2c);
drivers/mfd/max8998.c
253
return max8998_irq_resume(i2c_get_clientdata(i2c));
drivers/mfd/max8998.c
303
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max8998.c
307
max8998_read_reg(i2c, max8998_dump[i].addr,
drivers/mfd/max8998.c
316
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/max8998.c
320
max8998_write_reg(i2c, max8998_dump[i].addr,
drivers/mfd/max8998.c
42
int max8998_read_reg(struct i2c_client *i2c, u8 reg, u8 *dest)
drivers/mfd/max8998.c
44
struct max8998_dev *max8998 = i2c_get_clientdata(i2c);
drivers/mfd/max8998.c
48
ret = i2c_smbus_read_byte_data(i2c, reg);
drivers/mfd/max8998.c
59
int max8998_bulk_read(struct i2c_client *i2c, u8 reg, int count, u8 *buf)
drivers/mfd/max8998.c
61
struct max8998_dev *max8998 = i2c_get_clientdata(i2c);
drivers/mfd/max8998.c
65
ret = i2c_smbus_read_i2c_block_data(i2c, reg, count, buf);
drivers/mfd/max8998.c
74
int max8998_write_reg(struct i2c_client *i2c, u8 reg, u8 value)
drivers/mfd/max8998.c
76
struct max8998_dev *max8998 = i2c_get_clientdata(i2c);
drivers/mfd/max8998.c
80
ret = i2c_smbus_write_byte_data(i2c, reg, value);
drivers/mfd/max8998.c
86
int max8998_bulk_write(struct i2c_client *i2c, u8 reg, int count, u8 *buf)
drivers/mfd/max8998.c
88
struct max8998_dev *max8998 = i2c_get_clientdata(i2c);
drivers/mfd/max8998.c
92
ret = i2c_smbus_write_i2c_block_data(i2c, reg, count, buf);
drivers/mfd/mc13xxx-i2c.c
30
MODULE_DEVICE_TABLE(i2c, mc13xxx_i2c_device_id);
drivers/mfd/menelaus.c
1236
MODULE_DEVICE_TABLE(i2c, menelaus_id);
drivers/mfd/menf21bmc.c
109
MODULE_DEVICE_TABLE(i2c, menf21bmc_id_table);
drivers/mfd/mt6360-core.c
28
struct i2c_client *i2c[MT6360_SLAVE_MAX];
drivers/mfd/mt6360-core.c
406
struct i2c_client *i2c;
drivers/mfd/mt6360-core.c
416
i2c = ddata->i2c[bank];
drivers/mfd/mt6360-core.c
430
buf[0] = I2C_ADDR_XLATE_8BIT(i2c->addr, I2C_SMBUS_READ);
drivers/mfd/mt6360-core.c
433
ret = i2c_smbus_read_i2c_block_data(i2c, reg_addr, read_size,
drivers/mfd/mt6360-core.c
456
struct i2c_client *i2c;
drivers/mfd/mt6360-core.c
466
i2c = ddata->i2c[bank];
drivers/mfd/mt6360-core.c
479
buf[0] = I2C_ADDR_XLATE_8BIT(i2c->addr, I2C_SMBUS_WRITE);
drivers/mfd/mt6360-core.c
488
ret = i2c_smbus_write_i2c_block_data(i2c, reg_addr, write_size,
drivers/mfd/mt6360-core.c
542
ddata->i2c[i] = devm_i2c_new_dummy_device(&client->dev,
drivers/mfd/mt6360-core.c
545
if (IS_ERR(ddata->i2c[i])) {
drivers/mfd/mt6360-core.c
549
return PTR_ERR(ddata->i2c[i]);
drivers/mfd/mt6360-core.c
552
ddata->i2c[MT6360_SLAVE_MAX - 1] = client;
drivers/mfd/mt6360-core.c
588
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/mt6360-core.c
591
enable_irq_wake(i2c->irq);
drivers/mfd/mt6360-core.c
599
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/mt6360-core.c
602
disable_irq_wake(i2c->irq);
drivers/mfd/mt6370.c
193
ret = i2c_smbus_read_i2c_block_data(info->i2c[bank_idx], bank_addr,
drivers/mfd/mt6370.c
214
return i2c_smbus_write_i2c_block_data(info->i2c[bank_idx], bank_addr,
drivers/mfd/mt6370.c
230
static int mt6370_probe(struct i2c_client *i2c)
drivers/mfd/mt6370.c
235
struct device *dev = &i2c->dev;
drivers/mfd/mt6370.c
242
usbc_i2c = devm_i2c_new_dummy_device(dev, i2c->adapter,
drivers/mfd/mt6370.c
249
info->i2c[MT6370_PMU_I2C] = i2c;
drivers/mfd/mt6370.c
250
info->i2c[MT6370_USBC_I2C] = usbc_i2c;
drivers/mfd/mt6370.c
262
ret = devm_regmap_add_irq_chip(dev, regmap, i2c->irq,
drivers/mfd/mt6370.h
95
struct i2c_client *i2c[MT6370_MAX_I2C];
drivers/mfd/palmas.c
376
static int palmas_set_pdata_irq_flag(struct i2c_client *i2c,
drivers/mfd/palmas.c
379
struct irq_data *irq_data = irq_get_irq_data(i2c->irq);
drivers/mfd/palmas.c
381
dev_err(&i2c->dev, "Invalid IRQ: %d\n", i2c->irq);
drivers/mfd/palmas.c
386
dev_info(&i2c->dev, "Irq flag is 0x%08x\n", pdata->irq_flags);
drivers/mfd/palmas.c
390
static void palmas_dt_to_pdata(struct i2c_client *i2c,
drivers/mfd/palmas.c
393
struct device_node *node = i2c->dev.of_node;
drivers/mfd/palmas.c
417
if (i2c->irq)
drivers/mfd/palmas.c
418
palmas_set_pdata_irq_flag(i2c, pdata);
drivers/mfd/palmas.c
484
static int palmas_i2c_probe(struct i2c_client *i2c)
drivers/mfd/palmas.c
489
struct device_node *node = i2c->dev.of_node;
drivers/mfd/palmas.c
494
pdata = dev_get_platdata(&i2c->dev);
drivers/mfd/palmas.c
497
pdata = devm_kzalloc(&i2c->dev, sizeof(*pdata), GFP_KERNEL);
drivers/mfd/palmas.c
502
palmas_dt_to_pdata(i2c, pdata);
drivers/mfd/palmas.c
508
palmas = devm_kzalloc(&i2c->dev, sizeof(struct palmas), GFP_KERNEL);
drivers/mfd/palmas.c
512
i2c_set_clientdata(i2c, palmas);
drivers/mfd/palmas.c
513
palmas->dev = &i2c->dev;
drivers/mfd/palmas.c
514
palmas->irq = i2c->irq;
drivers/mfd/palmas.c
516
driver_data = i2c_get_match_data(i2c);
drivers/mfd/palmas.c
521
palmas->i2c_clients[i] = i2c;
drivers/mfd/palmas.c
524
i2c_new_dummy_device(i2c->adapter,
drivers/mfd/palmas.c
525
i2c->addr + i);
drivers/mfd/palmas.c
654
ret = devm_of_platform_populate(&i2c->dev);
drivers/mfd/palmas.c
675
static void palmas_i2c_remove(struct i2c_client *i2c)
drivers/mfd/palmas.c
677
struct palmas *palmas = i2c_get_clientdata(i2c);
drivers/mfd/palmas.c
708
MODULE_DEVICE_TABLE(i2c, palmas_i2c_id);
drivers/mfd/pf1550.c
197
static int pf1550_i2c_probe(struct i2c_client *i2c)
drivers/mfd/pf1550.c
207
pf1550 = devm_kzalloc(&i2c->dev, sizeof(*pf1550), GFP_KERNEL);
drivers/mfd/pf1550.c
211
i2c_set_clientdata(i2c, pf1550);
drivers/mfd/pf1550.c
212
pf1550->dev = &i2c->dev;
drivers/mfd/pf1550.c
213
pf1550->irq = i2c->irq;
drivers/mfd/pf1550.c
215
pf1550->regmap = devm_regmap_init_i2c(i2c, &pf1550_regmap_config);
drivers/mfd/pf1550.c
346
MODULE_DEVICE_TABLE(i2c, pf1550_i2c_id);
drivers/mfd/rc5t583.c
236
static int rc5t583_i2c_probe(struct i2c_client *i2c)
drivers/mfd/rc5t583.c
239
struct rc5t583_platform_data *pdata = dev_get_platdata(&i2c->dev);
drivers/mfd/rc5t583.c
243
dev_err(&i2c->dev, "Err: Platform data not found\n");
drivers/mfd/rc5t583.c
247
rc5t583 = devm_kzalloc(&i2c->dev, sizeof(*rc5t583), GFP_KERNEL);
drivers/mfd/rc5t583.c
251
rc5t583->dev = &i2c->dev;
drivers/mfd/rc5t583.c
252
i2c_set_clientdata(i2c, rc5t583);
drivers/mfd/rc5t583.c
254
rc5t583->regmap = devm_regmap_init_i2c(i2c, &rc5t583_regmap_config);
drivers/mfd/rc5t583.c
257
dev_err(&i2c->dev, "regmap initialization failed: %d\n", ret);
drivers/mfd/rc5t583.c
265
if (i2c->irq) {
drivers/mfd/rc5t583.c
266
ret = rc5t583_irq_init(rc5t583, i2c->irq, pdata->irq_base);
drivers/mfd/rc5t583.c
269
dev_warn(&i2c->dev, "IRQ init failed: %d\n", ret);
drivers/mfd/rc5t583.c
275
dev_err(&i2c->dev, "add mfd devices failed: %d\n", ret);
drivers/mfd/retu-mfd.c
194
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/retu-mfd.c
198
ret = i2c_smbus_read_word_data(i2c, *(u8 const *)reg);
drivers/mfd/retu-mfd.c
211
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/retu-mfd.c
216
return i2c_smbus_write_word_data(i2c, reg, val);
drivers/mfd/retu-mfd.c
230
static int retu_probe(struct i2c_client *i2c)
drivers/mfd/retu-mfd.c
236
if (i2c->addr > ARRAY_SIZE(retu_data))
drivers/mfd/retu-mfd.c
238
rdat = &retu_data[i2c->addr - 1];
drivers/mfd/retu-mfd.c
240
rdev = devm_kzalloc(&i2c->dev, sizeof(*rdev), GFP_KERNEL);
drivers/mfd/retu-mfd.c
244
i2c_set_clientdata(i2c, rdev);
drivers/mfd/retu-mfd.c
245
rdev->dev = &i2c->dev;
drivers/mfd/retu-mfd.c
247
rdev->regmap = devm_regmap_init(&i2c->dev, &retu_bus, &i2c->dev,
drivers/mfd/retu-mfd.c
269
ret = regmap_add_irq_chip(rdev->regmap, i2c->irq, IRQF_ONESHOT, -1,
drivers/mfd/retu-mfd.c
278
regmap_del_irq_chip(i2c->irq, rdev->irq_data);
drivers/mfd/retu-mfd.c
282
if (i2c->addr == 1 && !pm_power_off) {
drivers/mfd/retu-mfd.c
290
static void retu_remove(struct i2c_client *i2c)
drivers/mfd/retu-mfd.c
292
struct retu_dev *rdev = i2c_get_clientdata(i2c);
drivers/mfd/retu-mfd.c
299
regmap_del_irq_chip(i2c->irq, rdev->irq_data);
drivers/mfd/retu-mfd.c
307
MODULE_DEVICE_TABLE(i2c, retu_id);
drivers/mfd/rn5t618.c
180
static int rn5t618_i2c_probe(struct i2c_client *i2c)
drivers/mfd/rn5t618.c
185
priv = devm_kzalloc(&i2c->dev, sizeof(*priv), GFP_KERNEL);
drivers/mfd/rn5t618.c
189
i2c_set_clientdata(i2c, priv);
drivers/mfd/rn5t618.c
190
priv->variant = (long)i2c_get_match_data(i2c);
drivers/mfd/rn5t618.c
191
priv->irq = i2c->irq;
drivers/mfd/rn5t618.c
192
priv->dev = &i2c->dev;
drivers/mfd/rn5t618.c
194
priv->regmap = devm_regmap_init_i2c(i2c, &rn5t618_regmap_config);
drivers/mfd/rn5t618.c
197
dev_err(&i2c->dev, "regmap init failed: %d\n", ret);
drivers/mfd/rn5t618.c
202
ret = devm_mfd_add_devices(&i2c->dev, PLATFORM_DEVID_NONE,
drivers/mfd/rn5t618.c
207
ret = devm_mfd_add_devices(&i2c->dev, PLATFORM_DEVID_NONE,
drivers/mfd/rn5t618.c
212
dev_err(&i2c->dev, "failed to add sub-devices: %d\n", ret);
drivers/mfd/rn5t618.c
216
rn5t618_pm_power_off = i2c;
drivers/mfd/rn5t618.c
217
if (of_device_is_system_power_controller(i2c->dev.of_node)) {
drivers/mfd/rn5t618.c
221
dev_warn(&i2c->dev, "Poweroff callback already assigned\n");
drivers/mfd/rn5t618.c
229
dev_err(&i2c->dev, "cannot register restart handler, %d\n", ret);
drivers/mfd/rn5t618.c
236
static void rn5t618_i2c_remove(struct i2c_client *i2c)
drivers/mfd/rn5t618.c
238
if (i2c == rn5t618_pm_power_off) {
drivers/mfd/rohm-bd71828.c
1001
ret = devm_regmap_add_irq_chip(&i2c->dev, regmap, i2c->irq,
drivers/mfd/rohm-bd71828.c
1004
return dev_err_probe(&i2c->dev, ret,
drivers/mfd/rohm-bd71828.c
1007
dev_dbg(&i2c->dev, "Registered %d IRQs for chip\n",
drivers/mfd/rohm-bd71828.c
1020
return dev_err_probe(&i2c->dev, ret,
drivers/mfd/rohm-bd71828.c
1027
return dev_err_probe(&i2c->dev, ret,
drivers/mfd/rohm-bd71828.c
1033
ret = set_clk_mode(&i2c->dev, regmap, clkmode_reg);
drivers/mfd/rohm-bd71828.c
1037
ret = devm_mfd_add_devices(&i2c->dev, PLATFORM_DEVID_AUTO, mfd, cells,
drivers/mfd/rohm-bd71828.c
1040
return dev_err_probe(&i2c->dev, ret, "Failed to create subdevices\n");
drivers/mfd/rohm-bd71828.c
1042
if (of_device_is_system_power_controller(i2c->dev.of_node) &&
drivers/mfd/rohm-bd71828.c
1045
bd71828_dev = i2c;
drivers/mfd/rohm-bd71828.c
1047
ret = devm_add_action_or_reset(&i2c->dev,
drivers/mfd/rohm-bd71828.c
1051
dev_warn(&i2c->dev, "Poweroff callback already assigned\n");
drivers/mfd/rohm-bd71828.c
900
static struct regmap *bd72720_do_regmaps(struct i2c_client *i2c)
drivers/mfd/rohm-bd71828.c
905
secondary_i2c = devm_i2c_new_dummy_device(&i2c->dev, i2c->adapter,
drivers/mfd/rohm-bd71828.c
908
dev_err_probe(&i2c->dev, PTR_ERR(secondary_i2c), "Failed to get secondary I2C\n");
drivers/mfd/rohm-bd71828.c
913
maps = devm_kzalloc(&i2c->dev, sizeof(*maps), GFP_KERNEL);
drivers/mfd/rohm-bd71828.c
917
maps->map1_4b = devm_regmap_init_i2c(i2c, &bd72720_regmap_4b);
drivers/mfd/rohm-bd71828.c
925
return devm_regmap_init(&i2c->dev, NULL, maps, &bd72720_wrapper_map_config);
drivers/mfd/rohm-bd71828.c
928
static int bd71828_i2c_probe(struct i2c_client *i2c)
drivers/mfd/rohm-bd71828.c
942
if (!i2c->irq) {
drivers/mfd/rohm-bd71828.c
943
dev_err(&i2c->dev, "No IRQ configured\n");
drivers/mfd/rohm-bd71828.c
948
of_device_get_match_data(&i2c->dev);
drivers/mfd/rohm-bd71828.c
977
regmap = bd72720_do_regmaps(i2c);
drivers/mfd/rohm-bd71828.c
979
return dev_err_probe(&i2c->dev, PTR_ERR(regmap),
drivers/mfd/rohm-bd71828.c
990
dev_err(&i2c->dev, "Unknown device type");
drivers/mfd/rohm-bd71828.c
995
regmap = devm_regmap_init_i2c(i2c, regmap_config);
drivers/mfd/rohm-bd71828.c
997
return dev_err_probe(&i2c->dev, PTR_ERR(regmap),
drivers/mfd/rohm-bd718x7.c
128
static int bd718xx_i2c_probe(struct i2c_client *i2c)
drivers/mfd/rohm-bd718x7.c
137
if (!i2c->irq) {
drivers/mfd/rohm-bd718x7.c
138
dev_err(&i2c->dev, "No IRQ configured\n");
drivers/mfd/rohm-bd718x7.c
142
of_device_get_match_data(&i2c->dev);
drivers/mfd/rohm-bd718x7.c
153
dev_err(&i2c->dev, "Unknown device type");
drivers/mfd/rohm-bd718x7.c
157
regmap = devm_regmap_init_i2c(i2c, &bd718xx_regmap_config);
drivers/mfd/rohm-bd718x7.c
159
return dev_err_probe(&i2c->dev, PTR_ERR(regmap),
drivers/mfd/rohm-bd718x7.c
162
ret = devm_regmap_add_irq_chip(&i2c->dev, regmap, i2c->irq,
drivers/mfd/rohm-bd718x7.c
166
return dev_err_probe(&i2c->dev, ret, "Failed to add irq_chip\n");
drivers/mfd/rohm-bd718x7.c
168
ret = bd718xx_init_press_duration(regmap, &i2c->dev);
drivers/mfd/rohm-bd718x7.c
175
return dev_err_probe(&i2c->dev, ret, "Failed to get the IRQ\n");
drivers/mfd/rohm-bd718x7.c
179
ret = devm_mfd_add_devices(&i2c->dev, PLATFORM_DEVID_AUTO,
drivers/mfd/rohm-bd718x7.c
183
dev_err_probe(&i2c->dev, ret, "Failed to create subdevices\n");
drivers/mfd/rohm-bd9576.c
101
chip_type = (unsigned long)of_device_get_match_data(&i2c->dev);
drivers/mfd/rohm-bd9576.c
107
usable_irqs = !!i2c->irq;
drivers/mfd/rohm-bd9576.c
119
dev_err(&i2c->dev, "Unknown device type");
drivers/mfd/rohm-bd9576.c
123
regmap = devm_regmap_init_i2c(i2c, &bd957x_regmap);
drivers/mfd/rohm-bd9576.c
125
return dev_err_probe(&i2c->dev, PTR_ERR(regmap),
drivers/mfd/rohm-bd9576.c
144
ret = devm_regmap_add_irq_chip(&i2c->dev, regmap, i2c->irq,
drivers/mfd/rohm-bd9576.c
148
return dev_err_probe(&i2c->dev, ret,
drivers/mfd/rohm-bd9576.c
161
ret = devm_mfd_add_devices(&i2c->dev, PLATFORM_DEVID_AUTO, cells,
drivers/mfd/rohm-bd9576.c
164
dev_err_probe(&i2c->dev, ret, "Failed to create subdevices\n");
drivers/mfd/rohm-bd9576.c
91
static int bd957x_i2c_probe(struct i2c_client *i2c)
drivers/mfd/rohm-bd96801.c
639
static int bd96801_i2c_probe(struct i2c_client *i2c)
drivers/mfd/rohm-bd96801.c
653
chip_type = (unsigned int)(uintptr_t)device_get_match_data(&i2c->dev);
drivers/mfd/rohm-bd96801.c
668
dev_err(&i2c->dev, "Unknown IC\n");
drivers/mfd/rohm-bd96801.c
672
fwnode = dev_fwnode(&i2c->dev);
drivers/mfd/rohm-bd96801.c
674
return dev_err_probe(&i2c->dev, -EINVAL, "Failed to find fwnode\n");
drivers/mfd/rohm-bd96801.c
678
return dev_err_probe(&i2c->dev, intb_irq, "INTB IRQ not configured\n");
drivers/mfd/rohm-bd96801.c
690
regulator_res = devm_kcalloc(&i2c->dev, num_regu_irqs,
drivers/mfd/rohm-bd96801.c
695
regmap = devm_regmap_init_i2c(i2c, ddata->regmap_config);
drivers/mfd/rohm-bd96801.c
697
return dev_err_probe(&i2c->dev, PTR_ERR(regmap),
drivers/mfd/rohm-bd96801.c
702
return dev_err_probe(&i2c->dev, ret, "Failed to unlock PMIC\n");
drivers/mfd/rohm-bd96801.c
704
ret = devm_regmap_add_irq_chip(&i2c->dev, regmap, intb_irq,
drivers/mfd/rohm-bd96801.c
708
return dev_err_probe(&i2c->dev, ret, "Failed to add INTB IRQ chip\n");
drivers/mfd/rohm-bd96801.c
734
ret = devm_regmap_add_irq_chip(&i2c->dev, regmap, errb_irq, IRQF_ONESHOT,
drivers/mfd/rohm-bd96801.c
737
return dev_err_probe(&i2c->dev, ret,
drivers/mfd/rohm-bd96801.c
752
ret = devm_mfd_add_devices(&i2c->dev, PLATFORM_DEVID_AUTO, ddata->cells,
drivers/mfd/rohm-bd96801.c
755
dev_err_probe(&i2c->dev, ret, "Failed to create subdevices\n");
drivers/mfd/rsmu_i2c.c
343
MODULE_DEVICE_TABLE(i2c, rsmu_i2c_id);
drivers/mfd/rt5033.c
114
MODULE_DEVICE_TABLE(i2c, rt5033_i2c_id);
drivers/mfd/rt5033.c
55
static int rt5033_i2c_probe(struct i2c_client *i2c)
drivers/mfd/rt5033.c
61
rt5033 = devm_kzalloc(&i2c->dev, sizeof(*rt5033), GFP_KERNEL);
drivers/mfd/rt5033.c
65
i2c_set_clientdata(i2c, rt5033);
drivers/mfd/rt5033.c
66
rt5033->dev = &i2c->dev;
drivers/mfd/rt5033.c
67
rt5033->irq = i2c->irq;
drivers/mfd/rt5033.c
70
rt5033->regmap = devm_regmap_init_i2c(i2c, &rt5033_regmap_config);
drivers/mfd/rt5033.c
72
dev_err(&i2c->dev, "Failed to allocate register map.\n");
drivers/mfd/rt5033.c
78
dev_err(&i2c->dev, "Device not found\n");
drivers/mfd/rt5033.c
82
dev_info(&i2c->dev, "Device found (rev. %d)\n", chip_rev);
drivers/mfd/rt5033.c
88
dev_err(&i2c->dev, "Failed to request IRQ %d: %d\n",
drivers/mfd/rt5033.c
97
dev_err(&i2c->dev, "Failed to add RT5033 child devices.\n");
drivers/mfd/rt5120.c
84
static int rt5120_probe(struct i2c_client *i2c)
drivers/mfd/rt5120.c
86
struct device *dev = &i2c->dev;
drivers/mfd/rt5120.c
91
regmap = devm_regmap_init_i2c(i2c, &rt5120_regmap_config);
drivers/mfd/rt5120.c
96
ret = devm_regmap_add_irq_chip(dev, regmap, i2c->irq, IRQF_ONESHOT, 0,
drivers/mfd/sec-common.c
190
sec_pmic->i2c = client;
drivers/mfd/sec-i2c.c
161
static void sec_pmic_i2c_shutdown(struct i2c_client *i2c)
drivers/mfd/sec-i2c.c
163
sec_pmic_shutdown(&i2c->dev);
drivers/mfd/si476x-i2c.c
863
MODULE_DEVICE_TABLE(i2c, si476x_id);
drivers/mfd/simple-mfd-i2c.c
38
static int simple_mfd_i2c_probe(struct i2c_client *i2c)
drivers/mfd/simple-mfd-i2c.c
45
simple_mfd_data = device_get_match_data(&i2c->dev);
drivers/mfd/simple-mfd-i2c.c
53
regmap = devm_regmap_init_i2c(i2c, regmap_config);
drivers/mfd/simple-mfd-i2c.c
59
return devm_of_platform_populate(&i2c->dev);
drivers/mfd/simple-mfd-i2c.c
61
ret = devm_mfd_add_devices(&i2c->dev, PLATFORM_DEVID_AUTO,
drivers/mfd/simple-mfd-i2c.c
66
dev_err(&i2c->dev, "Failed to add child devices\n");
drivers/mfd/sky81452.c
65
MODULE_DEVICE_TABLE(i2c, sky81452_ids);
drivers/mfd/smpro-core.c
102
config = device_get_match_data(&i2c->dev);
drivers/mfd/smpro-core.c
106
regmap = devm_regmap_init(&i2c->dev, &smpro_regmap_bus, &i2c->dev, config);
drivers/mfd/smpro-core.c
117
return devm_mfd_add_devices(&i2c->dev, PLATFORM_DEVID_AUTO,
drivers/mfd/smpro-core.c
30
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/smpro-core.c
33
ret = i2c_master_send(i2c, data, count);
drivers/mfd/smpro-core.c
44
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/smpro-core.c
49
xfer[0].addr = i2c->addr;
drivers/mfd/smpro-core.c
57
xfer[1].addr = i2c->addr;
drivers/mfd/smpro-core.c
62
ret = i2c_transfer(i2c->adapter, xfer, 2);
drivers/mfd/smpro-core.c
95
static int smpro_core_probe(struct i2c_client *i2c)
drivers/mfd/stmpe-i2c.c
113
MODULE_DEVICE_TABLE(i2c, stmpe_i2c_id);
drivers/mfd/stmpe-i2c.c
22
struct i2c_client *i2c = stmpe->client;
drivers/mfd/stmpe-i2c.c
24
return i2c_smbus_read_byte_data(i2c, reg);
drivers/mfd/stmpe-i2c.c
29
struct i2c_client *i2c = stmpe->client;
drivers/mfd/stmpe-i2c.c
31
return i2c_smbus_write_byte_data(i2c, reg, val);
drivers/mfd/stmpe-i2c.c
36
struct i2c_client *i2c = stmpe->client;
drivers/mfd/stmpe-i2c.c
38
return i2c_smbus_read_i2c_block_data(i2c, reg, length, values);
drivers/mfd/stmpe-i2c.c
44
struct i2c_client *i2c = stmpe->client;
drivers/mfd/stmpe-i2c.c
46
return i2c_smbus_write_i2c_block_data(i2c, reg, length, values);
drivers/mfd/stmpe-i2c.c
70
stmpe_i2c_probe(struct i2c_client *i2c)
drivers/mfd/stmpe-i2c.c
72
const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
drivers/mfd/stmpe-i2c.c
77
i2c_ci.irq = i2c->irq;
drivers/mfd/stmpe-i2c.c
78
i2c_ci.client = i2c;
drivers/mfd/stmpe-i2c.c
79
i2c_ci.dev = &i2c->dev;
drivers/mfd/stmpe-i2c.c
81
of_id = of_match_device(stmpe_of_match, &i2c->dev);
drivers/mfd/stmpe-i2c.c
87
dev_info(&i2c->dev, "matching on node name, compatible is preferred\n");
drivers/mfd/stmpe-i2c.c
95
static void stmpe_i2c_remove(struct i2c_client *i2c)
drivers/mfd/stmpe-i2c.c
97
struct stmpe *stmpe = dev_get_drvdata(&i2c->dev);
drivers/mfd/stpmic1.c
131
static int stpmic1_probe(struct i2c_client *i2c)
drivers/mfd/stpmic1.c
134
struct device *dev = &i2c->dev;
drivers/mfd/stpmic1.c
143
i2c_set_clientdata(i2c, ddata);
drivers/mfd/stpmic1.c
146
ddata->regmap = devm_regmap_init_i2c(i2c, &stpmic1_regmap_config);
drivers/mfd/stpmic1.c
184
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/stpmic1.c
185
struct stpmic1 *pmic_dev = i2c_get_clientdata(i2c);
drivers/mfd/stpmic1.c
194
struct i2c_client *i2c = to_i2c_client(dev);
drivers/mfd/stpmic1.c
195
struct stpmic1 *pmic_dev = i2c_get_clientdata(i2c);
drivers/mfd/stw481x.c
228
MODULE_DEVICE_TABLE(i2c, stw481x_id);
drivers/mfd/tc3589x.c
106
ret = i2c_smbus_write_i2c_block_data(tc3589x->i2c, reg, length,
drivers/mfd/tc3589x.c
353
static int tc3589x_probe(struct i2c_client *i2c)
drivers/mfd/tc3589x.c
355
const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
drivers/mfd/tc3589x.c
356
struct device_node *np = i2c->dev.of_node;
drivers/mfd/tc3589x.c
357
struct tc3589x_platform_data *pdata = dev_get_platdata(&i2c->dev);
drivers/mfd/tc3589x.c
363
pdata = tc3589x_of_probe(&i2c->dev, &version);
drivers/mfd/tc3589x.c
365
dev_err(&i2c->dev, "No platform data or DT found\n");
drivers/mfd/tc3589x.c
373
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_SMBUS_BYTE_DATA
drivers/mfd/tc3589x.c
377
tc3589x = devm_kzalloc(&i2c->dev, sizeof(struct tc3589x),
drivers/mfd/tc3589x.c
384
tc3589x->dev = &i2c->dev;
drivers/mfd/tc3589x.c
385
tc3589x->i2c = i2c;
drivers/mfd/tc3589x.c
403
i2c_set_clientdata(i2c, tc3589x);
drivers/mfd/tc3589x.c
413
ret = request_threaded_irq(tc3589x->i2c->irq, NULL, tc3589x_irq,
drivers/mfd/tc3589x.c
440
struct i2c_client *client = tc3589x->i2c;
drivers/mfd/tc3589x.c
454
struct i2c_client *client = tc3589x->i2c;
drivers/mfd/tc3589x.c
46
ret = i2c_smbus_read_byte_data(tc3589x->i2c, reg);
drivers/mfd/tc3589x.c
478
MODULE_DEVICE_TABLE(i2c, tc3589x_id);
drivers/mfd/tc3589x.c
65
ret = i2c_smbus_write_byte_data(tc3589x->i2c, reg, data);
drivers/mfd/tc3589x.c
85
ret = i2c_smbus_read_i2c_block_data(tc3589x->i2c, reg, length, values);
drivers/mfd/ti-lmu.c
216
MODULE_DEVICE_TABLE(i2c, ti_lmu_ids);
drivers/mfd/tps6105x.c
198
MODULE_DEVICE_TABLE(i2c, tps6105x_id);
drivers/mfd/tps65010.c
659
MODULE_DEVICE_TABLE(i2c, tps65010_id);
drivers/mfd/tps6507x.c
109
MODULE_DEVICE_TABLE(i2c, tps6507x_i2c_id);
drivers/mfd/tps6507x.c
39
struct i2c_client *i2c = tps6507x->i2c_client;
drivers/mfd/tps6507x.c
44
xfer[0].addr = i2c->addr;
drivers/mfd/tps6507x.c
50
xfer[1].addr = i2c->addr;
drivers/mfd/tps6507x.c
55
ret = i2c_transfer(i2c->adapter, xfer, 2);
drivers/mfd/tps6507x.c
67
struct i2c_client *i2c = tps6507x->i2c_client;
drivers/mfd/tps6507x.c
78
ret = i2c_master_send(i2c, msg, bytes + 1);
drivers/mfd/tps6507x.c
86
static int tps6507x_i2c_probe(struct i2c_client *i2c)
drivers/mfd/tps6507x.c
90
tps6507x = devm_kzalloc(&i2c->dev, sizeof(struct tps6507x_dev),
drivers/mfd/tps6507x.c
95
i2c_set_clientdata(i2c, tps6507x);
drivers/mfd/tps6507x.c
96
tps6507x->dev = &i2c->dev;
drivers/mfd/tps6507x.c
97
tps6507x->i2c_client = i2c;
drivers/mfd/tps65086.c
133
MODULE_DEVICE_TABLE(i2c, tps65086_id_table);
drivers/mfd/tps65217.c
396
MODULE_DEVICE_TABLE(i2c, tps65217_id_table);
drivers/mfd/tps65218.c
342
MODULE_DEVICE_TABLE(i2c, tps65218_id_table);
drivers/mfd/tps6586x.c
648
MODULE_DEVICE_TABLE(i2c, tps6586x_id_table);
drivers/mfd/tps65910.c
437
static int tps65910_i2c_probe(struct i2c_client *i2c)
drivers/mfd/tps65910.c
439
const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
drivers/mfd/tps65910.c
447
pmic_plat_data = dev_get_platdata(&i2c->dev);
drivers/mfd/tps65910.c
449
if (!pmic_plat_data && i2c->dev.of_node) {
drivers/mfd/tps65910.c
450
pmic_plat_data = tps65910_parse_dt(i2c, &chip_id);
drivers/mfd/tps65910.c
457
init_data = devm_kzalloc(&i2c->dev, sizeof(*init_data), GFP_KERNEL);
drivers/mfd/tps65910.c
461
tps65910 = devm_kzalloc(&i2c->dev, sizeof(*tps65910), GFP_KERNEL);
drivers/mfd/tps65910.c
466
i2c_set_clientdata(i2c, tps65910);
drivers/mfd/tps65910.c
467
tps65910->dev = &i2c->dev;
drivers/mfd/tps65910.c
468
tps65910->i2c_client = i2c;
drivers/mfd/tps65910.c
475
i2c_master_send(i2c, "", 1);
drivers/mfd/tps65910.c
476
tps65910->regmap = devm_regmap_init_i2c(i2c, &tps65910_regmap_config);
drivers/mfd/tps65910.c
479
dev_err(&i2c->dev, "regmap initialization failed: %d\n", ret);
drivers/mfd/tps65910.c
499
dev_err(&i2c->dev, "failed to set power-off mode: %d\n",
drivers/mfd/tps65910.c
504
tps65910_i2c_client = i2c;
drivers/mfd/tps65910.c
513
dev_err(&i2c->dev, "mfd_add_devices failed: %d\n", ret);
drivers/mfd/tps65912-i2c.c
49
MODULE_DEVICE_TABLE(i2c, tps65912_i2c_id_table);
drivers/mfd/twl6040.c
824
MODULE_DEVICE_TABLE(i2c, twl6040_i2c_id);
drivers/mfd/wm831x-i2c.c
23
static int wm831x_i2c_probe(struct i2c_client *i2c)
drivers/mfd/wm831x-i2c.c
25
struct wm831x_pdata *pdata = dev_get_platdata(&i2c->dev);
drivers/mfd/wm831x-i2c.c
30
type = (uintptr_t)i2c_get_match_data(i2c);
drivers/mfd/wm831x-i2c.c
32
dev_err(&i2c->dev, "Failed to match device\n");
drivers/mfd/wm831x-i2c.c
36
wm831x = devm_kzalloc(&i2c->dev, sizeof(struct wm831x), GFP_KERNEL);
drivers/mfd/wm831x-i2c.c
40
i2c_set_clientdata(i2c, wm831x);
drivers/mfd/wm831x-i2c.c
41
wm831x->dev = &i2c->dev;
drivers/mfd/wm831x-i2c.c
44
wm831x->regmap = devm_regmap_init_i2c(i2c, &wm831x_regmap_config);
drivers/mfd/wm831x-i2c.c
55
return wm831x_device_init(wm831x, i2c->irq);
drivers/mfd/wm8350-i2c.c
19
static int wm8350_i2c_probe(struct i2c_client *i2c)
drivers/mfd/wm8350-i2c.c
22
struct wm8350_platform_data *pdata = dev_get_platdata(&i2c->dev);
drivers/mfd/wm8350-i2c.c
25
wm8350 = devm_kzalloc(&i2c->dev, sizeof(struct wm8350), GFP_KERNEL);
drivers/mfd/wm8350-i2c.c
29
wm8350->regmap = devm_regmap_init_i2c(i2c, &wm8350_regmap);
drivers/mfd/wm8350-i2c.c
32
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
drivers/mfd/wm8350-i2c.c
37
i2c_set_clientdata(i2c, wm8350);
drivers/mfd/wm8350-i2c.c
38
wm8350->dev = &i2c->dev;
drivers/mfd/wm8350-i2c.c
40
return wm8350_device_init(wm8350, i2c->irq, pdata);
drivers/mfd/wm8400-core.c
119
static int wm8400_i2c_probe(struct i2c_client *i2c)
drivers/mfd/wm8400-core.c
123
wm8400 = devm_kzalloc(&i2c->dev, sizeof(struct wm8400), GFP_KERNEL);
drivers/mfd/wm8400-core.c
127
wm8400->regmap = devm_regmap_init_i2c(i2c, &wm8400_regmap_config);
drivers/mfd/wm8400-core.c
131
wm8400->dev = &i2c->dev;
drivers/mfd/wm8400-core.c
132
i2c_set_clientdata(i2c, wm8400);
drivers/mfd/wm8400-core.c
134
return wm8400_init(wm8400, dev_get_platdata(&i2c->dev));
drivers/mfd/wm8994-core.c
612
static int wm8994_i2c_probe(struct i2c_client *i2c)
drivers/mfd/wm8994-core.c
617
wm8994 = devm_kzalloc(&i2c->dev, sizeof(struct wm8994), GFP_KERNEL);
drivers/mfd/wm8994-core.c
621
i2c_set_clientdata(i2c, wm8994);
drivers/mfd/wm8994-core.c
622
wm8994->dev = &i2c->dev;
drivers/mfd/wm8994-core.c
623
wm8994->irq = i2c->irq;
drivers/mfd/wm8994-core.c
625
wm8994->type = (kernel_ulong_t)i2c_get_match_data(i2c);
drivers/mfd/wm8994-core.c
627
wm8994->regmap = devm_regmap_init_i2c(i2c, &wm8994_base_regmap_config);
drivers/mfd/wm8994-core.c
635
return wm8994_device_init(wm8994, i2c->irq);
drivers/mfd/wm8994-core.c
638
static void wm8994_i2c_remove(struct i2c_client *i2c)
drivers/mfd/wm8994-core.c
640
struct wm8994 *wm8994 = i2c_get_clientdata(i2c);
drivers/mfd/wm8994-core.c
652
MODULE_DEVICE_TABLE(i2c, wm8994_i2c_id);
drivers/misc/ad525x_dpot-i2c.c
103
MODULE_DEVICE_TABLE(i2c, ad_dpot_id);
drivers/misc/amd-sbi/rmi-i2c.c
147
MODULE_DEVICE_TABLE(i2c, sbrmi_id);
drivers/misc/apds9802als.c
292
MODULE_DEVICE_TABLE(i2c, apds9802als_id);
drivers/misc/apds990x.c
1261
MODULE_DEVICE_TABLE(i2c, apds990x_id);
drivers/misc/bh1770glc.c
1371
MODULE_DEVICE_TABLE(i2c, bh1770_id);
drivers/misc/ds1682.c
277
MODULE_DEVICE_TABLE(i2c, ds1682_id);
drivers/misc/eeprom/at24.c
251
MODULE_DEVICE_TABLE(i2c, at24_ids);
drivers/misc/eeprom/ee1004.c
60
MODULE_DEVICE_TABLE(i2c, ee1004_ids);
drivers/misc/eeprom/idt_89hpesx.c
1386
MODULE_DEVICE_TABLE(i2c, ee_ids);
drivers/misc/eeprom/idt_89hpesx.c
1446
MODULE_DEVICE_TABLE(i2c, idt_ids);
drivers/misc/eeprom/m24lr.c
112
MODULE_DEVICE_TABLE(i2c, m24lr_ids);
drivers/misc/eeprom/max6875.c
189
MODULE_DEVICE_TABLE(i2c, max6875_id);
drivers/misc/hmc6352.c
128
MODULE_DEVICE_TABLE(i2c, hmc6352_id);
drivers/misc/ics932s401.c
101
MODULE_DEVICE_TABLE(i2c, ics932s401_id);
drivers/misc/isl29003.c
455
MODULE_DEVICE_TABLE(i2c, isl29003_id);
drivers/misc/isl29020.c
184
MODULE_DEVICE_TABLE(i2c, isl29020_id);
drivers/misc/keba/cp500.c
110
.i2c = { 0x5000, SZ_4K },
drivers/misc/keba/cp500.c
121
.i2c = { 0x5000, SZ_4K },
drivers/misc/keba/cp500.c
149
struct keba_i2c_auxdev *i2c;
drivers/misc/keba/cp500.c
328
struct keba_i2c_auxdev *i2c =
drivers/misc/keba/cp500.c
331
kfree(i2c);
drivers/misc/keba/cp500.c
338
cp500->i2c = kzalloc_obj(*cp500->i2c);
drivers/misc/keba/cp500.c
339
if (!cp500->i2c)
drivers/misc/keba/cp500.c
342
cp500->i2c->auxdev.name = "i2c";
drivers/misc/keba/cp500.c
343
cp500->i2c->auxdev.id = 0;
drivers/misc/keba/cp500.c
344
cp500->i2c->auxdev.dev.release = cp500_i2c_release;
drivers/misc/keba/cp500.c
345
cp500->i2c->auxdev.dev.parent = &cp500->pci_dev->dev;
drivers/misc/keba/cp500.c
346
cp500->i2c->io = (struct resource) {
drivers/misc/keba/cp500.c
349
cp500->devs->i2c.offset,
drivers/misc/keba/cp500.c
351
cp500->devs->i2c.offset +
drivers/misc/keba/cp500.c
352
cp500->devs->i2c.size - 1,
drivers/misc/keba/cp500.c
355
cp500->i2c->info_size = ARRAY_SIZE(cp500_i2c_info);
drivers/misc/keba/cp500.c
356
cp500->i2c->info = cp500_i2c_info;
drivers/misc/keba/cp500.c
358
ret = auxiliary_device_init(&cp500->i2c->auxdev);
drivers/misc/keba/cp500.c
360
kfree(cp500->i2c);
drivers/misc/keba/cp500.c
361
cp500->i2c = NULL;
drivers/misc/keba/cp500.c
365
ret = __auxiliary_device_add(&cp500->i2c->auxdev, "keba");
drivers/misc/keba/cp500.c
367
auxiliary_device_uninit(&cp500->i2c->auxdev);
drivers/misc/keba/cp500.c
368
cp500->i2c = NULL;
drivers/misc/keba/cp500.c
793
if (cp500->i2c) {
drivers/misc/keba/cp500.c
794
cp500_unregister_dev(&cp500->i2c->auxdev);
drivers/misc/keba/cp500.c
795
cp500->i2c = NULL;
drivers/misc/keba/cp500.c
87
struct cp500_dev_info i2c;
drivers/misc/keba/cp500.c
99
.i2c = { 0x4000, SZ_4K },
drivers/misc/lis3lv02d/lis3lv02d_i2c.c
255
MODULE_DEVICE_TABLE(i2c, lis3lv02d_id);
drivers/misc/tsl2550.c
426
MODULE_DEVICE_TABLE(i2c, tsl2550_id);
drivers/mtd/maps/pismo.c
256
MODULE_DEVICE_TABLE(i2c, pismo_id);
drivers/mux/adg792a.c
132
MODULE_DEVICE_TABLE(i2c, adg792a_id);
drivers/mux/adg792a.c
23
static int adg792a_write_cmd(struct i2c_client *i2c, u8 cmd, int reset)
drivers/mux/adg792a.c
31
return i2c_smbus_write_byte_data(i2c, cmd, data);
drivers/mux/adg792a.c
36
struct i2c_client *i2c = to_i2c_client(mux->chip->dev.parent);
drivers/mux/adg792a.c
54
return adg792a_write_cmd(i2c, cmd, 0);
drivers/mux/adg792a.c
61
static int adg792a_probe(struct i2c_client *i2c)
drivers/mux/adg792a.c
63
struct device *dev = &i2c->dev;
drivers/mux/adg792a.c
70
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/mux/adg792a.c
85
ret = adg792a_write_cmd(i2c, ADG792A_DISABLE_ALL, 1);
drivers/net/dsa/lan9303_i2c.c
95
MODULE_DEVICE_TABLE(i2c, lan9303_i2c_id);
drivers/net/dsa/microchip/ksz9477_i2c.c
17
static int ksz9477_i2c_probe(struct i2c_client *i2c)
drivers/net/dsa/microchip/ksz9477_i2c.c
20
struct device *ddev = &i2c->dev;
drivers/net/dsa/microchip/ksz9477_i2c.c
25
dev = ksz_switch_alloc(&i2c->dev, i2c);
drivers/net/dsa/microchip/ksz9477_i2c.c
38
dev->regmap[i] = devm_regmap_init_i2c(i2c, &rc);
drivers/net/dsa/microchip/ksz9477_i2c.c
40
return dev_err_probe(&i2c->dev, PTR_ERR(dev->regmap[i]),
drivers/net/dsa/microchip/ksz9477_i2c.c
46
if (i2c->dev.platform_data)
drivers/net/dsa/microchip/ksz9477_i2c.c
47
dev->pdata = i2c->dev.platform_data;
drivers/net/dsa/microchip/ksz9477_i2c.c
49
dev->irq = i2c->irq;
drivers/net/dsa/microchip/ksz9477_i2c.c
57
i2c_set_clientdata(i2c, dev);
drivers/net/dsa/microchip/ksz9477_i2c.c
62
static void ksz9477_i2c_remove(struct i2c_client *i2c)
drivers/net/dsa/microchip/ksz9477_i2c.c
64
struct ksz_device *dev = i2c_get_clientdata(i2c);
drivers/net/dsa/microchip/ksz9477_i2c.c
70
static void ksz9477_i2c_shutdown(struct i2c_client *i2c)
drivers/net/dsa/microchip/ksz9477_i2c.c
72
struct ksz_device *dev = i2c_get_clientdata(i2c);
drivers/net/dsa/microchip/ksz9477_i2c.c
79
i2c_set_clientdata(i2c, NULL);
drivers/net/dsa/microchip/ksz9477_i2c.c
87
MODULE_DEVICE_TABLE(i2c, ksz9477_i2c_id);
drivers/net/dsa/xrs700x/xrs700x_i2c.c
107
static void xrs700x_i2c_remove(struct i2c_client *i2c)
drivers/net/dsa/xrs700x/xrs700x_i2c.c
109
struct xrs700x *priv = i2c_get_clientdata(i2c);
drivers/net/dsa/xrs700x/xrs700x_i2c.c
117
static void xrs700x_i2c_shutdown(struct i2c_client *i2c)
drivers/net/dsa/xrs700x/xrs700x_i2c.c
119
struct xrs700x *priv = i2c_get_clientdata(i2c);
drivers/net/dsa/xrs700x/xrs700x_i2c.c
126
i2c_set_clientdata(i2c, NULL);
drivers/net/dsa/xrs700x/xrs700x_i2c.c
134
MODULE_DEVICE_TABLE(i2c, xrs700x_i2c_id);
drivers/net/dsa/xrs700x/xrs700x_i2c.c
22
struct i2c_client *i2c = to_i2c_client(dev);
drivers/net/dsa/xrs700x/xrs700x_i2c.c
28
ret = i2c_master_send(i2c, (char *)&cmd.reg, sizeof(cmd.reg));
drivers/net/dsa/xrs700x/xrs700x_i2c.c
34
ret = i2c_master_recv(i2c, (char *)&cmd.val, sizeof(cmd.val));
drivers/net/dsa/xrs700x/xrs700x_i2c.c
48
struct i2c_client *i2c = to_i2c_client(dev);
drivers/net/dsa/xrs700x/xrs700x_i2c.c
55
ret = i2c_master_send(i2c, (char *)&cmd, sizeof(cmd));
drivers/net/dsa/xrs700x/xrs700x_i2c.c
79
static int xrs700x_i2c_probe(struct i2c_client *i2c)
drivers/net/dsa/xrs700x/xrs700x_i2c.c
84
priv = xrs700x_switch_alloc(&i2c->dev, i2c);
drivers/net/dsa/xrs700x/xrs700x_i2c.c
88
priv->regmap = devm_regmap_init(&i2c->dev, NULL, &i2c->dev,
drivers/net/dsa/xrs700x/xrs700x_i2c.c
92
dev_err(&i2c->dev, "Failed to initialize regmap: %d\n", ret);
drivers/net/dsa/xrs700x/xrs700x_i2c.c
96
i2c_set_clientdata(i2c, priv);
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
111
struct xgbe_i2c_op_state *state = &pdata->i2c.op_state;
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
116
tx_slots = pdata->i2c.tx_fifo_size - XI2C_IOREAD(pdata, IC_TXFLR);
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
139
struct xgbe_i2c_op_state *state = &pdata->i2c.op_state;
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
157
struct xgbe_i2c_op_state *state = &pdata->i2c.op_state;
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
171
struct xgbe_i2c_op_state *state = &pdata->i2c.op_state;
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
238
struct xgbe_i2c *i2c = &pdata->i2c;
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
242
i2c->max_speed_mode = XI2C_GET_BITS(reg, IC_COMP_PARAM_1,
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
244
i2c->rx_fifo_size = XI2C_GET_BITS(reg, IC_COMP_PARAM_1,
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
246
i2c->tx_fifo_size = XI2C_GET_BITS(reg, IC_COMP_PARAM_1,
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
251
"MAX_SPEED_MODE", i2c->max_speed_mode,
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
252
"RX_BUFFER_DEPTH", i2c->rx_fifo_size,
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
253
"TX_BUFFER_DEPTH", i2c->tx_fifo_size);
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
270
struct xgbe_i2c_op_state *state = &pdata->i2c.op_state;
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
330
if (!pdata->i2c.started)
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
335
pdata->i2c.started = 0;
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
351
if (pdata->i2c.started)
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c
369
pdata->i2c.started = 1;
drivers/net/ethernet/amd/xgbe/xgbe.h
1217
struct xgbe_i2c i2c;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10423
unsigned int i2c_max = sizeof(ldst_cmd.u.i2c.data);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10440
ldst_cmd.u.i2c.pid = (port < 0 ? 0xff : port);
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10441
ldst_cmd.u.i2c.did = devid;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10446
ldst_cmd.u.i2c.boffset = offset;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10447
ldst_cmd.u.i2c.blen = i2c_len;
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
10454
memcpy(buf, ldst_rpl.u.i2c.data, i2c_len);
drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h
1025
} i2c;
drivers/net/ethernet/mellanox/mlxsw/minimal.c
757
MODULE_DEVICE_TABLE(i2c, mlxsw_m_i2c_id);
drivers/net/mctp/mctp-i2c.c
1107
MODULE_DEVICE_TABLE(i2c, mctp_i2c_id);
drivers/net/mdio/mdio-i2c.c
112
struct i2c_adapter *i2c = bus->priv;
drivers/net/mdio/mdio-i2c.c
119
i2c_lock_bus(i2c, I2C_LOCK_SEGMENT);
drivers/net/mdio/mdio-i2c.c
121
ret = __i2c_smbus_xfer(i2c, i2c_mii_phy_addr(phy_id), 0,
drivers/net/mdio/mdio-i2c.c
129
ret = __i2c_smbus_xfer(i2c, i2c_mii_phy_addr(phy_id), 0,
drivers/net/mdio/mdio-i2c.c
134
i2c_unlock_bus(i2c, I2C_LOCK_SEGMENT);
drivers/net/mdio/mdio-i2c.c
147
struct i2c_adapter *i2c = bus->priv;
drivers/net/mdio/mdio-i2c.c
156
i2c_lock_bus(i2c, I2C_LOCK_SEGMENT);
drivers/net/mdio/mdio-i2c.c
158
ret = __i2c_smbus_xfer(i2c, i2c_mii_phy_addr(phy_id), 0,
drivers/net/mdio/mdio-i2c.c
166
ret = __i2c_smbus_xfer(i2c, i2c_mii_phy_addr(phy_id), 0,
drivers/net/mdio/mdio-i2c.c
171
i2c_unlock_bus(i2c, I2C_LOCK_SEGMENT);
drivers/net/mdio/mdio-i2c.c
200
static int __i2c_transfer_err(struct i2c_adapter *i2c, struct i2c_msg *msgs,
drivers/net/mdio/mdio-i2c.c
205
ret = __i2c_transfer(i2c, msgs, num);
drivers/net/mdio/mdio-i2c.c
214
static int __i2c_rollball_get_page(struct i2c_adapter *i2c, int bus_addr,
drivers/net/mdio/mdio-i2c.c
230
return __i2c_transfer_err(i2c, msgs, 2);
drivers/net/mdio/mdio-i2c.c
233
static int __i2c_rollball_set_page(struct i2c_adapter *i2c, int bus_addr,
drivers/net/mdio/mdio-i2c.c
247
return __i2c_transfer_err(i2c, &msg, 1);
drivers/net/mdio/mdio-i2c.c
263
static int i2c_transfer_rollball(struct i2c_adapter *i2c,
drivers/net/mdio/mdio-i2c.c
269
i2c_lock_bus(i2c, I2C_LOCK_SEGMENT);
drivers/net/mdio/mdio-i2c.c
272
ret = __i2c_rollball_get_page(i2c, msgs->addr, &saved_page);
drivers/net/mdio/mdio-i2c.c
277
ret = __i2c_rollball_set_page(i2c, msgs->addr, SFP_PAGE_ROLLBALL_MDIO);
drivers/net/mdio/mdio-i2c.c
282
ret = __i2c_transfer_err(i2c, msgs, num);
drivers/net/mdio/mdio-i2c.c
287
ret = __i2c_rollball_set_page(i2c, msgs->addr, saved_page);
drivers/net/mdio/mdio-i2c.c
290
i2c_unlock_bus(i2c, I2C_LOCK_SEGMENT);
drivers/net/mdio/mdio-i2c.c
298
struct i2c_adapter *i2c = bus->priv;
drivers/net/mdio/mdio-i2c.c
325
ret = i2c_transfer_rollball(i2c, msgs, ARRAY_SIZE(msgs));
drivers/net/mdio/mdio-i2c.c
341
struct i2c_adapter *i2c = bus->priv;
drivers/net/mdio/mdio-i2c.c
358
return i2c_transfer_rollball(i2c, msgs, ARRAY_SIZE(msgs));
drivers/net/mdio/mdio-i2c.c
36
struct i2c_adapter *i2c = bus->priv;
drivers/net/mdio/mdio-i2c.c
422
static int i2c_mii_init_rollball(struct i2c_adapter *i2c)
drivers/net/mdio/mdio-i2c.c
439
ret = i2c_transfer(i2c, &msg, 1);
drivers/net/mdio/mdio-i2c.c
448
static bool mdio_i2c_check_functionality(struct i2c_adapter *i2c,
drivers/net/mdio/mdio-i2c.c
451
if (i2c_check_functionality(i2c, I2C_FUNC_I2C))
drivers/net/mdio/mdio-i2c.c
454
if (i2c_check_functionality(i2c, I2C_FUNC_SMBUS_BYTE_DATA) &&
drivers/net/mdio/mdio-i2c.c
461
struct mii_bus *mdio_i2c_alloc(struct device *parent, struct i2c_adapter *i2c,
drivers/net/mdio/mdio-i2c.c
467
if (!mdio_i2c_check_functionality(i2c, protocol))
drivers/net/mdio/mdio-i2c.c
476
mii->priv = i2c;
drivers/net/mdio/mdio-i2c.c
479
if (i2c_check_functionality(i2c, I2C_FUNC_SMBUS_BYTE_DATA) &&
drivers/net/mdio/mdio-i2c.c
480
!i2c_check_functionality(i2c, I2C_FUNC_I2C)) {
drivers/net/mdio/mdio-i2c.c
488
ret = i2c_mii_init_rollball(i2c);
drivers/net/mdio/mdio-i2c.c
61
ret = i2c_transfer(i2c, msgs, ARRAY_SIZE(msgs));
drivers/net/mdio/mdio-i2c.c
71
struct i2c_adapter *i2c = bus->priv;
drivers/net/mdio/mdio-i2c.c
93
ret = i2c_transfer(i2c, &msg, 1);
drivers/net/phy/sfp.c
232
struct i2c_adapter *i2c;
drivers/net/phy/sfp.c
3071
if (sfp->i2c)
drivers/net/phy/sfp.c
3072
i2c_put_adapter(sfp->i2c);
drivers/net/phy/sfp.c
3079
struct i2c_adapter *i2c;
drivers/net/phy/sfp.c
3088
i2c = i2c_get_adapter_by_fwnode(h);
drivers/net/phy/sfp.c
3089
if (!i2c) {
drivers/net/phy/sfp.c
3094
err = sfp_i2c_configure(sfp, i2c);
drivers/net/phy/sfp.c
3096
i2c_put_adapter(i2c);
drivers/net/phy/sfp.c
699
ret = i2c_transfer(sfp->i2c, msgs, ARRAY_SIZE(msgs));
drivers/net/phy/sfp.c
731
ret = i2c_transfer(sfp->i2c, msgs, ARRAY_SIZE(msgs));
drivers/net/phy/sfp.c
750
ret = i2c_smbus_xfer(sfp->i2c, bus_addr, 0,
drivers/net/phy/sfp.c
776
ret = i2c_smbus_xfer(sfp->i2c, bus_addr, 0,
drivers/net/phy/sfp.c
790
static int sfp_i2c_configure(struct sfp *sfp, struct i2c_adapter *i2c)
drivers/net/phy/sfp.c
792
sfp->i2c = i2c;
drivers/net/phy/sfp.c
794
if (i2c_check_functionality(i2c, I2C_FUNC_I2C)) {
drivers/net/phy/sfp.c
798
} else if (i2c_check_functionality(i2c, I2C_FUNC_SMBUS_BYTE_DATA)) {
drivers/net/phy/sfp.c
803
sfp->i2c = NULL;
drivers/net/phy/sfp.c
815
i2c_mii = mdio_i2c_alloc(sfp->dev, sfp->i2c, sfp->mdio_protocol);
drivers/net/pse-pd/pd692x0.c
1859
MODULE_DEVICE_TABLE(i2c, pd692x0_id);
drivers/net/pse-pd/si3474.c
556
MODULE_DEVICE_TABLE(i2c, si3474_id);
drivers/net/pse-pd/tps23881.c
1535
MODULE_DEVICE_TABLE(i2c, tps23881_id);
drivers/nfc/microread/i2c.c
283
MODULE_DEVICE_TABLE(i2c, microread_i2c_id);
drivers/nfc/nfcmrvl/fw_dnld.c
201
&priv->fw_dnld.binary_config->i2c.clk,
drivers/nfc/nfcmrvl/fw_dnld.h
45
struct nfcmrvl_fw_i2c_config i2c;
drivers/nfc/nfcmrvl/i2c.c
120
ret = i2c_master_send(drv_data->i2c, skb->data, skb->len);
drivers/nfc/nfcmrvl/i2c.c
126
ret = i2c_master_send(drv_data->i2c, skb->data, skb->len);
drivers/nfc/nfcmrvl/i2c.c
202
drv_data->i2c = client;
drivers/nfc/nfcmrvl/i2c.c
21
struct i2c_client *i2c;
drivers/nfc/nfcmrvl/i2c.c
218
ret = devm_request_threaded_irq(&drv_data->i2c->dev, pdata->irq,
drivers/nfc/nfcmrvl/i2c.c
223
nfc_err(&drv_data->i2c->dev,
drivers/nfc/nfcmrvl/i2c.c
230
&drv_data->i2c->dev, pdata);
drivers/nfc/nfcmrvl/i2c.c
258
MODULE_DEVICE_TABLE(i2c, nfcmrvl_i2c_id_table);
drivers/nfc/nfcmrvl/i2c.c
32
ret = i2c_master_recv(drv_data->i2c, (u8 *)&nci_hdr, NCI_CTRL_HDR_SIZE);
drivers/nfc/nfcmrvl/i2c.c
34
nfc_err(&drv_data->i2c->dev, "cannot read NCI header\n");
drivers/nfc/nfcmrvl/i2c.c
48
ret = i2c_master_recv(drv_data->i2c,
drivers/nfc/nfcmrvl/i2c.c
53
nfc_err(&drv_data->i2c->dev,
drivers/nfc/nfcmrvl/i2c.c
84
nfc_err(&drv_data->i2c->dev, "read failed %d\n", ret);
drivers/nfc/nfcmrvl/i2c.c
88
nfc_err(&drv_data->i2c->dev, "corrupted RX packet\n");
drivers/nfc/nxp-nci/i2c.c
328
MODULE_DEVICE_TABLE(i2c, nxp_nci_i2c_id_table);
drivers/nfc/pn533/i2c.c
255
MODULE_DEVICE_TABLE(i2c, pn533_i2c_id_table);
drivers/nfc/pn544/i2c.c
51
MODULE_DEVICE_TABLE(i2c, pn544_hci_i2c_id_table);
drivers/nfc/s3fwrn5/i2c.c
251
MODULE_DEVICE_TABLE(i2c, s3fwrn5_i2c_id_table);
drivers/nfc/st-nci/i2c.c
263
MODULE_DEVICE_TABLE(i2c, st_nci_i2c_id_table);
drivers/nfc/st21nfca/i2c.c
578
MODULE_DEVICE_TABLE(i2c, st21nfca_hci_i2c_id_table);
drivers/phy/phy-nxp-ptn3222.c
103
MODULE_DEVICE_TABLE(i2c, ptn3222_table);
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
1141
BCM281XX_PIN_DESC(BCM21664_PIN_BSC1CLK, "bsc1clk", i2c),
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
1142
BCM281XX_PIN_DESC(BCM21664_PIN_BSC1DAT, "bsc1dat", i2c),
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
1170
BCM281XX_PIN_DESC(BCM21664_PIN_GPIO16, "gpio16", i2c),
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
1171
BCM281XX_PIN_DESC(BCM21664_PIN_GPIO17, "gpio17", i2c),
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
1230
BCM281XX_PIN_DESC(BCM21664_PIN_PMBSCCLK, "pmbscclk", i2c),
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
1231
BCM281XX_PIN_DESC(BCM21664_PIN_PMBSCDAT, "pmbscdat", i2c),
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
406
BCM281XX_PIN_DESC(BCM281XX_PIN_BSC1_SCL, "bsc1_scl", i2c),
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
407
BCM281XX_PIN_DESC(BCM281XX_PIN_BSC1_SDA, "bsc1_sda", i2c),
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
408
BCM281XX_PIN_DESC(BCM281XX_PIN_BSC2_SCL, "bsc2_scl", i2c),
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
409
BCM281XX_PIN_DESC(BCM281XX_PIN_BSC2_SDA, "bsc2_sda", i2c),
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
541
BCM281XX_PIN_DESC(BCM281XX_PIN_PMU_SCL, "pmu_scl", i2c),
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
542
BCM281XX_PIN_DESC(BCM281XX_PIN_PMU_SDA, "pmu_sda", i2c),
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
669
BCM281XX_PIN_DESC(BCM281XX_PIN_VC_CAM1_SCL, "vc_cam1_scl", i2c),
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
670
BCM281XX_PIN_DESC(BCM281XX_PIN_VC_CAM1_SDA, "vc_cam1_sda", i2c),
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
671
BCM281XX_PIN_DESC(BCM281XX_PIN_VC_CAM2_SCL, "vc_cam2_scl", i2c),
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
672
BCM281XX_PIN_DESC(BCM281XX_PIN_VC_CAM2_SDA, "vc_cam2_sda", i2c),
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
673
BCM281XX_PIN_DESC(BCM281XX_PIN_VC_CAM3_SCL, "vc_cam3_scl", i2c),
drivers/pinctrl/bcm/pinctrl-bcm281xx.c
674
BCM281XX_PIN_DESC(BCM281XX_PIN_VC_CAM3_SDA, "vc_cam3_sda", i2c),
drivers/pinctrl/bcm/pinctrl-nsp-mux.c
239
NSP_PIN_GROUP(i2c, NSP_MUX_BASE0, 3, 0x03, 0x00),
drivers/pinctrl/bcm/pinctrl-nsp-mux.c
297
NSP_PIN_FUNCTION(i2c),
drivers/pinctrl/cirrus/pinctrl-cs42l43.c
93
CS42L43_PINGROUP(i2c),
drivers/pinctrl/mediatek/pinctrl-airoha.c
1724
PINCTRL_FUNC_DESC("i2c", i2c),
drivers/pinctrl/mediatek/pinctrl-airoha.c
1750
PINCTRL_FUNC_DESC("i2c", i2c),
drivers/pinctrl/pinctrl-aw9523.c
1039
MODULE_DEVICE_TABLE(i2c, aw9523_i2c_id_table);
drivers/pinctrl/pinctrl-cy8c95x0.c
81
MODULE_DEVICE_TABLE(i2c, cy8c95x0_id);
drivers/pinctrl/pinctrl-mcp23s08_i2c.c
75
MODULE_DEVICE_TABLE(i2c, mcp230xx_id);
drivers/pinctrl/pinctrl-sx150x.c
1026
struct i2c_client *i2c = pctl->client;
drivers/pinctrl/pinctrl-sx150x.c
1062
ret = i2c_smbus_read_byte_data(i2c, idx);
drivers/pinctrl/pinctrl-sx150x.c
1079
struct i2c_client *i2c = pctl->client;
drivers/pinctrl/pinctrl-sx150x.c
1088
ret = i2c_smbus_write_byte_data(i2c, reg, byte);
drivers/platform/arm64/acer-aspire1-ec.c
538
MODULE_DEVICE_TABLE(i2c, aspire_ec_id);
drivers/platform/arm64/huawei-gaokun-ec.c
801
MODULE_DEVICE_TABLE(i2c, gaokun_ec_id);
drivers/platform/arm64/lenovo-thinkpad-t14s.c
643
MODULE_DEVICE_TABLE(i2c, t14s_ec_i2c_id_table);
drivers/platform/arm64/lenovo-yoga-c630.c
244
MODULE_DEVICE_TABLE(i2c, yoga_c630_ec_i2c_id_table);
drivers/platform/chrome/cros_ec_i2c.c
354
MODULE_DEVICE_TABLE(i2c, cros_ec_i2c_id);
drivers/platform/chrome/cros_hps_i2c.c
137
MODULE_DEVICE_TABLE(i2c, hps_i2c_id);
drivers/platform/x86/x86-android-tablets/vexia_atla10_ec.c
248
MODULE_DEVICE_TABLE(i2c, atla10_ec_id_table);
drivers/power/supply/88pm860x_battery.c
161
ret = pm860x_bulk_read(info->i2c, offset, 2, buf);
drivers/power/supply/88pm860x_battery.c
195
ret = pm860x_bulk_read(info->i2c, PM8607_LDO5, 5, buf);
drivers/power/supply/88pm860x_battery.c
220
ret = pm860x_bulk_read(info->i2c, PM8607_IBAT_MEAS1, 2, buf);
drivers/power/supply/88pm860x_battery.c
239
*old = pm860x_reg_read(info->i2c, PM8607_CHG_CTRL2);
drivers/power/supply/88pm860x_battery.c
241
ret = pm860x_set_bits(info->i2c, PM8607_CHG_CTRL2, 0x1f, data);
drivers/power/supply/88pm860x_battery.c
253
ret = pm860x_set_bits(info->i2c, PM8607_CCNT, 7, offset & 7);
drivers/power/supply/88pm860x_battery.c
256
ret = pm860x_bulk_read(info->i2c, PM8607_CCNT_MEAS1, 2, buf);
drivers/power/supply/88pm860x_battery.c
417
ret = pm860x_reg_read(info->i2c, PM8607_STATUS_2);
drivers/power/supply/88pm860x_battery.c
443
ret = pm860x_set_bits(info->i2c, PM8607_MEAS_EN1, data, data);
drivers/power/supply/88pm860x_battery.c
449
ret = pm860x_set_bits(info->i2c, PM8607_MEAS_EN3, data, data);
drivers/power/supply/88pm860x_battery.c
454
ret = pm860x_reg_write(info->i2c, PM8607_MEAS_OFF_TIME1, 0x82);
drivers/power/supply/88pm860x_battery.c
457
ret = pm860x_reg_write(info->i2c, PM8607_MEAS_OFF_TIME2, 0x6c);
drivers/power/supply/88pm860x_battery.c
462
ret = pm860x_set_bits(info->i2c, PM8607_GPADC_MISC1,
drivers/power/supply/88pm860x_battery.c
468
ret = pm860x_set_bits(info->i2c, PM8607_CHG_CTRL6,
drivers/power/supply/88pm860x_battery.c
473
ret = pm860x_set_bits(info->i2c, PM8607_CCNT, 7 << 3,
drivers/power/supply/88pm860x_battery.c
479
ret = pm860x_set_bits(info->i2c, PM8607_GP_BIAS2, 0xF << 4,
drivers/power/supply/88pm860x_battery.c
486
ret = pm860x_reg_read(info->i2c, PM8607_STATUS_2);
drivers/power/supply/88pm860x_battery.c
504
data = pm860x_reg_read(info->i2c, PM8607_POWER_UP_LOG);
drivers/power/supply/88pm860x_battery.c
511
buf[0] = pm860x_reg_read(info->i2c, PM8607_RTC_MISC2);
drivers/power/supply/88pm860x_battery.c
512
buf[1] = pm860x_reg_read(info->i2c, PM8607_RTC1);
drivers/power/supply/88pm860x_battery.c
522
pm860x_set_bits(info->i2c, PM8607_POWER_UP_LOG,
drivers/power/supply/88pm860x_battery.c
542
pm860x_reg_write(info->i2c, PM8607_GPADC1_HIGHTH, data);
drivers/power/supply/88pm860x_battery.c
549
pm860x_reg_write(info->i2c, PM8607_GPADC1_LOWTH, data);
drivers/power/supply/88pm860x_battery.c
789
pm860x_set_bits(info->i2c, PM8607_RTC_MISC2, RTC_SOC_5LSB,
drivers/power/supply/88pm860x_battery.c
791
pm860x_set_bits(info->i2c, PM8607_RTC1, RTC_SOC_3MSB,
drivers/power/supply/88pm860x_battery.c
932
info->i2c =
drivers/power/supply/88pm860x_battery.c
96
struct i2c_client *i2c;
drivers/power/supply/88pm860x_charger.c
121
ret = pm860x_bulk_read(info->i2c, PM8607_VCHG_MEAS1, 2, buf);
drivers/power/supply/88pm860x_charger.c
144
pm860x_reg_write(info->i2c, PM8607_VCHG_LOWTH, data);
drivers/power/supply/88pm860x_charger.c
151
pm860x_reg_write(info->i2c, PM8607_VCHG_HIGHTH, data);
drivers/power/supply/88pm860x_charger.c
166
pm860x_reg_write(info->i2c, PM8607_VBAT_LOWTH, data);
drivers/power/supply/88pm860x_charger.c
173
pm860x_reg_write(info->i2c, PM8607_VBAT_HIGHTH, data);
drivers/power/supply/88pm860x_charger.c
191
ret = pm860x_set_bits(info->i2c, PM8607_CHG_CTRL1, 3,
drivers/power/supply/88pm860x_charger.c
196
ret = pm860x_set_bits(info->i2c, PM8607_CHG_CTRL3, (0xf << 4),
drivers/power/supply/88pm860x_charger.c
201
ret = pm860x_reg_write(info->i2c, PM8607_CHG_CTRL4,
drivers/power/supply/88pm860x_charger.c
206
ret = pm860x_set_bits(info->i2c, PM8607_CHG_CTRL7,
drivers/power/supply/88pm860x_charger.c
212
ret = pm860x_set_bits(info->i2c, PM8607_CHG_CTRL1, 3,
drivers/power/supply/88pm860x_charger.c
225
ret = pm860x_reg_write(info->i2c, PM8607_CHG_CTRL1,
drivers/power/supply/88pm860x_charger.c
234
ret = pm860x_set_bits(info->i2c, PM8607_CHG_CTRL2, 0x1f,
drivers/power/supply/88pm860x_charger.c
239
ret = pm860x_set_bits(info->i2c, PM8607_CHG_CTRL3, (0xf << 4),
drivers/power/supply/88pm860x_charger.c
244
ret = pm860x_set_bits(info->i2c, PM8607_CHG_CTRL4,
drivers/power/supply/88pm860x_charger.c
249
ret = pm860x_set_bits(info->i2c, PM8607_CHG_CTRL6,
drivers/power/supply/88pm860x_charger.c
256
ret = pm860x_set_bits(info->i2c, PM8607_CHG_CTRL7,
drivers/power/supply/88pm860x_charger.c
262
ret = pm860x_set_bits(info->i2c, PM8607_CHG_CTRL1, 3,
drivers/power/supply/88pm860x_charger.c
273
pm860x_set_bits(info->i2c, PM8607_CHG_CTRL1, 3, CC1_MODE_OFF);
drivers/power/supply/88pm860x_charger.c
402
ret = pm860x_reg_read(info->i2c, PM8607_STATUS_2);
drivers/power/supply/88pm860x_charger.c
504
ret = pm860x_reg_read(info->i2c, PM8607_STATUS_2);
drivers/power/supply/88pm860x_charger.c
623
ret = pm860x_reg_read(info->i2c, PM8607_STATUS_2);
drivers/power/supply/88pm860x_charger.c
687
info->i2c =
drivers/power/supply/88pm860x_charger.c
98
struct i2c_client *i2c;
drivers/power/supply/adp5061.c
733
MODULE_DEVICE_TABLE(i2c, adp5061_id);
drivers/power/supply/bq2415x_charger.c
1756
MODULE_DEVICE_TABLE(i2c, bq2415x_i2c_id_table);
drivers/power/supply/bq24190_charger.c
2317
MODULE_DEVICE_TABLE(i2c, bq24190_i2c_ids);
drivers/power/supply/bq24257_charger.c
1141
MODULE_DEVICE_TABLE(i2c, bq24257_i2c_ids);
drivers/power/supply/bq24735-charger.c
495
MODULE_DEVICE_TABLE(i2c, bq24735_charger_id);
drivers/power/supply/bq2515x_charger.c
1144
MODULE_DEVICE_TABLE(i2c, bq2515x_i2c_ids);
drivers/power/supply/bq256xx_charger.c
1780
MODULE_DEVICE_TABLE(i2c, bq256xx_i2c_ids);
drivers/power/supply/bq25890_charger.c
1626
MODULE_DEVICE_TABLE(i2c, bq25890_i2c_ids);
drivers/power/supply/bq25980_charger.c
1274
MODULE_DEVICE_TABLE(i2c, bq25980_i2c_ids);
drivers/power/supply/bq27xxx_battery_i2c.c
261
MODULE_DEVICE_TABLE(i2c, bq27xxx_i2c_id_table);
drivers/power/supply/ds2782_battery.c
430
MODULE_DEVICE_TABLE(i2c, ds278x_id);
drivers/power/supply/lp8727_charger.c
590
MODULE_DEVICE_TABLE(i2c, lp8727_ids);
drivers/power/supply/ltc2941-battery-gauge.c
609
MODULE_DEVICE_TABLE(i2c, ltc294x_i2c_id);
drivers/power/supply/ltc4162-l-charger.c
1238
MODULE_DEVICE_TABLE(i2c, ltc4162l_i2c_id_table);
drivers/power/supply/max14656_charger_detector.c
306
MODULE_DEVICE_TABLE(i2c, max14656_id);
drivers/power/supply/max17040_battery.c
612
MODULE_DEVICE_TABLE(i2c, max17040_id);
drivers/power/supply/max17042_battery.c
1160
struct i2c_client *i2c;
drivers/power/supply/max17042_battery.c
1164
i2c = to_i2c_client(pdev->dev.parent);
drivers/power/supply/max17042_battery.c
1165
if (!i2c)
drivers/power/supply/max17042_battery.c
1172
return max17042_probe(i2c, dev, irq, id->driver_data);
drivers/power/supply/max17042_battery.c
1254
MODULE_DEVICE_TABLE(i2c, max17042_id);
drivers/power/supply/max77705_charger.c
599
static int max77705_charger_probe(struct i2c_client *i2c)
drivers/power/supply/max77705_charger.c
608
dev = &i2c->dev;
drivers/power/supply/max77705_charger.c
615
i2c_set_clientdata(i2c, chg);
drivers/power/supply/max77705_charger.c
624
chg->regmap = devm_regmap_init_i2c(i2c, &max77705_chg_regmap_config);
drivers/power/supply/max77705_charger.c
643
ret = devm_regmap_add_irq_chip(chg->dev, chg->regmap, i2c->irq,
drivers/power/supply/max77976_charger.c
490
MODULE_DEVICE_TABLE(i2c, max77976_i2c_id);
drivers/power/supply/max8925_power.c
523
info->gpm = chip->i2c;
drivers/power/supply/max8971_charger.c
737
MODULE_DEVICE_TABLE(i2c, max8971_i2c_id);
drivers/power/supply/max8997_charger.c
166
struct i2c_client *i2c = iodev->i2c;
drivers/power/supply/max8997_charger.c
182
ret = max8997_update_reg(i2c, MAX8997_REG_MBCCTRL5,
drivers/power/supply/max8997_charger.c
191
ret = max8997_update_reg(i2c, MAX8997_REG_MBCCTRL1,
drivers/power/supply/max8997_charger.c
195
ret = max8997_update_reg(i2c, MAX8997_REG_MBCCTRL1,
drivers/power/supply/max8997_charger.c
199
ret = max8997_update_reg(i2c, MAX8997_REG_MBCCTRL1,
drivers/power/supply/max8997_charger.c
203
ret = max8997_update_reg(i2c, MAX8997_REG_MBCCTRL1,
drivers/power/supply/max8997_charger.c
55
struct i2c_client *i2c = charger->iodev->i2c;
drivers/power/supply/max8997_charger.c
62
ret = max8997_read_reg(i2c, MAX8997_REG_STATUS4, &reg);
drivers/power/supply/max8997_charger.c
75
ret = max8997_read_reg(i2c, MAX8997_REG_STATUS4, &reg);
drivers/power/supply/max8997_charger.c
84
ret = max8997_read_reg(i2c, MAX8997_REG_STATUS4, &reg);
drivers/power/supply/max8998_charger.c
113
i2c = max8998->iodev->i2c;
drivers/power/supply/max8998_charger.c
119
max8998_update_reg(i2c, MAX8998_REG_CHGR1,
drivers/power/supply/max8998_charger.c
132
max8998_update_reg(i2c, MAX8998_REG_CHGR1, 0x1 << 3, 0x3 << 3);
drivers/power/supply/max8998_charger.c
135
max8998_update_reg(i2c, MAX8998_REG_CHGR1, 0x0 << 3, 0x3 << 3);
drivers/power/supply/max8998_charger.c
138
max8998_update_reg(i2c, MAX8998_REG_CHGR1, 0x2 << 3, 0x3 << 3);
drivers/power/supply/max8998_charger.c
141
max8998_update_reg(i2c, MAX8998_REG_CHGR1, 0x3 << 3, 0x3 << 3);
drivers/power/supply/max8998_charger.c
155
max8998_update_reg(i2c, MAX8998_REG_CHGR2, 0x0 << 4, 0x3 << 4);
drivers/power/supply/max8998_charger.c
158
max8998_update_reg(i2c, MAX8998_REG_CHGR2, 0x1 << 4, 0x3 << 4);
drivers/power/supply/max8998_charger.c
161
max8998_update_reg(i2c, MAX8998_REG_CHGR2, 0x2 << 4, 0x3 << 4);
drivers/power/supply/max8998_charger.c
164
max8998_update_reg(i2c, MAX8998_REG_CHGR2, 0x3 << 4, 0x3 << 4);
drivers/power/supply/max8998_charger.c
35
struct i2c_client *i2c = max8998->iodev->i2c;
drivers/power/supply/max8998_charger.c
41
ret = max8998_read_reg(i2c, MAX8998_REG_STATUS2, &reg);
drivers/power/supply/max8998_charger.c
50
ret = max8998_read_reg(i2c, MAX8998_REG_STATUS2, &reg);
drivers/power/supply/max8998_charger.c
61
ret = max8998_read_reg(i2c, MAX8998_REG_STATUS2, &reg);
drivers/power/supply/max8998_charger.c
97
struct i2c_client *i2c;
drivers/power/supply/mm8013.c
290
MODULE_DEVICE_TABLE(i2c, mm8013_id_table);
drivers/power/supply/rt5033_battery.c
180
MODULE_DEVICE_TABLE(i2c, rt5033_battery_id);
drivers/power/supply/rt9455_charger.c
1725
MODULE_DEVICE_TABLE(i2c, rt9455_i2c_id_table);
drivers/power/supply/rt9467-charger.c
1161
static int rt9467_charger_probe(struct i2c_client *i2c)
drivers/power/supply/rt9467-charger.c
1163
struct device *dev = &i2c->dev;
drivers/power/supply/rt9467-charger.c
1172
data->dev = &i2c->dev;
drivers/power/supply/rt9467-charger.c
1173
i2c_set_clientdata(i2c, data);
drivers/power/supply/rt9467-charger.c
1181
data->regmap = devm_regmap_init_i2c(i2c, &rt9467_regmap_config);
drivers/power/supply/rt9467-charger.c
1200
ret = devm_regmap_add_irq_chip(dev, data->regmap, i2c->irq,
drivers/power/supply/rt9471.c
844
static int rt9471_probe(struct i2c_client *i2c)
drivers/power/supply/rt9471.c
846
struct device *dev = &i2c->dev;
drivers/power/supply/rt9471.c
858
i2c_set_clientdata(i2c, chip);
drivers/power/supply/rt9471.c
866
regmap = devm_regmap_init_i2c(i2c, &rt9471_regmap_config);
drivers/power/supply/rt9471.c
887
ret = devm_regmap_add_irq_chip(dev, regmap, i2c->irq,
drivers/power/supply/rt9471.c
909
static void rt9471_shutdown(struct i2c_client *i2c)
drivers/power/supply/rt9471.c
911
struct rt9471_chip *chip = i2c_get_clientdata(i2c);
drivers/power/supply/rt9756.c
851
static int rt9756_probe(struct i2c_client *i2c)
drivers/power/supply/rt9756.c
854
struct device *dev = &i2c->dev;
drivers/power/supply/rt9756.c
871
i2c_set_clientdata(i2c, data);
drivers/power/supply/rt9756.c
873
regmap = devm_regmap_init_i2c(i2c, dev_data->regmap_config);
drivers/power/supply/rt9756.c
909
return devm_request_threaded_irq(dev, i2c->irq, NULL, rt9756_irq_handler, IRQF_ONESHOT,
drivers/power/supply/rt9756.c
913
static void rt9756_shutdown(struct i2c_client *i2c)
drivers/power/supply/rt9756.c
915
struct rt9756_data *data = i2c_get_clientdata(i2c);
drivers/power/supply/sbs-battery.c
1262
MODULE_DEVICE_TABLE(i2c, sbs_id);
drivers/power/supply/sbs-charger.c
250
MODULE_DEVICE_TABLE(i2c, sbs_id);
drivers/power/supply/sbs-manager.c
396
MODULE_DEVICE_TABLE(i2c, sbsm_ids);
drivers/power/supply/smb347-charger.c
1617
MODULE_DEVICE_TABLE(i2c, smb347_id);
drivers/power/supply/stc3117_fuel_gauge.c
590
MODULE_DEVICE_TABLE(i2c, stc3117_id);
drivers/power/supply/ug3105_battery.c
201
MODULE_DEVICE_TABLE(i2c, ug3105_id);
drivers/pwm/pwm-argon-fan-hat.c
54
struct i2c_client *i2c = pwmchip_get_drvdata(chip);
drivers/pwm/pwm-argon-fan-hat.c
57
return i2c_smbus_write_byte_data(i2c, ARGON40_FAN_HAT_REG_DUTY_CYCLE, *wfhw);
drivers/pwm/pwm-argon-fan-hat.c
72
static int argon_fan_hat_i2c_probe(struct i2c_client *i2c)
drivers/pwm/pwm-argon-fan-hat.c
74
struct pwm_chip *chip = devm_pwmchip_alloc(&i2c->dev, 1, 0);
drivers/pwm/pwm-argon-fan-hat.c
81
pwmchip_set_drvdata(chip, i2c);
drivers/pwm/pwm-argon-fan-hat.c
83
ret = devm_pwmchip_add(&i2c->dev, chip);
drivers/pwm/pwm-argon-fan-hat.c
85
return dev_err_probe(&i2c->dev, ret, "Could not add PWM chip\n");
drivers/pwm/pwm-pca9685.c
544
MODULE_DEVICE_TABLE(i2c, pca9685_id);
drivers/regulator/88pg86x.c
60
static int pg86x_i2c_probe(struct i2c_client *i2c)
drivers/regulator/88pg86x.c
63
struct regulator_config config = {.dev = &i2c->dev};
drivers/regulator/88pg86x.c
64
struct regmap *regmap = devm_regmap_init_i2c(i2c, &pg86x_regmap);
drivers/regulator/88pg86x.c
68
dev_err(&i2c->dev, "regmap init failed: %d\n", ret);
drivers/regulator/88pg86x.c
74
rdev = devm_regulator_register(&i2c->dev,
drivers/regulator/88pg86x.c
79
dev_err(&i2c->dev, "failed to register %s: %d\n",
drivers/regulator/88pg86x.c
99
MODULE_DEVICE_TABLE(i2c, pg86x_i2c_id);
drivers/regulator/act8865-regulator.c
785
MODULE_DEVICE_TABLE(i2c, act8865_ids);
drivers/regulator/ad5398.c
214
MODULE_DEVICE_TABLE(i2c, ad5398_id);
drivers/regulator/adp5055-regulator.c
410
MODULE_DEVICE_TABLE(i2c, adp5055_ids);
drivers/regulator/aw37503-regulator.c
218
MODULE_DEVICE_TABLE(i2c, aw37503_id);
drivers/regulator/da9121-regulator.c
1040
chip->regmap = devm_regmap_init_i2c(i2c, regmap);
drivers/regulator/da9121-regulator.c
1048
ret = da9121_check_device_type(i2c, chip);
drivers/regulator/da9121-regulator.c
1053
static int da9121_config_irq(struct i2c_client *i2c,
drivers/regulator/da9121-regulator.c
1060
chip->chip_irq = i2c->irq;
drivers/regulator/da9121-regulator.c
1119
static int da9121_i2c_probe(struct i2c_client *i2c)
drivers/regulator/da9121-regulator.c
1125
chip = devm_kzalloc(&i2c->dev, sizeof(struct da9121), GFP_KERNEL);
drivers/regulator/da9121-regulator.c
1131
chip->pdata = i2c->dev.platform_data;
drivers/regulator/da9121-regulator.c
1132
chip->subvariant_id = (kernel_ulong_t)i2c_get_match_data(i2c);
drivers/regulator/da9121-regulator.c
1134
ret = da9121_assign_chip_model(i2c, chip);
drivers/regulator/da9121-regulator.c
1148
ret = da9121_config_irq(i2c, chip);
drivers/regulator/da9121-regulator.c
1154
static void da9121_i2c_remove(struct i2c_client *i2c)
drivers/regulator/da9121-regulator.c
1156
struct da9121 *chip = i2c_get_clientdata(i2c);
drivers/regulator/da9121-regulator.c
1180
MODULE_DEVICE_TABLE(i2c, da9121_i2c_id);
drivers/regulator/da9121-regulator.c
889
static int da9121_check_device_type(struct i2c_client *i2c, struct da9121 *chip)
drivers/regulator/da9121-regulator.c
993
static int da9121_assign_chip_model(struct i2c_client *i2c,
drivers/regulator/da9121-regulator.c
999
chip->dev = &i2c->dev;
drivers/regulator/da9210-regulator.c
130
static int da9210_i2c_probe(struct i2c_client *i2c)
drivers/regulator/da9210-regulator.c
133
struct device *dev = &i2c->dev;
drivers/regulator/da9210-regulator.c
139
chip = devm_kzalloc(&i2c->dev, sizeof(struct da9210), GFP_KERNEL);
drivers/regulator/da9210-regulator.c
143
chip->regmap = devm_regmap_init_i2c(i2c, &da9210_regmap_config);
drivers/regulator/da9210-regulator.c
146
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
drivers/regulator/da9210-regulator.c
151
config.dev = &i2c->dev;
drivers/regulator/da9210-regulator.c
163
dev_err(&i2c->dev, "Failed to write to mask reg: %d\n", error);
drivers/regulator/da9210-regulator.c
167
rdev = devm_regulator_register(&i2c->dev, &da9210_reg, &config);
drivers/regulator/da9210-regulator.c
169
dev_err(&i2c->dev, "Failed to register DA9210 regulator\n");
drivers/regulator/da9210-regulator.c
174
if (i2c->irq) {
drivers/regulator/da9210-regulator.c
175
error = devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL,
drivers/regulator/da9210-regulator.c
181
dev_err(&i2c->dev, "Failed to request IRQ%u: %d\n",
drivers/regulator/da9210-regulator.c
182
i2c->irq, error);
drivers/regulator/da9210-regulator.c
191
dev_err(&i2c->dev, "Failed to update mask reg: %d\n",
drivers/regulator/da9210-regulator.c
196
dev_warn(&i2c->dev, "No IRQ configured\n");
drivers/regulator/da9210-regulator.c
199
i2c_set_clientdata(i2c, chip);
drivers/regulator/da9210-regulator.c
209
MODULE_DEVICE_TABLE(i2c, da9210_i2c_id);
drivers/regulator/da9211-regulator.c
447
static int da9211_i2c_probe(struct i2c_client *i2c)
drivers/regulator/da9211-regulator.c
453
chip = devm_kzalloc(&i2c->dev, sizeof(struct da9211), GFP_KERNEL);
drivers/regulator/da9211-regulator.c
457
chip->dev = &i2c->dev;
drivers/regulator/da9211-regulator.c
458
chip->regmap = devm_regmap_init_i2c(i2c, &da9211_regmap_config);
drivers/regulator/da9211-regulator.c
466
i2c_set_clientdata(i2c, chip);
drivers/regulator/da9211-regulator.c
468
chip->pdata = i2c->dev.platform_data;
drivers/regulator/da9211-regulator.c
499
chip->chip_irq = i2c->irq;
drivers/regulator/da9211-regulator.c
535
MODULE_DEVICE_TABLE(i2c, da9211_i2c_id);
drivers/regulator/fan53555.c
779
MODULE_DEVICE_TABLE(i2c, fan53555_id);
drivers/regulator/fan53880.c
117
static int fan53880_i2c_probe(struct i2c_client *i2c)
drivers/regulator/fan53880.c
125
regmap = devm_regmap_init_i2c(i2c, &fan53880_regmap);
drivers/regulator/fan53880.c
128
dev_err(&i2c->dev, "Failed to create regmap: %d\n", ret);
drivers/regulator/fan53880.c
134
dev_err(&i2c->dev, "Failed to read PRODUCT_ID: %d\n", ret);
drivers/regulator/fan53880.c
138
dev_err(&i2c->dev, "Unsupported device id: 0x%x.\n", data);
drivers/regulator/fan53880.c
142
config.dev = &i2c->dev;
drivers/regulator/fan53880.c
146
rdev = devm_regulator_register(&i2c->dev,
drivers/regulator/fan53880.c
151
dev_err(&i2c->dev, "Failed to register %s: %d\n",
drivers/regulator/fan53880.c
170
MODULE_DEVICE_TABLE(i2c, fan53880_i2c_id);
drivers/regulator/isl6271a-regulator.c
100
static int isl6271a_probe(struct i2c_client *i2c)
drivers/regulator/isl6271a-regulator.c
102
const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
drivers/regulator/isl6271a-regulator.c
105
struct regulator_init_data *init_data = dev_get_platdata(&i2c->dev);
drivers/regulator/isl6271a-regulator.c
109
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
drivers/regulator/isl6271a-regulator.c
112
pmic = devm_kzalloc(&i2c->dev, sizeof(struct isl_pmic), GFP_KERNEL);
drivers/regulator/isl6271a-regulator.c
116
pmic->client = i2c;
drivers/regulator/isl6271a-regulator.c
121
config.dev = &i2c->dev;
drivers/regulator/isl6271a-regulator.c
128
rdev = devm_regulator_register(&i2c->dev, &isl_rd[i], &config);
drivers/regulator/isl6271a-regulator.c
130
dev_err(&i2c->dev, "failed to register %s\n", id->name);
drivers/regulator/isl6271a-regulator.c
135
i2c_set_clientdata(i2c, pmic);
drivers/regulator/isl6271a-regulator.c
145
MODULE_DEVICE_TABLE(i2c, isl6271a_id);
drivers/regulator/isl9305.c
140
static int isl9305_i2c_probe(struct i2c_client *i2c)
drivers/regulator/isl9305.c
143
struct isl9305_pdata *pdata = i2c->dev.platform_data;
drivers/regulator/isl9305.c
148
regmap = devm_regmap_init_i2c(i2c, &isl9305_regmap);
drivers/regulator/isl9305.c
151
dev_err(&i2c->dev, "Failed to create regmap: %d\n", ret);
drivers/regulator/isl9305.c
155
config.dev = &i2c->dev;
drivers/regulator/isl9305.c
163
rdev = devm_regulator_register(&i2c->dev,
drivers/regulator/isl9305.c
168
dev_err(&i2c->dev, "Failed to register %s: %d\n",
drivers/regulator/isl9305.c
193
MODULE_DEVICE_TABLE(i2c, isl9305_i2c_id);
drivers/regulator/lp3971.c
23
struct i2c_client *i2c;
drivers/regulator/lp3971.c
317
static int lp3971_i2c_read(struct i2c_client *i2c, char reg, int count,
drivers/regulator/lp3971.c
324
ret = i2c_smbus_read_byte_data(i2c, reg);
drivers/regulator/lp3971.c
332
static int lp3971_i2c_write(struct i2c_client *i2c, char reg, int count,
drivers/regulator/lp3971.c
337
return i2c_smbus_write_byte_data(i2c, reg, *src);
drivers/regulator/lp3971.c
346
lp3971_i2c_read(lp3971->i2c, reg, 1, &val);
drivers/regulator/lp3971.c
363
ret = lp3971_i2c_read(lp3971->i2c, reg, 1, &tmp);
drivers/regulator/lp3971.c
366
ret = lp3971_i2c_write(lp3971->i2c, reg, 1, &tmp);
drivers/regulator/lp3971.c
403
static int lp3971_i2c_probe(struct i2c_client *i2c)
drivers/regulator/lp3971.c
406
struct lp3971_platform_data *pdata = dev_get_platdata(&i2c->dev);
drivers/regulator/lp3971.c
411
dev_dbg(&i2c->dev, "No platform init data supplied\n");
drivers/regulator/lp3971.c
415
lp3971 = devm_kzalloc(&i2c->dev, sizeof(struct lp3971), GFP_KERNEL);
drivers/regulator/lp3971.c
419
lp3971->i2c = i2c;
drivers/regulator/lp3971.c
420
lp3971->dev = &i2c->dev;
drivers/regulator/lp3971.c
425
ret = lp3971_i2c_read(i2c, LP3971_SYS_CONTROL1_REG, 1, &val);
drivers/regulator/lp3971.c
429
dev_err(&i2c->dev, "failed to detect device\n");
drivers/regulator/lp3971.c
437
i2c_set_clientdata(i2c, lp3971);
drivers/regulator/lp3971.c
445
MODULE_DEVICE_TABLE(i2c, lp3971_i2c_id);
drivers/regulator/lp3972.c
163
static int lp3972_i2c_read(struct i2c_client *i2c, char reg, int count,
drivers/regulator/lp3972.c
170
ret = i2c_smbus_read_byte_data(i2c, reg);
drivers/regulator/lp3972.c
178
static int lp3972_i2c_write(struct i2c_client *i2c, char reg, int count,
drivers/regulator/lp3972.c
183
return i2c_smbus_write_byte_data(i2c, reg, *src);
drivers/regulator/lp3972.c
192
lp3972_i2c_read(lp3972->i2c, reg, 1, &val);
drivers/regulator/lp3972.c
20
struct i2c_client *i2c;
drivers/regulator/lp3972.c
209
ret = lp3972_i2c_read(lp3972->i2c, reg, 1, &tmp);
drivers/regulator/lp3972.c
212
ret = lp3972_i2c_write(lp3972->i2c, reg, 1, &tmp);
drivers/regulator/lp3972.c
498
static int lp3972_i2c_probe(struct i2c_client *i2c)
drivers/regulator/lp3972.c
501
struct lp3972_platform_data *pdata = dev_get_platdata(&i2c->dev);
drivers/regulator/lp3972.c
506
dev_dbg(&i2c->dev, "No platform init data supplied\n");
drivers/regulator/lp3972.c
510
lp3972 = devm_kzalloc(&i2c->dev, sizeof(struct lp3972), GFP_KERNEL);
drivers/regulator/lp3972.c
514
lp3972->i2c = i2c;
drivers/regulator/lp3972.c
515
lp3972->dev = &i2c->dev;
drivers/regulator/lp3972.c
520
ret = lp3972_i2c_read(i2c, LP3972_SYS_CONTROL1_REG, 1, &val);
drivers/regulator/lp3972.c
524
dev_err(&i2c->dev, "chip reported: val = 0x%x\n", val);
drivers/regulator/lp3972.c
527
dev_err(&i2c->dev, "failed to detect device. ret = %d\n", ret);
drivers/regulator/lp3972.c
535
i2c_set_clientdata(i2c, lp3972);
drivers/regulator/lp3972.c
543
MODULE_DEVICE_TABLE(i2c, lp3972_i2c_id);
drivers/regulator/lp872x.c
942
MODULE_DEVICE_TABLE(i2c, lp872x_ids);
drivers/regulator/lp8755.c
437
MODULE_DEVICE_TABLE(i2c, lp8755_id);
drivers/regulator/ltc3589.c
453
MODULE_DEVICE_TABLE(i2c, ltc3589_i2c_id);
drivers/regulator/ltc3676.c
363
MODULE_DEVICE_TABLE(i2c, ltc3676_i2c_id);
drivers/regulator/max1586.c
282
MODULE_DEVICE_TABLE(i2c, max1586_id);
drivers/regulator/max20086-regulator.c
219
static int max20086_i2c_probe(struct i2c_client *i2c)
drivers/regulator/max20086-regulator.c
226
chip = devm_kzalloc(&i2c->dev, sizeof(*chip), GFP_KERNEL);
drivers/regulator/max20086-regulator.c
230
chip->dev = &i2c->dev;
drivers/regulator/max20086-regulator.c
231
chip->info = i2c_get_match_data(i2c);
drivers/regulator/max20086-regulator.c
233
i2c_set_clientdata(i2c, chip);
drivers/regulator/max20086-regulator.c
235
chip->regmap = devm_regmap_init_i2c(i2c, &max20086_regmap_config);
drivers/regulator/max20086-regulator.c
310
MODULE_DEVICE_TABLE(i2c, max20086_i2c_id);
drivers/regulator/max20411-regulator.c
151
MODULE_DEVICE_TABLE(i2c, max20411_id);
drivers/regulator/max5970-regulator.c
557
struct i2c_client *i2c = to_i2c_client(pdev->dev.parent);
drivers/regulator/max5970-regulator.c
568
rdevs = devm_kcalloc(&i2c->dev, MAX5970_NUM_SWITCHES, sizeof(struct regulator_dev *),
drivers/regulator/max5970-regulator.c
573
if (of_device_is_compatible(i2c->dev.of_node, "maxim,max5978"))
drivers/regulator/max5970-regulator.c
575
else if (of_device_is_compatible(i2c->dev.of_node, "maxim,max5970"))
drivers/regulator/max5970-regulator.c
582
devm_kzalloc(&i2c->dev, sizeof(struct max5970_regulator),
drivers/regulator/max5970-regulator.c
594
config.dev = &i2c->dev;
drivers/regulator/max5970-regulator.c
597
rdev = devm_regulator_register(&i2c->dev,
drivers/regulator/max5970-regulator.c
600
dev_err(&i2c->dev, "failed to register regulator %s\n",
drivers/regulator/max5970-regulator.c
608
hwmon_dev = devm_hwmon_device_register_with_info(&i2c->dev, "max5970", rdevs,
drivers/regulator/max5970-regulator.c
611
return dev_err_probe(&i2c->dev, PTR_ERR(hwmon_dev),
drivers/regulator/max5970-regulator.c
616
if (i2c->irq) {
drivers/regulator/max5970-regulator.c
618
max597x_setup_irq(&i2c->dev, i2c->irq, rdevs, num_switches,
drivers/regulator/max5970-regulator.c
621
dev_err(&i2c->dev, "IRQ setup failed");
drivers/regulator/max77503-regulator.c
114
MODULE_DEVICE_TABLE(i2c, max77503_regulator_id);
drivers/regulator/max77675-regulator.c
1035
MODULE_DEVICE_TABLE(i2c, max77675_i2c_id);
drivers/regulator/max77826-regulator.c
284
MODULE_DEVICE_TABLE(i2c, max77826_id);
drivers/regulator/max77838-regulator.c
206
MODULE_DEVICE_TABLE(i2c, max77838_id);
drivers/regulator/max77857-regulator.c
437
MODULE_DEVICE_TABLE(i2c, max77857_id);
drivers/regulator/max8649.c
246
MODULE_DEVICE_TABLE(i2c, max8649_id);
drivers/regulator/max8660.c
503
MODULE_DEVICE_TABLE(i2c, max8660_id);
drivers/regulator/max8893.c
128
static int max8893_probe(struct i2c_client *i2c)
drivers/regulator/max8893.c
131
struct regulator_config config = {.dev = &i2c->dev};
drivers/regulator/max8893.c
132
struct regmap *regmap = devm_regmap_init_i2c(i2c, &max8893_regmap);
drivers/regulator/max8893.c
136
dev_err(&i2c->dev, "regmap init failed: %d\n", ret);
drivers/regulator/max8893.c
142
rdev = devm_regulator_register(&i2c->dev,
drivers/regulator/max8893.c
147
dev_err(&i2c->dev, "failed to register %s: %d\n",
drivers/regulator/max8893.c
168
MODULE_DEVICE_TABLE(i2c, max8893_ids);
drivers/regulator/max8925-regulator.c
114
return max8925_set_bits(info->i2c, info->enable_reg, mask, data);
drivers/regulator/max8925-regulator.c
121
return max8925_set_bits(info->i2c, info->vol_reg, 1 << SD1_DVM_EN,
drivers/regulator/max8925-regulator.c
129
return max8925_set_bits(info->i2c, info->vol_reg, 1 << SD1_DVM_EN, 0);
drivers/regulator/max8925-regulator.c
244
ri->i2c = chip->i2c;
drivers/regulator/max8925-regulator.c
36
struct i2c_client *i2c;
drivers/regulator/max8925-regulator.c
48
return max8925_set_bits(info->i2c, info->vol_reg, mask, selector);
drivers/regulator/max8925-regulator.c
57
ret = max8925_reg_read(info->i2c, info->vol_reg);
drivers/regulator/max8925-regulator.c
70
return max8925_set_bits(info->i2c, info->enable_reg,
drivers/regulator/max8925-regulator.c
81
return max8925_set_bits(info->i2c, info->enable_reg,
drivers/regulator/max8925-regulator.c
92
ret = max8925_reg_read(info->i2c, info->enable_reg);
drivers/regulator/max8952.c
313
MODULE_DEVICE_TABLE(i2c, max8952_ids);
drivers/regulator/max8973-regulator.c
787
MODULE_DEVICE_TABLE(i2c, max8973_id);
drivers/regulator/max8997-regulator.c
1011
i2c = max8997->iodev->i2c;
drivers/regulator/max8997-regulator.c
1060
max8997_update_reg(i2c, MAX8997_REG_BUCK1DVS1 + i,
drivers/regulator/max8997-regulator.c
1062
max8997_update_reg(i2c, MAX8997_REG_BUCK2DVS1 + i,
drivers/regulator/max8997-regulator.c
1064
max8997_update_reg(i2c, MAX8997_REG_BUCK5DVS1 + i,
drivers/regulator/max8997-regulator.c
1070
max8997_update_reg(i2c, MAX8997_REG_BUCK1DVS1 + i,
drivers/regulator/max8997-regulator.c
1073
max8997_update_reg(i2c, MAX8997_REG_BUCK2DVS1 + i,
drivers/regulator/max8997-regulator.c
1076
max8997_update_reg(i2c, MAX8997_REG_BUCK5DVS1 + i,
drivers/regulator/max8997-regulator.c
1111
max8997_update_reg(i2c, MAX8997_REG_BUCK1CTRL, (pdata->buck1_gpiodvs) ?
drivers/regulator/max8997-regulator.c
1113
max8997_update_reg(i2c, MAX8997_REG_BUCK2CTRL, (pdata->buck2_gpiodvs) ?
drivers/regulator/max8997-regulator.c
1115
max8997_update_reg(i2c, MAX8997_REG_BUCK5CTRL, (pdata->buck5_gpiodvs) ?
drivers/regulator/max8997-regulator.c
1120
max8997_write_reg(i2c, MAX8997_REG_BUCKRAMP, (0xf << 4) | 0x9);
drivers/regulator/max8997-regulator.c
245
struct i2c_client *i2c = max8997->iodev->i2c;
drivers/regulator/max8997-regulator.c
253
ret = max8997_read_reg(i2c, reg, &val);
drivers/regulator/max8997-regulator.c
263
struct i2c_client *i2c = max8997->iodev->i2c;
drivers/regulator/max8997-regulator.c
270
return max8997_update_reg(i2c, reg, pattern, mask);
drivers/regulator/max8997-regulator.c
276
struct i2c_client *i2c = max8997->iodev->i2c;
drivers/regulator/max8997-regulator.c
283
return max8997_update_reg(i2c, reg, ~pattern, mask);
drivers/regulator/max8997-regulator.c
355
struct i2c_client *i2c = max8997->iodev->i2c;
drivers/regulator/max8997-regulator.c
363
ret = max8997_read_reg(i2c, reg, &val);
drivers/regulator/max8997-regulator.c
400
struct i2c_client *i2c = max8997->iodev->i2c;
drivers/regulator/max8997-regulator.c
439
ret = max8997_update_reg(i2c, reg, val << shift, mask);
drivers/regulator/max8997-regulator.c
452
struct i2c_client *i2c = max8997->iodev->i2c;
drivers/regulator/max8997-regulator.c
484
ret = max8997_update_reg(i2c, reg, i << shift, mask << shift);
drivers/regulator/max8997-regulator.c
694
struct i2c_client *i2c = max8997->iodev->i2c;
drivers/regulator/max8997-regulator.c
705
return max8997_update_reg(i2c, reg, selector << shift, mask << shift);
drivers/regulator/max8997-regulator.c
711
struct i2c_client *i2c = max8997->iodev->i2c;
drivers/regulator/max8997-regulator.c
719
max8997_read_reg(i2c, reg, &max8997->saved_states[rid]);
drivers/regulator/max8997-regulator.c
726
return max8997_update_reg(i2c, reg, 0x40, mask);
drivers/regulator/max8997-regulator.c
732
return max8997_update_reg(i2c, reg, ~pattern, mask);
drivers/regulator/max8997-regulator.c
987
struct i2c_client *i2c;
drivers/regulator/max8998.c
110
struct i2c_client *i2c = max8998->iodev->i2c;
drivers/regulator/max8998.c
117
return max8998_update_reg(i2c, reg, 1<<shift, 1<<shift);
drivers/regulator/max8998.c
123
struct i2c_client *i2c = max8998->iodev->i2c;
drivers/regulator/max8998.c
130
return max8998_update_reg(i2c, reg, 0, 1<<shift);
drivers/regulator/max8998.c
199
struct i2c_client *i2c = max8998->iodev->i2c;
drivers/regulator/max8998.c
207
ret = max8998_read_reg(i2c, reg, &val);
drivers/regulator/max8998.c
221
struct i2c_client *i2c = max8998->iodev->i2c;
drivers/regulator/max8998.c
228
ret = max8998_update_reg(i2c, reg, selector<<shift, mask<<shift);
drivers/regulator/max8998.c
249
struct i2c_client *i2c = max8998->iodev->i2c;
drivers/regulator/max8998.c
290
ret = max8998_write_reg(i2c, reg, selector);
drivers/regulator/max8998.c
296
i2c->name, gpiod_get_value(max8998->buck1_gpio1),
drivers/regulator/max8998.c
300
ret = max8998_write_reg(i2c, reg, selector);
drivers/regulator/max8998.c
324
ret = max8998_write_reg(i2c, reg, selector);
drivers/regulator/max8998.c
328
dev_dbg(max8998->dev, "%s: SET3:%d\n", i2c->name,
drivers/regulator/max8998.c
331
ret = max8998_write_reg(i2c, reg, selector);
drivers/regulator/max8998.c
337
ret = max8998_update_reg(i2c, reg, selector<<shift,
drivers/regulator/max8998.c
350
struct i2c_client *i2c = max8998->iodev->i2c;
drivers/regulator/max8998.c
359
ret = max8998_read_reg(i2c, MAX8998_REG_ONOFF4, &val);
drivers/regulator/max8998.c
379
struct i2c_client *i2c = max8998->iodev->i2c;
drivers/regulator/max8998.c
415
return max8998_update_reg(i2c, rdev->desc->csel_reg,
drivers/regulator/max8998.c
422
struct i2c_client *i2c = max8998->iodev->i2c;
drivers/regulator/max8998.c
426
ret = max8998_read_reg(i2c, rdev->desc->csel_reg, &val);
drivers/regulator/max8998.c
634
struct i2c_client *i2c;
drivers/regulator/max8998.c
659
i2c = max8998->iodev->i2c;
drivers/regulator/max8998.c
707
ret = max8998_write_reg(i2c,
drivers/regulator/max8998.c
726
ret = max8998_write_reg(i2c,
drivers/regulator/max8998.c
87
struct i2c_client *i2c = max8998->iodev->i2c;
drivers/regulator/max8998.c
95
ret = max8998_read_reg(i2c, reg, &val);
drivers/regulator/mcp16502.c
584
MODULE_DEVICE_TABLE(i2c, mcp16502_i2c_id);
drivers/regulator/mp5416.c
235
MODULE_DEVICE_TABLE(i2c, mp5416_id);
drivers/regulator/mp8859.c
324
static int mp8859_i2c_probe(struct i2c_client *i2c)
drivers/regulator/mp8859.c
327
struct regulator_config config = {.dev = &i2c->dev};
drivers/regulator/mp8859.c
328
struct regmap *regmap = devm_regmap_init_i2c(i2c, &mp8859_regmap);
drivers/regulator/mp8859.c
334
dev_err(&i2c->dev, "regmap init failed: %d\n", ret);
drivers/regulator/mp8859.c
340
dev_err(&i2c->dev, "Failed to read manufacturer ID: %d\n", ret);
drivers/regulator/mp8859.c
344
dev_err(&i2c->dev, "Manufacturer ID %x != 9\n", val);
drivers/regulator/mp8859.c
350
dev_err(&i2c->dev, "Failed to read device ID: %d\n", ret);
drivers/regulator/mp8859.c
354
dev_err(&i2c->dev, "Manufacturer ID %x != 0x58\n", val);
drivers/regulator/mp8859.c
360
dev_err(&i2c->dev, "Failed to read device revision: %d\n", ret);
drivers/regulator/mp8859.c
365
dev_err(&i2c->dev, "Failed to read device ID1: %d\n", ret);
drivers/regulator/mp8859.c
368
dev_info(&i2c->dev, "MP8859-%04d revision %d\n", val, rev);
drivers/regulator/mp8859.c
370
rdev = devm_regulator_register(&i2c->dev, &mp8859_regulators[0],
drivers/regulator/mp8859.c
375
dev_err(&i2c->dev, "failed to register %s: %d\n",
drivers/regulator/mp8859.c
392
MODULE_DEVICE_TABLE(i2c, mp8859_i2c_id);
drivers/regulator/mp886x.c
355
MODULE_DEVICE_TABLE(i2c, mp886x_id);
drivers/regulator/mpq7920.c
315
MODULE_DEVICE_TABLE(i2c, mpq7920_id);
drivers/regulator/mt6311-regulator.c
105
dev_err(&i2c->dev, "Failed to read DEVICE_ID reg: %d\n", ret);
drivers/regulator/mt6311-regulator.c
115
dev_err(&i2c->dev, "Unsupported device id = 0x%x.\n", data);
drivers/regulator/mt6311-regulator.c
120
config.dev = &i2c->dev;
drivers/regulator/mt6311-regulator.c
123
rdev = devm_regulator_register(&i2c->dev,
drivers/regulator/mt6311-regulator.c
126
dev_err(&i2c->dev,
drivers/regulator/mt6311-regulator.c
139
MODULE_DEVICE_TABLE(i2c, mt6311_i2c_id);
drivers/regulator/mt6311-regulator.c
87
static int mt6311_i2c_probe(struct i2c_client *i2c)
drivers/regulator/mt6311-regulator.c
95
regmap = devm_regmap_init_i2c(i2c, &mt6311_regmap_config);
drivers/regulator/mt6311-regulator.c
98
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
drivers/regulator/pca9450-regulator.c
1135
struct i2c_client *i2c = container_of(pca9450->dev, struct i2c_client, dev);
drivers/regulator/pca9450-regulator.c
1137
dev_dbg(&i2c->dev, "Restarting device..\n");
drivers/regulator/pca9450-regulator.c
1138
if (i2c_smbus_write_byte_data(i2c, PCA9450_REG_SWRST, SW_RST_COMMAND) == 0) {
drivers/regulator/pca9450-regulator.c
1142
dev_warn(&i2c->dev, "Device didn't respond to restart command\n");
drivers/regulator/pca9450-regulator.c
1144
dev_err(&i2c->dev, "Restart command failed\n");
drivers/regulator/pca9450-regulator.c
1152
struct i2c_client *i2c = container_of(pca9450->dev, struct i2c_client, dev);
drivers/regulator/pca9450-regulator.c
1161
if (of_property_read_bool(i2c->dev.of_node, "nxp,wdog_b-warm-reset"))
drivers/regulator/pca9450-regulator.c
1170
return dev_err_probe(&i2c->dev, ret, "Failed to set WDOG_B reset behavior\n");
drivers/regulator/pca9450-regulator.c
1172
ret = of_property_read_u32(i2c->dev.of_node, "npx,pmic-rst-b-debounce-ms", &val);
drivers/regulator/pca9450-regulator.c
1193
return dev_err_probe(&i2c->dev, ret, "Failed to set PMIC_RST_B debounce time\n");
drivers/regulator/pca9450-regulator.c
1195
ret = of_property_read_u32(i2c->dev.of_node, "nxp,pmic-on-req-on-debounce-us", &val);
drivers/regulator/pca9450-regulator.c
1210
ret = of_property_read_u32(i2c->dev.of_node, "nxp,pmic-on-req-off-debounce-us", &val);
drivers/regulator/pca9450-regulator.c
1223
ret = of_property_read_u32(i2c->dev.of_node, "nxp,power-on-step-ms", &val);
drivers/regulator/pca9450-regulator.c
1238
ret = of_property_read_u32(i2c->dev.of_node, "nxp,power-down-step-ms", &val);
drivers/regulator/pca9450-regulator.c
1253
ret = of_property_read_u32(i2c->dev.of_node, "nxp,restart-ms", &val);
drivers/regulator/pca9450-regulator.c
1272
return dev_err_probe(&i2c->dev, ret,
drivers/regulator/pca9450-regulator.c
1275
if (of_property_read_bool(i2c->dev.of_node, "nxp,i2c-lt-enable")) {
drivers/regulator/pca9450-regulator.c
1280
return dev_err_probe(&i2c->dev, ret,
drivers/regulator/pca9450-regulator.c
1287
static int pca9450_i2c_probe(struct i2c_client *i2c)
drivers/regulator/pca9450-regulator.c
1290
of_device_get_match_data(&i2c->dev);
drivers/regulator/pca9450-regulator.c
1299
pca9450 = devm_kzalloc(&i2c->dev, sizeof(struct pca9450), GFP_KERNEL);
drivers/regulator/pca9450-regulator.c
1325
dev_err(&i2c->dev, "Unknown device type");
drivers/regulator/pca9450-regulator.c
1329
pca9450->irq = i2c->irq;
drivers/regulator/pca9450-regulator.c
1331
pca9450->dev = &i2c->dev;
drivers/regulator/pca9450-regulator.c
1333
dev_set_drvdata(&i2c->dev, pca9450);
drivers/regulator/pca9450-regulator.c
1335
pca9450->regmap = devm_regmap_init_i2c(i2c,
drivers/regulator/pca9450-regulator.c
1338
return dev_err_probe(&i2c->dev, PTR_ERR(pca9450->regmap),
drivers/regulator/pca9450-regulator.c
1343
return dev_err_probe(&i2c->dev, ret, "Read device id error\n");
drivers/regulator/pca9450-regulator.c
1350
return dev_err_probe(&i2c->dev, -EINVAL,
drivers/regulator/pca9450-regulator.c
1392
return dev_err_probe(&i2c->dev, ret, "Unmask irq error\n");
drivers/regulator/pca9450-regulator.c
1399
return dev_err_probe(&i2c->dev, ret, "Failed to clear PRESET_EN bit\n");
drivers/regulator/pca9450-regulator.c
1403
return dev_err_probe(&i2c->dev, ret, "Unable to parse OF data\n");
drivers/regulator/pca9450-regulator.c
1413
return dev_err_probe(&i2c->dev, PTR_ERR(pca9450->sd_vsel_gpio),
drivers/regulator/pca9450-regulator.c
1419
if (devm_register_sys_off_handler(&i2c->dev, SYS_OFF_MODE_RESTART,
drivers/regulator/pca9450-regulator.c
1422
dev_warn(&i2c->dev, "Failed to register restart handler\n");
drivers/regulator/pca9450-regulator.c
1424
dev_info(&i2c->dev, "%s probed.\n", type_name);
drivers/regulator/pf0900-regulator.c
349
struct i2c_client *i2c = to_i2c_client(dev);
drivers/regulator/pf0900-regulator.c
363
ret = i2c_smbus_read_word_data(i2c, reg);
drivers/regulator/pf0900-regulator.c
377
ret = i2c_smbus_read_byte_data(i2c, reg);
drivers/regulator/pf0900-regulator.c
392
struct i2c_client *i2c = to_i2c_client(dev);
drivers/regulator/pf0900-regulator.c
410
ret = i2c_smbus_write_word_data(i2c, reg, val);
drivers/regulator/pf0900-regulator.c
412
ret = i2c_smbus_write_byte_data(i2c, reg, data[0]);
drivers/regulator/pf0900-regulator.c
827
static int pf0900_i2c_probe(struct i2c_client *i2c)
drivers/regulator/pf0900-regulator.c
831
struct device_node *np = i2c->dev.of_node;
drivers/regulator/pf0900-regulator.c
837
if (!i2c->irq)
drivers/regulator/pf0900-regulator.c
838
return dev_err_probe(&i2c->dev, -EINVAL, "No IRQ configured?\n");
drivers/regulator/pf0900-regulator.c
840
pf0900 = devm_kzalloc(&i2c->dev, sizeof(struct pf0900), GFP_KERNEL);
drivers/regulator/pf0900-regulator.c
844
drvdata = device_get_match_data(&i2c->dev);
drivers/regulator/pf0900-regulator.c
846
return dev_err_probe(&i2c->dev, -EINVAL, "unable to find driver data\n");
drivers/regulator/pf0900-regulator.c
851
pf0900->irq = i2c->irq;
drivers/regulator/pf0900-regulator.c
852
pf0900->dev = &i2c->dev;
drivers/regulator/pf0900-regulator.c
853
pf0900->addr = i2c->addr;
drivers/regulator/pf0900-regulator.c
855
dev_set_drvdata(&i2c->dev, pf0900);
drivers/regulator/pf0900-regulator.c
857
pf0900->regmap = devm_regmap_init(&i2c->dev, &pf0900_regmap_bus, &i2c->dev,
drivers/regulator/pf0900-regulator.c
860
return dev_err_probe(&i2c->dev, PTR_ERR(pf0900->regmap),
drivers/regulator/pf0900-regulator.c
864
return dev_err_probe(&i2c->dev, ret, "Read device id error\n");
drivers/regulator/pf0900-regulator.c
868
return dev_err_probe(&i2c->dev, ret, "Read device fam error\n");
drivers/regulator/pf0900-regulator.c
872
return dev_err_probe(&i2c->dev, -EINVAL, "Device id(%x) mismatched\n",
drivers/regulator/pf0900-regulator.c
907
return dev_err_probe(&i2c->dev, ret, "Clean PWRUP_I error\n");
drivers/regulator/pf0900-regulator.c
913
return dev_err_probe(&i2c->dev, ret, "Unmask irq error\n");
drivers/regulator/pf0900-regulator.c
919
return dev_err_probe(&i2c->dev, ret, "Unmask irq error\n");
drivers/regulator/pf0900-regulator.c
925
return dev_err_probe(&i2c->dev, ret, "Unmask irq error\n");
drivers/regulator/pf0900-regulator.c
931
return dev_err_probe(&i2c->dev, ret, "Unmask irq error\n");
drivers/regulator/pf0900-regulator.c
936
return dev_err_probe(&i2c->dev, ret, "Unmask irq error\n");
drivers/regulator/pf0900-regulator.c
941
return dev_err_probe(&i2c->dev, ret, "Unmask irq error\n");
drivers/regulator/pf0900-regulator.c
946
return dev_err_probe(&i2c->dev, ret, "Unmask irq error\n");
drivers/regulator/pf530x-regulator.c
361
MODULE_DEVICE_TABLE(i2c, pf530x_i2c_id);
drivers/regulator/pf8x00-regulator.c
604
MODULE_DEVICE_TABLE(i2c, pf8x00_i2c_id);
drivers/regulator/pf9453-regulator.c
759
static int pf9453_i2c_probe(struct i2c_client *i2c)
drivers/regulator/pf9453-regulator.c
761
const struct pf9453_regulator_desc *regulator_desc = of_device_get_match_data(&i2c->dev);
drivers/regulator/pf9453-regulator.c
768
if (!i2c->irq)
drivers/regulator/pf9453-regulator.c
769
return dev_err_probe(&i2c->dev, -EINVAL, "No IRQ configured?\n");
drivers/regulator/pf9453-regulator.c
771
pf9453 = devm_kzalloc(&i2c->dev, sizeof(struct pf9453), GFP_KERNEL);
drivers/regulator/pf9453-regulator.c
775
pf9453->regmap = devm_regmap_init_i2c(i2c, &pf9453_regmap_config);
drivers/regulator/pf9453-regulator.c
777
return dev_err_probe(&i2c->dev, PTR_ERR(pf9453->regmap),
drivers/regulator/pf9453-regulator.c
780
pf9453->irq = i2c->irq;
drivers/regulator/pf9453-regulator.c
781
pf9453->dev = &i2c->dev;
drivers/regulator/pf9453-regulator.c
783
dev_set_drvdata(&i2c->dev, pf9453);
drivers/regulator/pf9453-regulator.c
787
return dev_err_probe(&i2c->dev, ret, "Read device id error\n");
drivers/regulator/pf9453-regulator.c
791
return dev_err_probe(&i2c->dev, -EINVAL, "Device id(%x) mismatched\n",
drivers/regulator/pf9453-regulator.c
822
return dev_err_probe(&i2c->dev, ret, "Unmask irq error\n");
drivers/regulator/pf9453-regulator.c
824
if (of_property_read_bool(i2c->dev.of_node, "nxp,wdog_b-warm-reset"))
drivers/regulator/pf9453-regulator.c
832
return dev_err_probe(&i2c->dev, ret, "Failed to set WDOG_B reset behavior\n");
drivers/regulator/pf9453-regulator.c
842
return dev_err_probe(&i2c->dev, PTR_ERR(pf9453->sd_vsel_gpio),
drivers/regulator/pv88060-regulator.c
276
static int pv88060_i2c_probe(struct i2c_client *i2c)
drivers/regulator/pv88060-regulator.c
278
struct regulator_init_data *init_data = dev_get_platdata(&i2c->dev);
drivers/regulator/pv88060-regulator.c
283
chip = devm_kzalloc(&i2c->dev, sizeof(struct pv88060), GFP_KERNEL);
drivers/regulator/pv88060-regulator.c
287
chip->dev = &i2c->dev;
drivers/regulator/pv88060-regulator.c
288
chip->regmap = devm_regmap_init_i2c(i2c, &pv88060_regmap_config);
drivers/regulator/pv88060-regulator.c
296
i2c_set_clientdata(i2c, chip);
drivers/regulator/pv88060-regulator.c
298
if (i2c->irq != 0) {
drivers/regulator/pv88060-regulator.c
320
ret = devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL,
drivers/regulator/pv88060-regulator.c
326
i2c->irq);
drivers/regulator/pv88060-regulator.c
366
MODULE_DEVICE_TABLE(i2c, pv88060_i2c_id);
drivers/regulator/pv88080-regulator.c
363
static int pv88080_i2c_probe(struct i2c_client *i2c)
drivers/regulator/pv88080-regulator.c
365
struct regulator_init_data *init_data = dev_get_platdata(&i2c->dev);
drivers/regulator/pv88080-regulator.c
372
chip = devm_kzalloc(&i2c->dev, sizeof(struct pv88080), GFP_KERNEL);
drivers/regulator/pv88080-regulator.c
376
chip->dev = &i2c->dev;
drivers/regulator/pv88080-regulator.c
377
chip->regmap = devm_regmap_init_i2c(i2c, &pv88080_regmap_config);
drivers/regulator/pv88080-regulator.c
385
chip->regmap_config = i2c_get_match_data(i2c);
drivers/regulator/pv88080-regulator.c
389
i2c_set_clientdata(i2c, chip);
drivers/regulator/pv88080-regulator.c
391
if (i2c->irq != 0) {
drivers/regulator/pv88080-regulator.c
411
ret = devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL,
drivers/regulator/pv88080-regulator.c
417
i2c->irq);
drivers/regulator/pv88080-regulator.c
531
MODULE_DEVICE_TABLE(i2c, pv88080_i2c_id);
drivers/regulator/pv88090-regulator.c
269
static int pv88090_i2c_probe(struct i2c_client *i2c)
drivers/regulator/pv88090-regulator.c
271
struct regulator_init_data *init_data = dev_get_platdata(&i2c->dev);
drivers/regulator/pv88090-regulator.c
277
chip = devm_kzalloc(&i2c->dev, sizeof(struct pv88090), GFP_KERNEL);
drivers/regulator/pv88090-regulator.c
281
chip->dev = &i2c->dev;
drivers/regulator/pv88090-regulator.c
282
chip->regmap = devm_regmap_init_i2c(i2c, &pv88090_regmap_config);
drivers/regulator/pv88090-regulator.c
290
i2c_set_clientdata(i2c, chip);
drivers/regulator/pv88090-regulator.c
292
if (i2c->irq != 0) {
drivers/regulator/pv88090-regulator.c
307
ret = devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL,
drivers/regulator/pv88090-regulator.c
313
i2c->irq);
drivers/regulator/pv88090-regulator.c
387
MODULE_DEVICE_TABLE(i2c, pv88090_i2c_id);
drivers/regulator/rpi-panel-attiny-regulator.c
275
static int attiny_i2c_probe(struct i2c_client *i2c)
drivers/regulator/rpi-panel-attiny-regulator.c
286
state = devm_kzalloc(&i2c->dev, sizeof(*state), GFP_KERNEL);
drivers/regulator/rpi-panel-attiny-regulator.c
290
ret = devm_mutex_init(&i2c->dev, &state->lock);
drivers/regulator/rpi-panel-attiny-regulator.c
294
i2c_set_clientdata(i2c, state);
drivers/regulator/rpi-panel-attiny-regulator.c
296
regmap = devm_regmap_init_i2c(i2c, &attiny_regmap_config);
drivers/regulator/rpi-panel-attiny-regulator.c
299
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
drivers/regulator/rpi-panel-attiny-regulator.c
304
ret = attiny_i2c_read(i2c, REG_ID, &data);
drivers/regulator/rpi-panel-attiny-regulator.c
306
dev_err(&i2c->dev, "Failed to read REG_ID reg: %d\n", ret);
drivers/regulator/rpi-panel-attiny-regulator.c
315
dev_err(&i2c->dev, "Unknown Atmel firmware revision: 0x%02x\n", data);
drivers/regulator/rpi-panel-attiny-regulator.c
323
config.dev = &i2c->dev;
drivers/regulator/rpi-panel-attiny-regulator.c
325
config.of_node = i2c->dev.of_node;
drivers/regulator/rpi-panel-attiny-regulator.c
329
rdev = devm_regulator_register(&i2c->dev, &attiny_regulator, &config);
drivers/regulator/rpi-panel-attiny-regulator.c
331
dev_err(&i2c->dev, "Failed to register ATTINY regulator\n");
drivers/regulator/rpi-panel-attiny-regulator.c
340
bl = devm_backlight_device_register(&i2c->dev, dev_name(&i2c->dev),
drivers/regulator/rpi-panel-attiny-regulator.c
341
&i2c->dev, state, &attiny_bl,
drivers/regulator/rpi-panel-attiny-regulator.c
348
state->gc.parent = &i2c->dev;
drivers/regulator/rpi-panel-attiny-regulator.c
349
state->gc.label = i2c->name;
drivers/regulator/rpi-panel-attiny-regulator.c
358
ret = devm_gpiochip_add_data(&i2c->dev, &state->gc, state);
drivers/regulator/rpi-panel-attiny-regulator.c
360
dev_err(&i2c->dev, "Failed to create gpiochip: %d\n", ret);
drivers/regulator/rpi-panel-v2-regulator.c
61
static int rpi_panel_v2_i2c_probe(struct i2c_client *i2c)
drivers/regulator/rpi-panel-v2-regulator.c
66
.parent = &i2c->dev,
drivers/regulator/rpi-panel-v2-regulator.c
73
pc = devm_pwmchip_alloc(&i2c->dev, 1, 0);
drivers/regulator/rpi-panel-v2-regulator.c
79
regmap = devm_regmap_init_i2c(i2c, &rpi_panel_regmap_config);
drivers/regulator/rpi-panel-v2-regulator.c
81
return dev_err_probe(&i2c->dev, PTR_ERR(regmap), "Failed to allocate regmap\n");
drivers/regulator/rpi-panel-v2-regulator.c
88
ret = PTR_ERR_OR_ZERO(devm_gpio_regmap_register(&i2c->dev, &gconfig));
drivers/regulator/rpi-panel-v2-regulator.c
90
return dev_err_probe(&i2c->dev, ret, "Failed to create gpiochip\n");
drivers/regulator/rpi-panel-v2-regulator.c
92
i2c_set_clientdata(i2c, regmap);
drivers/regulator/rpi-panel-v2-regulator.c
94
return devm_pwmchip_add(&i2c->dev, pc);
drivers/regulator/rt4801-regulator.c
177
static int rt4801_probe(struct i2c_client *i2c)
drivers/regulator/rt4801-regulator.c
183
priv = devm_kzalloc(&i2c->dev, sizeof(*priv), GFP_KERNEL);
drivers/regulator/rt4801-regulator.c
187
priv->dev = &i2c->dev;
drivers/regulator/rt4801-regulator.c
191
regmap = devm_regmap_init_i2c(i2c, &rt4801_regmap_config);
drivers/regulator/rt4801-regulator.c
193
dev_err(&i2c->dev, "Failed to init regmap\n");
drivers/regulator/rt4801-regulator.c
198
priv->enable_gpios[i] = devm_gpiod_get_index_optional(&i2c->dev,
drivers/regulator/rt4801-regulator.c
203
dev_err(&i2c->dev, "Failed to get gpios\n");
drivers/regulator/rt4801-regulator.c
210
struct regulator_config config = { .dev = &i2c->dev, .driver_data = priv,
drivers/regulator/rt4801-regulator.c
223
rdev = devm_regulator_register(&i2c->dev, desc, &config);
drivers/regulator/rt4801-regulator.c
225
dev_err(&i2c->dev, "Failed to register [%d] regulator\n", i);
drivers/regulator/rt4803.c
152
static int rt4803_probe(struct i2c_client *i2c)
drivers/regulator/rt4803.c
154
struct device *dev = &i2c->dev;
drivers/regulator/rt4803.c
166
regmap = devm_regmap_init_i2c(i2c, &rt4803_regmap_config);
drivers/regulator/rt5133-regulator.c
543
static int rt5133_probe(struct i2c_client *i2c)
drivers/regulator/rt5133-regulator.c
549
priv = devm_kzalloc(&i2c->dev, sizeof(*priv), GFP_KERNEL);
drivers/regulator/rt5133-regulator.c
553
priv->dev = &i2c->dev;
drivers/regulator/rt5133-regulator.c
556
priv->enable_gpio = devm_gpiod_get_optional(&i2c->dev, "enable",
drivers/regulator/rt5133-regulator.c
559
dev_err(&i2c->dev, "Failed to request HWEN gpio, check if default en=high\n");
drivers/regulator/rt5133-regulator.c
561
priv->regmap = devm_regmap_init(&i2c->dev, &rt5133_regmap_bus, priv,
drivers/regulator/rt5133-regulator.c
564
dev_err(&i2c->dev, "Failed to register regmap\n");
drivers/regulator/rt5133-regulator.c
570
dev_err(&i2c->dev, "Failed to check vendor info [%d]\n", ret);
drivers/regulator/rt5133-regulator.c
576
dev_err(&i2c->dev, "Failed to execute sw reset\n");
drivers/regulator/rt5133-regulator.c
580
config.dev = &i2c->dev;
drivers/regulator/rt5133-regulator.c
585
priv->rdev[i] = devm_regulator_register(&i2c->dev,
drivers/regulator/rt5133-regulator.c
589
dev_err(&i2c->dev,
drivers/regulator/rt5133-regulator.c
597
dev_err(&i2c->dev, "%s, Failed to parse dt\n", __func__);
drivers/regulator/rt5133-regulator.c
601
priv->gc.label = dev_name(&i2c->dev);
drivers/regulator/rt5133-regulator.c
602
priv->gc.parent = &i2c->dev;
drivers/regulator/rt5133-regulator.c
610
ret = devm_gpiochip_add_data(&i2c->dev, &priv->gc, priv);
drivers/regulator/rt5133-regulator.c
614
ret = rt5133_enable_interrupts(i2c->irq, priv);
drivers/regulator/rt5133-regulator.c
616
dev_err(&i2c->dev, "enable interrupt failed\n");
drivers/regulator/rt5133-regulator.c
620
i2c_set_clientdata(i2c, priv);
drivers/regulator/rt5190a-regulator.c
431
static int rt5190a_probe(struct i2c_client *i2c)
drivers/regulator/rt5190a-regulator.c
437
priv = devm_kzalloc(&i2c->dev, sizeof(*priv), GFP_KERNEL);
drivers/regulator/rt5190a-regulator.c
441
priv->dev = &i2c->dev;
drivers/regulator/rt5190a-regulator.c
443
priv->regmap = devm_regmap_init_i2c(i2c, &rt5190a_regmap_config);
drivers/regulator/rt5190a-regulator.c
445
dev_err(&i2c->dev, "Failed to allocate regmap\n");
drivers/regulator/rt5190a-regulator.c
451
dev_err(&i2c->dev, "Failed to check device %d\n", ret);
drivers/regulator/rt5190a-regulator.c
457
dev_err(&i2c->dev, "Failed to initialize the device\n");
drivers/regulator/rt5190a-regulator.c
463
dev_err(&i2c->dev, "Failed to parse regulator dt\n");
drivers/regulator/rt5190a-regulator.c
467
cfg.dev = &i2c->dev;
drivers/regulator/rt5190a-regulator.c
477
priv->rdev[i] = devm_regulator_register(&i2c->dev, desc, &cfg);
drivers/regulator/rt5190a-regulator.c
479
dev_err(&i2c->dev, "Failed to register regulator %s\n",
drivers/regulator/rt5190a-regulator.c
485
if (i2c->irq) {
drivers/regulator/rt5190a-regulator.c
486
ret = devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL,
drivers/regulator/rt5190a-regulator.c
489
dev_name(&i2c->dev), priv);
drivers/regulator/rt5190a-regulator.c
491
dev_err(&i2c->dev, "Failed to register interrupt\n");
drivers/regulator/rt5739.c
255
static int rt5739_probe(struct i2c_client *i2c)
drivers/regulator/rt5739.c
257
struct device *dev = &i2c->dev;
drivers/regulator/rt5739.c
277
regmap = devm_regmap_init_i2c(i2c, &rt5739_regmap_config);
drivers/regulator/rt5759-regulator.c
317
static int rt5759_probe(struct i2c_client *i2c)
drivers/regulator/rt5759-regulator.c
322
priv = devm_kzalloc(&i2c->dev, sizeof(*priv), GFP_KERNEL);
drivers/regulator/rt5759-regulator.c
326
priv->dev = &i2c->dev;
drivers/regulator/rt5759-regulator.c
327
priv->chip_type = (unsigned long)of_device_get_match_data(&i2c->dev);
drivers/regulator/rt5759-regulator.c
328
i2c_set_clientdata(i2c, priv);
drivers/regulator/rt5759-regulator.c
330
priv->regmap = devm_regmap_init_i2c(i2c, &rt5759_regmap_config);
drivers/regulator/rt5759-regulator.c
333
dev_err(&i2c->dev, "Failed to allocate regmap (%d)\n", ret);
drivers/regulator/rt5759-regulator.c
339
dev_err(&i2c->dev, "Failed to check device (%d)\n", ret);
drivers/regulator/rt5759-regulator.c
345
dev_err(&i2c->dev, "Failed to init device (%d)\n", ret);
drivers/regulator/rt6160-regulator.c
231
static int rt6160_probe(struct i2c_client *i2c)
drivers/regulator/rt6160-regulator.c
240
priv = devm_kzalloc(&i2c->dev, sizeof(*priv), GFP_KERNEL);
drivers/regulator/rt6160-regulator.c
245
device_property_present(&i2c->dev, "richtek,vsel-active-low");
drivers/regulator/rt6160-regulator.c
247
priv->enable_gpio = devm_gpiod_get_optional(&i2c->dev, "enable", GPIOD_OUT_HIGH);
drivers/regulator/rt6160-regulator.c
249
dev_err(&i2c->dev, "Failed to get 'enable' gpio\n");
drivers/regulator/rt6160-regulator.c
256
priv->regmap = devm_regmap_init_i2c(i2c, &rt6160_regmap_config);
drivers/regulator/rt6160-regulator.c
259
dev_err(&i2c->dev, "Failed to init regmap (%d)\n", ret);
drivers/regulator/rt6160-regulator.c
274
dev_err(&i2c->dev, "VID not correct [0x%02x]\n", devid);
drivers/regulator/rt6160-regulator.c
301
regulator_cfg.dev = &i2c->dev;
drivers/regulator/rt6160-regulator.c
302
regulator_cfg.of_node = i2c->dev.of_node;
drivers/regulator/rt6160-regulator.c
305
regulator_cfg.init_data = of_get_regulator_init_data(&i2c->dev, i2c->dev.of_node,
drivers/regulator/rt6160-regulator.c
308
rdev = devm_regulator_register(&i2c->dev, &priv->desc, &regulator_cfg);
drivers/regulator/rt6160-regulator.c
310
dev_err(&i2c->dev, "Failed to register regulator\n");
drivers/regulator/rt6190-regulator.c
374
static int rt6190_probe(struct i2c_client *i2c)
drivers/regulator/rt6190-regulator.c
376
struct device *dev = &i2c->dev;
drivers/regulator/rt6190-regulator.c
395
regmap = devm_regmap_init_i2c(i2c, &rt6190_regmap_config);
drivers/regulator/rt6190-regulator.c
402
i2c_set_clientdata(i2c, data);
drivers/regulator/rt6190-regulator.c
430
if (i2c->irq) {
drivers/regulator/rt6190-regulator.c
431
ret = devm_request_threaded_irq(dev, i2c->irq, NULL,
drivers/regulator/rt6245-regulator.c
146
struct i2c_client *i2c = context;
drivers/regulator/rt6245-regulator.c
160
return i2c_smbus_write_byte(i2c, code);
drivers/regulator/rt6245-regulator.c
188
static int rt6245_probe(struct i2c_client *i2c)
drivers/regulator/rt6245-regulator.c
196
priv = devm_kzalloc(&i2c->dev, sizeof(*priv), GFP_KERNEL);
drivers/regulator/rt6245-regulator.c
202
priv->enable_gpio = devm_gpiod_get_optional(&i2c->dev, "enable", GPIOD_OUT_HIGH);
drivers/regulator/rt6245-regulator.c
204
dev_err(&i2c->dev, "Failed to get 'enable' gpio\n");
drivers/regulator/rt6245-regulator.c
210
regmap = devm_regmap_init(&i2c->dev, NULL, i2c, &rt6245_regmap_config);
drivers/regulator/rt6245-regulator.c
212
dev_err(&i2c->dev, "Failed to initialize the regmap\n");
drivers/regulator/rt6245-regulator.c
216
ret = rt6245_init_device_properties(&i2c->dev);
drivers/regulator/rt6245-regulator.c
218
dev_err(&i2c->dev, "Failed to initialize device properties\n");
drivers/regulator/rt6245-regulator.c
222
regulator_cfg.dev = &i2c->dev;
drivers/regulator/rt6245-regulator.c
223
regulator_cfg.of_node = i2c->dev.of_node;
drivers/regulator/rt6245-regulator.c
226
regulator_cfg.init_data = of_get_regulator_init_data(&i2c->dev, i2c->dev.of_node,
drivers/regulator/rt6245-regulator.c
228
rdev = devm_regulator_register(&i2c->dev, &rt6245_regulator_desc, &regulator_cfg);
drivers/regulator/rt6245-regulator.c
230
dev_err(&i2c->dev, "Failed to register regulator\n");
drivers/regulator/rt8092.c
234
static int rt8092_probe(struct i2c_client *i2c)
drivers/regulator/rt8092.c
238
struct device *dev = &i2c->dev;
drivers/regulator/rt8092.c
254
regmap = devm_regmap_init_i2c(i2c, &rt8092_regmap_cfg);
drivers/regulator/rtmv20-regulator.c
324
static int rtmv20_probe(struct i2c_client *i2c)
drivers/regulator/rtmv20-regulator.c
330
priv = devm_kzalloc(&i2c->dev, sizeof(*priv), GFP_KERNEL);
drivers/regulator/rtmv20-regulator.c
334
priv->dev = &i2c->dev;
drivers/regulator/rtmv20-regulator.c
337
priv->enable_gpio = devm_gpiod_get(&i2c->dev, "enable", GPIOD_OUT_HIGH);
drivers/regulator/rtmv20-regulator.c
339
dev_err(&i2c->dev, "Failed to get enable gpio\n");
drivers/regulator/rtmv20-regulator.c
346
priv->regmap = devm_regmap_init_i2c(i2c, &rtmv20_regmap_config);
drivers/regulator/rtmv20-regulator.c
348
dev_err(&i2c->dev, "Failed to allocate register map\n");
drivers/regulator/rtmv20-regulator.c
354
dev_err(&i2c->dev, "Chip vendor info is not matched\n");
drivers/regulator/rtmv20-regulator.c
360
dev_err(&i2c->dev, "Failed to init properties\n");
drivers/regulator/rtmv20-regulator.c
372
config.dev = &i2c->dev;
drivers/regulator/rtmv20-regulator.c
375
priv->rdev = devm_regulator_register(&i2c->dev, &rtmv20_lsw_desc, &config);
drivers/regulator/rtmv20-regulator.c
377
dev_err(&i2c->dev, "Failed to register regulator\n");
drivers/regulator/rtmv20-regulator.c
386
return devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL, rtmv20_irq_handler,
drivers/regulator/rtmv20-regulator.c
387
IRQF_ONESHOT, dev_name(&i2c->dev), priv);
drivers/regulator/rtmv20-regulator.c
392
struct i2c_client *i2c = to_i2c_client(dev);
drivers/regulator/rtmv20-regulator.c
398
disable_irq(i2c->irq);
drivers/regulator/rtmv20-regulator.c
400
enable_irq_wake(i2c->irq);
drivers/regulator/rtmv20-regulator.c
407
struct i2c_client *i2c = to_i2c_client(dev);
drivers/regulator/rtmv20-regulator.c
410
enable_irq(i2c->irq);
drivers/regulator/rtmv20-regulator.c
412
disable_irq_wake(i2c->irq);
drivers/regulator/rtq2134-regulator.c
329
static int rtq2134_probe(struct i2c_client *i2c)
drivers/regulator/rtq2134-regulator.c
336
regmap = devm_regmap_init_i2c(i2c, &rtq2134_regmap_config);
drivers/regulator/rtq2134-regulator.c
338
dev_err(&i2c->dev, "Failed to allocate regmap\n");
drivers/regulator/rtq2134-regulator.c
342
regulator_cfg.dev = &i2c->dev;
drivers/regulator/rtq2134-regulator.c
345
rdev = devm_regulator_register(&i2c->dev,
drivers/regulator/rtq2134-regulator.c
349
dev_err(&i2c->dev, "Failed to init %d regulator\n", i);
drivers/regulator/rtq2208-regulator.c
592
static int rtq2208_probe(struct i2c_client *i2c)
drivers/regulator/rtq2208-regulator.c
594
struct device *dev = &i2c->dev;
drivers/regulator/rtq2208-regulator.c
609
regmap = devm_regmap_init_i2c(i2c, &rtq2208_regmap_config);
drivers/regulator/rtq2208-regulator.c
647
return devm_request_threaded_irq(dev, i2c->irq, NULL, rtq2208_irq_handler,
drivers/regulator/rtq6752-regulator.c
219
static int rtq6752_probe(struct i2c_client *i2c)
drivers/regulator/rtq6752-regulator.c
226
priv = devm_kzalloc(&i2c->dev, sizeof(*priv), GFP_KERNEL);
drivers/regulator/rtq6752-regulator.c
232
priv->enable_gpio = devm_gpiod_get_optional(&i2c->dev, "enable",
drivers/regulator/rtq6752-regulator.c
235
dev_err(&i2c->dev, "Failed to get 'enable' gpio\n");
drivers/regulator/rtq6752-regulator.c
243
priv->regmap = devm_regmap_init_i2c(i2c, &rtq6752_regmap_config);
drivers/regulator/rtq6752-regulator.c
245
dev_err(&i2c->dev, "Failed to init regmap\n");
drivers/regulator/rtq6752-regulator.c
251
dev_err(&i2c->dev, "Failed to init device properties\n");
drivers/regulator/rtq6752-regulator.c
255
reg_cfg.dev = &i2c->dev;
drivers/regulator/rtq6752-regulator.c
260
rdev = devm_regulator_register(&i2c->dev,
drivers/regulator/rtq6752-regulator.c
264
dev_err(&i2c->dev, "Failed to init %d regulator\n", i);
drivers/regulator/slg51000-regulator.c
503
MODULE_DEVICE_TABLE(i2c, slg51000_i2c_id);
drivers/regulator/sy8106a-regulator.c
116
rdev = devm_regulator_register(&i2c->dev, &sy8106a_reg, &config);
drivers/regulator/sy8106a-regulator.c
119
dev_err(&i2c->dev, "Failed to register SY8106A regulator: %d\n", error);
drivers/regulator/sy8106a-regulator.c
136
MODULE_DEVICE_TABLE(i2c, sy8106a_i2c_id);
drivers/regulator/sy8106a-regulator.c
64
static int sy8106a_i2c_probe(struct i2c_client *i2c)
drivers/regulator/sy8106a-regulator.c
66
struct device *dev = &i2c->dev;
drivers/regulator/sy8106a-regulator.c
83
regmap = devm_regmap_init_i2c(i2c, &sy8106a_regmap_config);
drivers/regulator/sy8106a-regulator.c
90
config.dev = &i2c->dev;
drivers/regulator/sy8824x.c
222
MODULE_DEVICE_TABLE(i2c, sy8824_id);
drivers/regulator/sy8827n.c
186
MODULE_DEVICE_TABLE(i2c, sy8827n_id);
drivers/regulator/tps51632-regulator.c
338
MODULE_DEVICE_TABLE(i2c, tps51632_id);
drivers/regulator/tps62360-regulator.c
486
MODULE_DEVICE_TABLE(i2c, tps62360_id);
drivers/regulator/tps6286x-regulator.c
123
static int tps6286x_i2c_probe(struct i2c_client *i2c)
drivers/regulator/tps6286x-regulator.c
125
struct device *dev = &i2c->dev;
drivers/regulator/tps6286x-regulator.c
130
regmap = devm_regmap_init_i2c(i2c, &tps6286x_regmap_config);
drivers/regulator/tps6286x-regulator.c
134
config.dev = &i2c->dev;
drivers/regulator/tps6286x-regulator.c
138
rdev = devm_regulator_register(&i2c->dev, &tps6286x_reg, &config);
drivers/regulator/tps6286x-regulator.c
140
dev_err(&i2c->dev, "Failed to register tps6286x regulator\n");
drivers/regulator/tps6286x-regulator.c
154
MODULE_DEVICE_TABLE(i2c, tps6286x_i2c_id);
drivers/regulator/tps6287x-regulator.c
184
static int tps6287x_i2c_probe(struct i2c_client *i2c)
drivers/regulator/tps6287x-regulator.c
186
struct device *dev = &i2c->dev;
drivers/regulator/tps6287x-regulator.c
196
config.regmap = devm_regmap_init_i2c(i2c, &tps6287x_regmap_config);
drivers/regulator/tps6287x-regulator.c
239
MODULE_DEVICE_TABLE(i2c, tps6287x_i2c_id);
drivers/regulator/tps65023-regulator.c
332
MODULE_DEVICE_TABLE(i2c, tps_65023_id);
drivers/regulator/tps65132-regulator.c
268
MODULE_DEVICE_TABLE(i2c, tps65132_id);
drivers/rtc/rtc-88pm860x.c
112
pm860x_bulk_read(info->i2c, PM8607_RTC_COUNTER1, 4, buf);
drivers/rtc/rtc-88pm860x.c
119
pm860x_page_reg_write(info->i2c, REG0_DATA, (base >> 24) & 0xFF);
drivers/rtc/rtc-88pm860x.c
120
pm860x_page_reg_write(info->i2c, REG1_DATA, (base >> 16) & 0xFF);
drivers/rtc/rtc-88pm860x.c
121
pm860x_page_reg_write(info->i2c, REG2_DATA, (base >> 8) & 0xFF);
drivers/rtc/rtc-88pm860x.c
122
pm860x_page_reg_write(info->i2c, REG3_DATA, base & 0xFF);
drivers/rtc/rtc-88pm860x.c
134
pm860x_page_bulk_read(info->i2c, REG0_ADDR, 8, buf);
drivers/rtc/rtc-88pm860x.c
140
pm860x_bulk_read(info->i2c, PM8607_RTC_EXPIRE1, 4, buf);
drivers/rtc/rtc-88pm860x.c
148
ret = pm860x_reg_read(info->i2c, PM8607_RTC1);
drivers/rtc/rtc-88pm860x.c
161
pm860x_set_bits(info->i2c, PM8607_RTC1, ALARM_EN, 0);
drivers/rtc/rtc-88pm860x.c
163
pm860x_page_bulk_read(info->i2c, REG0_ADDR, 8, buf);
drivers/rtc/rtc-88pm860x.c
176
pm860x_bulk_write(info->i2c, PM8607_RTC_EXPIRE1, 4, buf);
drivers/rtc/rtc-88pm860x.c
179
pm860x_set_bits(info->i2c, PM8607_RTC1, mask, mask);
drivers/rtc/rtc-88pm860x.c
182
pm860x_set_bits(info->i2c, PM8607_RTC1, mask,
drivers/rtc/rtc-88pm860x.c
207
pm860x_bulk_read(info->i2c, REG_VRTC_MEAS1, 2, buf);
drivers/rtc/rtc-88pm860x.c
216
sum = pm860x_reg_read(info->i2c, PM8607_RTC_MISC1);
drivers/rtc/rtc-88pm860x.c
223
pm860x_reg_write(info->i2c, PM8607_RTC_MISC1, data);
drivers/rtc/rtc-88pm860x.c
229
pm860x_reg_write(info->i2c, PM8607_RTC_MISC1, data);
drivers/rtc/rtc-88pm860x.c
238
pm860x_set_bits(info->i2c, PM8607_MEAS_EN2, MEAS2_VRTC, 0);
drivers/rtc/rtc-88pm860x.c
24
struct i2c_client *i2c;
drivers/rtc/rtc-88pm860x.c
282
info->i2c = (chip->id == CHIP_PM8607) ? chip->client : chip->companion;
drivers/rtc/rtc-88pm860x.c
300
pm860x_page_reg_write(info->i2c, REG0_ADDR, REG0_DATA);
drivers/rtc/rtc-88pm860x.c
301
pm860x_page_reg_write(info->i2c, REG1_ADDR, REG1_DATA);
drivers/rtc/rtc-88pm860x.c
302
pm860x_page_reg_write(info->i2c, REG2_ADDR, REG2_DATA);
drivers/rtc/rtc-88pm860x.c
303
pm860x_page_reg_write(info->i2c, REG3_ADDR, REG3_DATA);
drivers/rtc/rtc-88pm860x.c
318
pm860x_set_bits(info->i2c, PM8607_RTC1, RTC1_USE_XO, RTC1_USE_XO);
drivers/rtc/rtc-88pm860x.c
322
pm860x_set_bits(info->i2c, PM8607_MEAS_EN2, MEAS2_VRTC, MEAS2_VRTC);
drivers/rtc/rtc-88pm860x.c
341
pm860x_set_bits(info->i2c, PM8607_MEAS_EN2, MEAS2_VRTC, 0);
drivers/rtc/rtc-88pm860x.c
62
pm860x_set_bits(info->i2c, PM8607_RTC1, mask | ALARM_EN, mask);
drivers/rtc/rtc-88pm860x.c
72
pm860x_set_bits(info->i2c, PM8607_RTC1, ALARM_EN, ALARM_EN);
drivers/rtc/rtc-88pm860x.c
74
pm860x_set_bits(info->i2c, PM8607_RTC1, ALARM_EN, 0);
drivers/rtc/rtc-88pm860x.c
84
pm860x_page_bulk_read(info->i2c, REG0_ADDR, 8, buf);
drivers/rtc/rtc-88pm860x.c
91
pm860x_bulk_read(info->i2c, PM8607_RTC_COUNTER1, 4, buf);
drivers/rtc/rtc-ab-b5ze-s3.c
939
MODULE_DEVICE_TABLE(i2c, abb5zes3_id);
drivers/rtc/rtc-abx80x.c
767
MODULE_DEVICE_TABLE(i2c, abx80x_id);
drivers/rtc/rtc-bq32k.c
310
MODULE_DEVICE_TABLE(i2c, bq32k_id);
drivers/rtc/rtc-ds1307.c
1086
MODULE_DEVICE_TABLE(i2c, ds1307_id);
drivers/rtc/rtc-ds1374.c
58
MODULE_DEVICE_TABLE(i2c, ds1374_id);
drivers/rtc/rtc-ds1672.c
139
MODULE_DEVICE_TABLE(i2c, ds1672_id);
drivers/rtc/rtc-ds3232.c
572
MODULE_DEVICE_TABLE(i2c, ds3232_id);
drivers/rtc/rtc-em3027.c
135
MODULE_DEVICE_TABLE(i2c, em3027_id);
drivers/rtc/rtc-fm3130.c
59
MODULE_DEVICE_TABLE(i2c, fm3130_id);
drivers/rtc/rtc-hym8563.c
570
MODULE_DEVICE_TABLE(i2c, hym8563_id);
drivers/rtc/rtc-isl12022.c
610
MODULE_DEVICE_TABLE(i2c, isl12022_id);
drivers/rtc/rtc-isl12026.c
491
MODULE_DEVICE_TABLE(i2c, isl12026_id);
drivers/rtc/rtc-isl1208.c
120
MODULE_DEVICE_TABLE(i2c, isl1208_id);
drivers/rtc/rtc-m41t80.c
87
MODULE_DEVICE_TABLE(i2c, m41t80_id);
drivers/rtc/rtc-max31335.c
753
MODULE_DEVICE_TABLE(i2c, max31335_id);
drivers/rtc/rtc-max6900.c
221
MODULE_DEVICE_TABLE(i2c, max6900_id);
drivers/rtc/rtc-max8997.c
206
ret = max8997_read_reg(info->max8997->i2c, MAX8997_REG_STATUS1, &val);
drivers/rtc/rtc-nct3018y.c
578
MODULE_DEVICE_TABLE(i2c, nct3018y_id);
drivers/rtc/rtc-pcf2127.c
1458
MODULE_DEVICE_TABLE(i2c, pcf2127_i2c_id);
drivers/rtc/rtc-pcf85063.c
675
MODULE_DEVICE_TABLE(i2c, pcf85063_ids);
drivers/rtc/rtc-pcf8523.c
501
MODULE_DEVICE_TABLE(i2c, pcf8523_id);
drivers/rtc/rtc-pcf8563.c
565
MODULE_DEVICE_TABLE(i2c, pcf8563_id);
drivers/rtc/rtc-pcf8583.c
303
MODULE_DEVICE_TABLE(i2c, pcf8583_id);
drivers/rtc/rtc-rs5c372.c
86
MODULE_DEVICE_TABLE(i2c, rs5c372_id);
drivers/rtc/rtc-rv3028.c
1048
MODULE_DEVICE_TABLE(i2c, rv3028_id_table);
drivers/rtc/rtc-rv3029c2.c
814
MODULE_DEVICE_TABLE(i2c, rv3029_id);
drivers/rtc/rtc-rv8803.c
640
MODULE_DEVICE_TABLE(i2c, rv8803_id);
drivers/rtc/rtc-rx6110.c
455
MODULE_DEVICE_TABLE(i2c, rx6110_i2c_id);
drivers/rtc/rtc-rx8010.c
56
MODULE_DEVICE_TABLE(i2c, rx8010_id);
drivers/rtc/rtc-rx8025.c
78
MODULE_DEVICE_TABLE(i2c, rx8025_id);
drivers/rtc/rtc-rx8581.c
300
MODULE_DEVICE_TABLE(i2c, rx8581_id);
drivers/rtc/rtc-s35390a.c
57
MODULE_DEVICE_TABLE(i2c, s35390a_id);
drivers/rtc/rtc-s5m.c
679
struct i2c_client *i2c;
drivers/rtc/rtc-s5m.c
704
i2c = devm_i2c_new_dummy_device(&pdev->dev,
drivers/rtc/rtc-s5m.c
705
s5m87xx->i2c->adapter,
drivers/rtc/rtc-s5m.c
707
if (IS_ERR(i2c))
drivers/rtc/rtc-s5m.c
708
return dev_err_probe(&pdev->dev, PTR_ERR(i2c),
drivers/rtc/rtc-s5m.c
711
info->regmap = devm_regmap_init_i2c(i2c, regmap_cfg);
drivers/rtc/rtc-sd2405al.c
208
MODULE_DEVICE_TABLE(i2c, sd2405al_id);
drivers/rtc/rtc-sd3078.c
192
MODULE_DEVICE_TABLE(i2c, sd3078_id);
drivers/rtc/rtc-x1205.c
669
MODULE_DEVICE_TABLE(i2c, x1205_id);
drivers/sbus/char/envctrl.c
1029
if (i2c)
drivers/sbus/char/envctrl.c
1032
i2c = of_ioremap(&op->resource[0], 0, 0x2, DRIVER_NAME);
drivers/sbus/char/envctrl.c
1033
if (!i2c)
drivers/sbus/char/envctrl.c
1051
writeb(CONTROL_PIN, i2c + PCF8584_CSR);
drivers/sbus/char/envctrl.c
1052
writeb(PCF8584_ADDRESS, i2c + PCF8584_DATA);
drivers/sbus/char/envctrl.c
1055
writeb(CONTROL_PIN | CONTROL_ES1, i2c + PCF8584_CSR);
drivers/sbus/char/envctrl.c
1056
writeb(CLK_4_43 | BUS_CLK_90, i2c + PCF8584_DATA);
drivers/sbus/char/envctrl.c
1059
writeb(CONTROL_PIN | CONTROL_ES0 | CONTROL_ACK, i2c + PCF8584_CSR);
drivers/sbus/char/envctrl.c
1093
of_iounmap(&op->resource[0], i2c, 0x2);
drivers/sbus/char/envctrl.c
1106
of_iounmap(&op->resource[0], i2c, 0x2);
drivers/sbus/char/envctrl.c
172
static void __iomem *i2c;
drivers/sbus/char/envctrl.c
191
if (!(readb(i2c + PCF8584_CSR) & STATUS_PIN))
drivers/sbus/char/envctrl.c
209
if (readb(i2c + PCF8584_CSR) & STATUS_BB)
drivers/sbus/char/envctrl.c
226
writeb(addr + 1, i2c + PCF8584_DATA);
drivers/sbus/char/envctrl.c
230
writeb(OBD_SEND_START, i2c + PCF8584_CSR);
drivers/sbus/char/envctrl.c
236
if (!(readb(i2c + PCF8584_CSR) & STATUS_LRB)) {
drivers/sbus/char/envctrl.c
237
return readb(i2c + PCF8584_DATA);
drivers/sbus/char/envctrl.c
239
writeb(OBD_SEND_STOP, i2c + PCF8584_CSR);
drivers/sbus/char/envctrl.c
250
writeb(addr, i2c + PCF8584_DATA);
drivers/sbus/char/envctrl.c
253
writeb(OBD_SEND_START, i2c + PCF8584_CSR);
drivers/sbus/char/envctrl.c
263
writeb(CONTROL_ES0, i2c + PCF8584_CSR); /* Send neg ack. */
drivers/sbus/char/envctrl.c
264
return readb(i2c + PCF8584_DATA);
drivers/sbus/char/envctrl.c
273
writeb(port, i2c + PCF8584_DATA);
drivers/sbus/char/envctrl.c
282
writeb(OBD_SEND_STOP, i2c + PCF8584_CSR);
drivers/sbus/char/envctrl.c
304
return readb(i2c + PCF8584_DATA);
drivers/scsi/qla2xxx/qla_bsg.c
1717
struct qla_i2c_access *i2c = (void *)bsg;
drivers/scsi/qla2xxx/qla_bsg.c
1728
bsg_job->request_payload.sg_cnt, i2c, sizeof(*i2c));
drivers/scsi/qla2xxx/qla_bsg.c
1730
memcpy(sfp, i2c->buffer, i2c->length);
drivers/scsi/qla2xxx/qla_bsg.c
1732
i2c->device, i2c->offset, i2c->length, i2c->option);
drivers/scsi/qla2xxx/qla_bsg.c
1763
struct qla_i2c_access *i2c = (void *)bsg;
drivers/scsi/qla2xxx/qla_bsg.c
1774
bsg_job->request_payload.sg_cnt, i2c, sizeof(*i2c));
drivers/scsi/qla2xxx/qla_bsg.c
1777
i2c->device, i2c->offset, i2c->length, i2c->option);
drivers/scsi/qla2xxx/qla_bsg.c
1785
memcpy(i2c->buffer, sfp, i2c->length);
drivers/scsi/qla2xxx/qla_bsg.c
1787
bsg_job->reply_payload.sg_cnt, i2c, sizeof(*i2c));
drivers/scsi/qla2xxx/qla_bsg.c
1796
bsg_reply->reply_payload_rcv_len = sizeof(*i2c);
drivers/spi/spi-sc18is602.c
303
MODULE_DEVICE_TABLE(i2c, sc18is602_id);
drivers/spi/spi-xcomm.c
160
ret = i2c_master_send(spi_xcomm->i2c, spi_xcomm->buf, t->len + 1);
drivers/spi/spi-xcomm.c
166
ret = i2c_master_recv(spi_xcomm->i2c, t->rx_buf, t->len);
drivers/spi/spi-xcomm.c
245
static int spi_xcomm_probe(struct i2c_client *i2c)
drivers/spi/spi-xcomm.c
251
host = devm_spi_alloc_host(&i2c->dev, sizeof(*spi_xcomm));
drivers/spi/spi-xcomm.c
256
spi_xcomm->i2c = i2c;
drivers/spi/spi-xcomm.c
264
ret = devm_spi_register_controller(&i2c->dev, host);
drivers/spi/spi-xcomm.c
275
MODULE_DEVICE_TABLE(i2c, spi_xcomm_ids);
drivers/spi/spi-xcomm.c
35
struct i2c_client *i2c;
drivers/spi/spi-xcomm.c
56
return i2c_master_send(spi_xcomm->i2c, buf, 2);
drivers/spi/spi-xcomm.c
67
struct device *dev = &spi_xcomm->i2c->dev;
drivers/spi/spi-xcomm.c
77
spi_xcomm->gc.label = spi_xcomm->i2c->name;
drivers/spi/spi-xcomm.c
95
return i2c_master_send(spi_xcomm->i2c, buf, 5);
drivers/staging/iio/addac/adt7316-i2c.c
121
MODULE_DEVICE_TABLE(i2c, adt7316_i2c_id);
drivers/staging/iio/impedance-analyzer/ad5933.c
734
MODULE_DEVICE_TABLE(i2c, ad5933_id);
drivers/staging/media/av7110/sp8870.c
134
err = i2c_transfer(state->i2c, &msg, 1);
drivers/staging/media/av7110/sp8870.c
34
struct i2c_adapter *i2c;
drivers/staging/media/av7110/sp8870.c
561
struct i2c_adapter *i2c)
drivers/staging/media/av7110/sp8870.c
572
state->i2c = i2c;
drivers/staging/media/av7110/sp8870.c
69
err = i2c_transfer(state->i2c, &msg, 1);
drivers/staging/media/av7110/sp8870.c
88
ret = i2c_transfer(state->i2c, msg, 2);
drivers/staging/media/av7110/sp8870.h
23
struct dvb_frontend *sp8870_attach(const struct sp8870_config *config, struct i2c_adapter *i2c);
drivers/staging/media/av7110/sp8870.h
26
struct i2c_adapter *i2c)
drivers/tty/serial/max310x.c
1680
MODULE_DEVICE_TABLE(i2c, max310x_i2c_id_table);
drivers/tty/serial/sc16is7xx_i2c.c
13
static int sc16is7xx_i2c_probe(struct i2c_client *i2c)
drivers/tty/serial/sc16is7xx_i2c.c
20
devtype = i2c_get_match_data(i2c);
drivers/tty/serial/sc16is7xx_i2c.c
22
return dev_err_probe(&i2c->dev, -ENODEV, "Failed to match device\n");
drivers/tty/serial/sc16is7xx_i2c.c
30
regmaps[i] = devm_regmap_init_i2c(i2c, &regcfg);
drivers/tty/serial/sc16is7xx_i2c.c
33
return sc16is7xx_probe(&i2c->dev, devtype, regmaps, i2c->irq);
drivers/tty/serial/sc16is7xx_i2c.c
51
MODULE_DEVICE_TABLE(i2c, sc16is7xx_i2c_id_table);
drivers/usb/misc/usb251xb.c
115
struct i2c_client *i2c;
drivers/usb/misc/usb251xb.c
249
if (!hub->i2c)
drivers/usb/misc/usb251xb.c
258
adap = hub->i2c->adapter;
drivers/usb/misc/usb251xb.c
279
if (hub->i2c)
drivers/usb/misc/usb251xb.c
280
i2c_lock_bus(hub->i2c->adapter, I2C_LOCK_SEGMENT);
drivers/usb/misc/usb251xb.c
289
if (hub->i2c)
drivers/usb/misc/usb251xb.c
290
i2c_unlock_bus(hub->i2c->adapter, I2C_LOCK_SEGMENT);
drivers/usb/misc/usb251xb.c
299
if (!hub->i2c) {
drivers/usb/misc/usb251xb.c
314
err = i2c_smbus_write_i2c_block_data(hub->i2c,
drivers/usb/misc/usb251xb.c
378
err = i2c_smbus_write_i2c_block_data(hub->i2c, offset,
drivers/usb/misc/usb251xb.c
699
static int usb251xb_i2c_probe(struct i2c_client *i2c)
drivers/usb/misc/usb251xb.c
703
hub = devm_kzalloc(&i2c->dev, sizeof(struct usb251xb), GFP_KERNEL);
drivers/usb/misc/usb251xb.c
707
i2c_set_clientdata(i2c, hub);
drivers/usb/misc/usb251xb.c
708
hub->dev = &i2c->dev;
drivers/usb/misc/usb251xb.c
709
hub->i2c = i2c;
drivers/usb/misc/usb251xb.c
760
MODULE_DEVICE_TABLE(i2c, usb251xb_id);
drivers/usb/misc/usb3503.c
296
static int usb3503_i2c_probe(struct i2c_client *i2c)
drivers/usb/misc/usb3503.c
301
hub = devm_kzalloc(&i2c->dev, sizeof(struct usb3503), GFP_KERNEL);
drivers/usb/misc/usb3503.c
305
i2c_set_clientdata(i2c, hub);
drivers/usb/misc/usb3503.c
306
hub->regmap = devm_regmap_init_i2c(i2c, &usb3503_regmap_config);
drivers/usb/misc/usb3503.c
309
dev_err(&i2c->dev, "Failed to initialise regmap: %d\n", err);
drivers/usb/misc/usb3503.c
312
hub->dev = &i2c->dev;
drivers/usb/misc/usb3503.c
317
static void usb3503_i2c_remove(struct i2c_client *i2c)
drivers/usb/misc/usb3503.c
321
hub = i2c_get_clientdata(i2c);
drivers/usb/misc/usb3503.c
396
MODULE_DEVICE_TABLE(i2c, usb3503_id);
drivers/usb/misc/usb4604.c
100
static int usb4604_i2c_probe(struct i2c_client *i2c)
drivers/usb/misc/usb4604.c
104
hub = devm_kzalloc(&i2c->dev, sizeof(*hub), GFP_KERNEL);
drivers/usb/misc/usb4604.c
108
i2c_set_clientdata(i2c, hub);
drivers/usb/misc/usb4604.c
109
hub->dev = &i2c->dev;
drivers/usb/misc/usb4604.c
141
MODULE_DEVICE_TABLE(i2c, usb4604_id);
drivers/usb/misc/usbio.c
490
struct usbio_i2c_bus_desc *i2c = usbio->i2cs;
drivers/usb/misc/usbio.c
495
dev_dbg(usbio->dev, "\tBus%d caps: %#02x\n", i2c[i].id, i2c[i].caps);
drivers/usb/misc/usbio.c
496
usbio_add_client(usbio, USBIO_I2C_CLIENT, i, &i2c[i]);
drivers/usb/phy/phy-isp1301.c
31
MODULE_DEVICE_TABLE(i2c, isp1301_id);
drivers/usb/typec/anx7411.c
1584
MODULE_DEVICE_TABLE(i2c, anx7411_id);
drivers/usb/typec/mux/fsa4480.c
342
MODULE_DEVICE_TABLE(i2c, fsa4480_table);
drivers/usb/typec/mux/it5205.c
272
MODULE_DEVICE_TABLE(i2c, it5205_table);
drivers/usb/typec/mux/nb7vpq904m.c
505
MODULE_DEVICE_TABLE(i2c, nb7vpq904m_table);
drivers/usb/typec/mux/pi3usb30532.c
175
MODULE_DEVICE_TABLE(i2c, pi3usb30532_table);
drivers/usb/typec/mux/ptn36502.c
410
MODULE_DEVICE_TABLE(i2c, ptn36502_table);
drivers/usb/typec/mux/wcd939x-usbss.c
759
MODULE_DEVICE_TABLE(i2c, wcd939x_usbss_table);
drivers/usb/typec/rt1719.c
631
struct i2c_client *i2c = to_i2c_client(data->dev);
drivers/usb/typec/rt1719.c
641
dev_err(&i2c->dev, "Failed to config irq enable\n");
drivers/usb/typec/rt1719.c
645
return devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL,
drivers/usb/typec/rt1719.c
647
dev_name(&i2c->dev), data);
drivers/usb/typec/rt1719.c
838
static int rt1719_probe(struct i2c_client *i2c)
drivers/usb/typec/rt1719.c
845
data = devm_kzalloc(&i2c->dev, sizeof(*data), GFP_KERNEL);
drivers/usb/typec/rt1719.c
849
data->dev = &i2c->dev;
drivers/usb/typec/rt1719.c
852
data->regmap = devm_regmap_init_i2c(i2c, &rt1719_regmap_config);
drivers/usb/typec/rt1719.c
855
dev_err(&i2c->dev, "Failed to init regmap (%d)\n", ret);
drivers/usb/typec/rt1719.c
867
fwnode = device_get_named_child_node(&i2c->dev, "connector");
drivers/usb/typec/rt1719.c
874
dev_err(&i2c->dev, "Failed to get usb role switch (%d)\n", ret);
drivers/usb/typec/rt1719.c
880
dev_err(&i2c->dev, "Failed to register psy (%d)\n", ret);
drivers/usb/typec/rt1719.c
895
data->port = typec_register_port(&i2c->dev, &typec_cap);
drivers/usb/typec/rt1719.c
898
dev_err(&i2c->dev, "Failed to register typec port (%d)\n", ret);
drivers/usb/typec/rt1719.c
904
dev_err(&i2c->dev, "Failed to init attach state (%d)\n", ret);
drivers/usb/typec/rt1719.c
910
dev_err(&i2c->dev, "Failed to init irq\n");
drivers/usb/typec/rt1719.c
916
i2c_set_clientdata(i2c, data);
drivers/usb/typec/rt1719.c
928
static void rt1719_remove(struct i2c_client *i2c)
drivers/usb/typec/rt1719.c
930
struct rt1719_data *data = i2c_get_clientdata(i2c);
drivers/usb/typec/tcpm/fusb302.c
1833
MODULE_DEVICE_TABLE(i2c, fusb302_i2c_device_id);
drivers/usb/typec/tcpm/tcpci.c
1008
MODULE_DEVICE_TABLE(i2c, tcpci_id);
drivers/usb/typec/tcpm/tcpci.c
976
struct i2c_client *i2c = to_i2c_client(dev);
drivers/usb/typec/tcpm/tcpci.c
977
struct tcpci_chip *chip = i2c_get_clientdata(i2c);
drivers/usb/typec/tcpm/tcpci.c
981
ret = enable_irq_wake(i2c->irq);
drivers/usb/typec/tcpm/tcpci.c
990
struct i2c_client *i2c = to_i2c_client(dev);
drivers/usb/typec/tcpm/tcpci.c
991
struct tcpci_chip *chip = i2c_get_clientdata(i2c);
drivers/usb/typec/tcpm/tcpci.c
995
ret = disable_irq_wake(i2c->irq);
drivers/usb/typec/tcpm/tcpci_maxim_core.c
211
struct i2c_client *i2c = chip->client;
drivers/usb/typec/tcpm/tcpci_maxim_core.c
217
.flags = i2c->flags & I2C_M_TEN,
drivers/usb/typec/tcpm/tcpci_maxim_core.c
228
ret = i2c_transfer(i2c->adapter, msgs, 1);
drivers/usb/typec/tcpm/tcpci_maxim_core.c
564
MODULE_DEVICE_TABLE(i2c, max_tcpci_id);
drivers/usb/typec/tcpm/tcpci_rt1711h.c
304
static int rt1711h_check_revision(struct i2c_client *i2c, struct rt1711h_chip *chip)
drivers/usb/typec/tcpm/tcpci_rt1711h.c
308
ret = i2c_smbus_read_word_data(i2c, TCPC_VENDOR_ID);
drivers/usb/typec/tcpm/tcpci_rt1711h.c
312
dev_err(&i2c->dev, "vid is not correct, 0x%04x\n", ret);
drivers/usb/typec/tcpm/tcpci_rt1711h.c
315
ret = i2c_smbus_read_word_data(i2c, TCPC_PRODUCT_ID);
drivers/usb/typec/tcpm/tcpci_rt1711h.c
319
dev_err(&i2c->dev, "pid is not correct, 0x%04x\n", ret);
drivers/usb/typec/tcpm/tcpci_rt1711h.c
322
ret = i2c_smbus_read_word_data(i2c, TCPC_BCD_DEV);
drivers/usb/typec/tcpm/tcpci_rt1711h.c
326
dev_err(&i2c->dev, "did is not correct, 0x%04x\n", ret);
drivers/usb/typec/tcpm/tcpci_rt1711h.c
329
dev_dbg(&i2c->dev, "did is 0x%04x\n", ret);
drivers/usb/typec/tcpm/tcpci_rt1711h.c
423
MODULE_DEVICE_TABLE(i2c, rt1711h_id);
drivers/usb/typec/tipd/core.c
2031
MODULE_DEVICE_TABLE(i2c, tps6598x_id);
drivers/usb/typec/ucsi/ucsi_ccg.c
1531
MODULE_DEVICE_TABLE(i2c, ucsi_ccg_device_id);
drivers/usb/typec/ucsi/ucsi_stm32g0.c
743
MODULE_DEVICE_TABLE(i2c, ucsi_stm32g0_typec_i2c_devid);
drivers/video/backlight/88pm860x_bl.c
102
ret = pm860x_set_bits(data->i2c, data->reg_always_on,
drivers/video/backlight/88pm860x_bl.c
132
ret = pm860x_reg_read(data->i2c, data->reg_duty_cycle);
drivers/video/backlight/88pm860x_bl.c
216
data->i2c = (chip->id == CHIP_PM8606) ? chip->client : chip->companion;
drivers/video/backlight/88pm860x_bl.c
26
struct i2c_client *i2c;
drivers/video/backlight/88pm860x_bl.c
73
ret = pm860x_reg_write(data->i2c, data->reg_duty_cycle, value);
drivers/video/backlight/88pm860x_bl.c
79
ret = pm860x_set_bits(data->i2c, data->reg_current,
drivers/video/backlight/88pm860x_bl.c
85
ret = pm860x_set_bits(data->i2c, PM8606_PWM,
drivers/video/backlight/88pm860x_bl.c
92
ret = pm860x_set_bits(data->i2c, data->reg_always_on,
drivers/video/backlight/88pm860x_bl.c
98
ret = pm860x_set_bits(data->i2c, data->reg_always_on,
drivers/video/backlight/adp8860_bl.c
798
MODULE_DEVICE_TABLE(i2c, adp8860_id);
drivers/video/backlight/adp8870_bl.c
968
MODULE_DEVICE_TABLE(i2c, adp8870_id);
drivers/video/backlight/arcxcnn_bl.c
388
MODULE_DEVICE_TABLE(i2c, arcxcnn_ids);
drivers/video/backlight/aw99706.c
449
MODULE_DEVICE_TABLE(i2c, aw99706_ids);
drivers/video/backlight/bd6107.c
185
MODULE_DEVICE_TABLE(i2c, bd6107_ids);
drivers/video/backlight/ktz8866.c
185
MODULE_DEVICE_TABLE(i2c, ktz8866_ids);
drivers/video/backlight/lm3509_bl.c
318
MODULE_DEVICE_TABLE(i2c, lm3509_id);
drivers/video/backlight/lm3630a_bl.c
603
MODULE_DEVICE_TABLE(i2c, lm3630a_id);
drivers/video/backlight/lm3639_bl.c
410
MODULE_DEVICE_TABLE(i2c, lm3639_id);
drivers/video/backlight/lp855x_bl.c
582
MODULE_DEVICE_TABLE(i2c, lp855x_ids);
drivers/video/backlight/lv5207lp.c
137
MODULE_DEVICE_TABLE(i2c, lv5207lp_ids);
drivers/video/backlight/max8925_bl.c
177
ret = max8925_set_bits(chip->i2c, data->reg_mode_cntl, 0xfe, value);
drivers/video/backlight/max8925_bl.c
43
ret = max8925_reg_write(chip->i2c, data->reg_cntl, value);
drivers/video/backlight/max8925_bl.c
49
ret = max8925_set_bits(chip->i2c, data->reg_mode_cntl, 1, 1);
drivers/video/backlight/max8925_bl.c
52
ret = max8925_set_bits(chip->i2c, data->reg_mode_cntl, 1, 0);
drivers/video/backlight/max8925_bl.c
75
ret = max8925_reg_read(chip->i2c, data->reg_cntl);
drivers/video/backlight/mp3309c.c
406
MODULE_DEVICE_TABLE(i2c, mp3309c_id);
drivers/video/fbdev/aty/radeon_i2c.c
102
rinfo->i2c[0].rinfo = rinfo;
drivers/video/fbdev/aty/radeon_i2c.c
103
rinfo->i2c[0].ddc_reg = GPIO_MONID;
drivers/video/fbdev/aty/radeon_i2c.c
105
rinfo->i2c[0].adapter.class = I2C_CLASS_HWMON;
drivers/video/fbdev/aty/radeon_i2c.c
107
radeon_setup_i2c_bus(&rinfo->i2c[0], "monid");
drivers/video/fbdev/aty/radeon_i2c.c
109
rinfo->i2c[1].rinfo = rinfo;
drivers/video/fbdev/aty/radeon_i2c.c
110
rinfo->i2c[1].ddc_reg = GPIO_DVI_DDC;
drivers/video/fbdev/aty/radeon_i2c.c
111
radeon_setup_i2c_bus(&rinfo->i2c[1], "dvi");
drivers/video/fbdev/aty/radeon_i2c.c
113
rinfo->i2c[2].rinfo = rinfo;
drivers/video/fbdev/aty/radeon_i2c.c
114
rinfo->i2c[2].ddc_reg = GPIO_VGA_DDC;
drivers/video/fbdev/aty/radeon_i2c.c
115
radeon_setup_i2c_bus(&rinfo->i2c[2], "vga");
drivers/video/fbdev/aty/radeon_i2c.c
117
rinfo->i2c[3].rinfo = rinfo;
drivers/video/fbdev/aty/radeon_i2c.c
118
rinfo->i2c[3].ddc_reg = GPIO_CRT2_DDC;
drivers/video/fbdev/aty/radeon_i2c.c
119
radeon_setup_i2c_bus(&rinfo->i2c[3], "crt2");
drivers/video/fbdev/aty/radeon_i2c.c
124
if (rinfo->i2c[0].rinfo)
drivers/video/fbdev/aty/radeon_i2c.c
125
i2c_del_adapter(&rinfo->i2c[0].adapter);
drivers/video/fbdev/aty/radeon_i2c.c
126
rinfo->i2c[0].rinfo = NULL;
drivers/video/fbdev/aty/radeon_i2c.c
128
if (rinfo->i2c[1].rinfo)
drivers/video/fbdev/aty/radeon_i2c.c
129
i2c_del_adapter(&rinfo->i2c[1].adapter);
drivers/video/fbdev/aty/radeon_i2c.c
130
rinfo->i2c[1].rinfo = NULL;
drivers/video/fbdev/aty/radeon_i2c.c
132
if (rinfo->i2c[2].rinfo)
drivers/video/fbdev/aty/radeon_i2c.c
133
i2c_del_adapter(&rinfo->i2c[2].adapter);
drivers/video/fbdev/aty/radeon_i2c.c
134
rinfo->i2c[2].rinfo = NULL;
drivers/video/fbdev/aty/radeon_i2c.c
136
if (rinfo->i2c[3].rinfo)
drivers/video/fbdev/aty/radeon_i2c.c
137
i2c_del_adapter(&rinfo->i2c[3].adapter);
drivers/video/fbdev/aty/radeon_i2c.c
138
rinfo->i2c[3].rinfo = NULL;
drivers/video/fbdev/aty/radeon_i2c.c
146
edid = fb_ddc_read(&rinfo->i2c[conn-1].adapter);
drivers/video/fbdev/aty/radeonfb.h
362
struct radeon_i2c_chan i2c[4];
drivers/video/fbdev/cyber2000fb.h
465
struct i2c_adapter *i2c;
drivers/video/fbdev/matrox/matroxfb_maven.c
1288
MODULE_DEVICE_TABLE(i2c, maven_id);
drivers/video/fbdev/mb862xx/mb862xx-i2c.c
23
reg = inreg(i2c, GC_I2C_BCR);
drivers/video/fbdev/mb862xx/mb862xx-i2c.c
35
outreg(i2c, GC_I2C_DAR, addr);
drivers/video/fbdev/mb862xx/mb862xx-i2c.c
36
outreg(i2c, GC_I2C_CCR, I2C_CLOCK_AND_ENABLE);
drivers/video/fbdev/mb862xx/mb862xx-i2c.c
37
outreg(i2c, GC_I2C_BCR, par->i2c_rs ? I2C_REPEATED_START : I2C_START);
drivers/video/fbdev/mb862xx/mb862xx-i2c.c
40
par->i2c_rs = !(inreg(i2c, GC_I2C_BSR) & I2C_LRB);
drivers/video/fbdev/mb862xx/mb862xx-i2c.c
48
outreg(i2c, GC_I2C_DAR, byte);
drivers/video/fbdev/mb862xx/mb862xx-i2c.c
49
outreg(i2c, GC_I2C_BCR, I2C_START);
drivers/video/fbdev/mb862xx/mb862xx-i2c.c
52
return !(inreg(i2c, GC_I2C_BSR) & I2C_LRB);
drivers/video/fbdev/mb862xx/mb862xx-i2c.c
59
outreg(i2c, GC_I2C_BCR, I2C_START | (last ? 0 : I2C_ACK));
drivers/video/fbdev/mb862xx/mb862xx-i2c.c
62
*byte = inreg(i2c, GC_I2C_DAR);
drivers/video/fbdev/mb862xx/mb862xx-i2c.c
70
outreg(i2c, GC_I2C_BCR, I2C_STOP);
drivers/video/fbdev/mb862xx/mb862xx-i2c.c
71
outreg(i2c, GC_I2C_CCR, I2C_DISABLE);
drivers/video/fbdev/mb862xx/mb862xxfb.h
66
void __iomem *i2c;
drivers/video/fbdev/mb862xx/mb862xxfbdrv.c
625
par->i2c = par->mmio_base + MB862XX_I2C_BASE;
drivers/video/fbdev/mb862xx/mb862xxfbdrv.c
847
par->i2c = par->mmio_base + MB862XX_I2C_BASE;
drivers/video/fbdev/mb862xx/mb862xxfbdrv.c
928
par->i2c = par->mmio_base + MB86297_I2C_BASE;
drivers/video/fbdev/ssd1307fb.c
793
MODULE_DEVICE_TABLE(i2c, ssd1307fb_i2c_id);
drivers/w1/masters/ds2482.c
546
MODULE_DEVICE_TABLE(i2c, ds2482_id);
drivers/watchdog/ziirave_wdt.c
724
MODULE_DEVICE_TABLE(i2c, ziirave_wdt_id);
include/linux/i2c.h
1079
struct acpi_resource_i2c_serialbus **i2c);
include/linux/i2c.h
1089
struct acpi_resource_i2c_serialbus **i2c)
include/linux/i3c/master.h
372
unsigned long i2c;
include/linux/i3c/master.h
376
struct list_head i2c;
include/linux/i3c/master.h
533
struct i2c_adapter i2c;
include/linux/i3c/master.h
542
struct list_head i2c;
include/linux/i3c/master.h
558
list_for_each_entry(dev, &(bus)->devs.i2c, common.node)
include/linux/iio/gyro/itg3200.h
102
struct i2c_client *i2c;
include/linux/mdio/mdio-i2c.h
21
struct mii_bus *mdio_i2c_alloc(struct device *parent, struct i2c_adapter *i2c,
include/linux/mfd/gsc.h
67
struct i2c_client *i2c; /* 0x20: interrupt controller, WDT */
include/linux/mfd/max14577-private.h
429
struct i2c_client *i2c; /* Slave addr = 0x4A */
include/linux/mfd/max77541.h
81
struct i2c_client *i2c;
include/linux/mfd/max77686-private.h
426
struct i2c_client *i2c; /* 0xcc / PMIC, Battery Control, and FLASH */
include/linux/mfd/max77693-common.h
25
struct i2c_client *i2c; /* 0xCC , PMIC, Charger, Flash LED */
include/linux/mfd/max8925.h
194
struct i2c_client *i2c;
include/linux/mfd/max8997-private.h
371
struct i2c_client *i2c; /* 0xcc / PMIC, Battery Control, and FLASH */
include/linux/mfd/max8997-private.h
402
extern int max8997_read_reg(struct i2c_client *i2c, u8 reg, u8 *dest);
include/linux/mfd/max8997-private.h
403
extern int max8997_bulk_read(struct i2c_client *i2c, u8 reg, int count,
include/linux/mfd/max8997-private.h
405
extern int max8997_write_reg(struct i2c_client *i2c, u8 reg, u8 value);
include/linux/mfd/max8997-private.h
406
extern int max8997_bulk_write(struct i2c_client *i2c, u8 reg, int count,
include/linux/mfd/max8997-private.h
408
extern int max8997_update_reg(struct i2c_client *i2c, u8 reg, u8 val, u8 mask);
include/linux/mfd/max8998-private.h
142
struct i2c_client *i2c;
include/linux/mfd/max8998-private.h
161
extern int max8998_read_reg(struct i2c_client *i2c, u8 reg, u8 *dest);
include/linux/mfd/max8998-private.h
162
extern int max8998_bulk_read(struct i2c_client *i2c, u8 reg, int count,
include/linux/mfd/max8998-private.h
164
extern int max8998_write_reg(struct i2c_client *i2c, u8 reg, u8 value);
include/linux/mfd/max8998-private.h
165
extern int max8998_bulk_write(struct i2c_client *i2c, u8 reg, int count,
include/linux/mfd/max8998-private.h
167
extern int max8998_update_reg(struct i2c_client *i2c, u8 reg, u8 val, u8 mask);
include/linux/mfd/samsung/core.h
69
struct i2c_client *i2c;
include/linux/mfd/tc3589x.h
123
struct i2c_client *i2c;
include/linux/platform_data/i2c-s3c2410.h
53
extern void s3c_i2c0_set_platdata(struct s3c2410_platform_i2c *i2c);
include/linux/platform_data/i2c-s3c2410.h
54
extern void s3c_i2c1_set_platdata(struct s3c2410_platform_i2c *i2c);
include/linux/platform_data/i2c-s3c2410.h
55
extern void s3c_i2c2_set_platdata(struct s3c2410_platform_i2c *i2c);
include/linux/platform_data/i2c-s3c2410.h
56
extern void s3c_i2c3_set_platdata(struct s3c2410_platform_i2c *i2c);
include/linux/platform_data/i2c-s3c2410.h
57
extern void s3c_i2c4_set_platdata(struct s3c2410_platform_i2c *i2c);
include/linux/platform_data/i2c-s3c2410.h
58
extern void s3c_i2c5_set_platdata(struct s3c2410_platform_i2c *i2c);
include/linux/platform_data/i2c-s3c2410.h
59
extern void s3c_i2c6_set_platdata(struct s3c2410_platform_i2c *i2c);
include/linux/platform_data/i2c-s3c2410.h
60
extern void s3c_i2c7_set_platdata(struct s3c2410_platform_i2c *i2c);
include/linux/platform_data/i2c-s3c2410.h
61
extern void s5p_i2c_hdmiphy_set_platdata(struct s3c2410_platform_i2c *i2c);
include/linux/regmap.h
1055
#define devm_regmap_init_i2c(i2c, config) \
include/linux/regmap.h
1057
i2c, config)
include/linux/regmap.h
1083
#define devm_regmap_init_sccb(i2c, config) \
include/linux/regmap.h
1085
i2c, config)
include/linux/regmap.h
645
struct regmap *__regmap_init_i2c(struct i2c_client *i2c,
include/linux/regmap.h
653
struct regmap *__regmap_init_sccb(struct i2c_client *i2c,
include/linux/regmap.h
710
struct regmap *__devm_regmap_init_i2c(struct i2c_client *i2c,
include/linux/regmap.h
718
struct regmap *__devm_regmap_init_sccb(struct i2c_client *i2c,
include/linux/regmap.h
823
#define regmap_init_i2c(i2c, config) \
include/linux/regmap.h
825
i2c, config)
include/linux/regmap.h
849
#define regmap_init_sccb(i2c, config) \
include/linux/regmap.h
851
i2c, config)
include/media/v4l2-async.h
60
} i2c;
include/sound/tas2781-comlib-i2c.h
22
struct tasdevice_priv *tasdevice_kzalloc(struct i2c_client *i2c);
include/trace/events/i2c.h
8
#define TRACE_SYSTEM i2c
include/video/gbe.h
14
volatile uint32_t i2c; /* crt I2C control */
sound/aoa/codecs/onyx.c
1006
MODULE_DEVICE_TABLE(i2c,onyx_i2c_id);
sound/aoa/codecs/onyx.c
49
struct i2c_client *i2c;
sound/aoa/codecs/onyx.c
74
v = i2c_smbus_read_byte_data(onyx->i2c, reg);
sound/aoa/codecs/onyx.c
88
result = i2c_smbus_write_byte_data(onyx->i2c, reg, value);
sound/aoa/codecs/onyx.c
966
onyx->i2c = client;
sound/aoa/codecs/tas.c
110
return i2c_smbus_write_byte_data(tas->i2c, reg, *data);
sound/aoa/codecs/tas.c
112
return i2c_smbus_write_i2c_block_data(tas->i2c, reg, len, data);
sound/aoa/codecs/tas.c
84
struct i2c_client *i2c;
sound/aoa/codecs/tas.c
854
tas->i2c = client;
sound/aoa/codecs/tas.c
898
MODULE_DEVICE_TABLE(i2c,tas_i2c_id);
sound/pci/ice1712/delta.c
570
snd_cs8427_init(ice->i2c, ice->cs8427);
sound/pci/ice1712/delta.c
670
err = snd_i2c_bus_create(ice->card, "ICE1712 GPIO 1", NULL, &ice->i2c);
sound/pci/ice1712/delta.c
675
ice->i2c->private_data = ice;
sound/pci/ice1712/delta.c
676
ice->i2c->ops = &ap_cs8427_i2c_ops;
sound/pci/ice1712/ews.c
139
snd_i2c_lock(ice->i2c);
sound/pci/ice1712/ews.c
147
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
151
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
223
snd_i2c_lock(ice->i2c);
sound/pci/ice1712/ews.c
246
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
440
err = snd_i2c_bus_create(ice->card, "ICE1712 GPIO 1", NULL, &ice->i2c);
sound/pci/ice1712/ews.c
445
ice->i2c->private_data = ice;
sound/pci/ice1712/ews.c
446
ice->i2c->hw_ops.bit = &snd_ice1712_ewx_cs8427_bit_ops;
sound/pci/ice1712/ews.c
451
err = snd_i2c_device_create(ice->i2c, "PCF9554",
sound/pci/ice1712/ews.c
466
err = snd_i2c_device_create(ice->i2c, "CS8404",
sound/pci/ice1712/ews.c
471
err = snd_i2c_device_create(ice->i2c, "PCF8574 (1st)",
sound/pci/ice1712/ews.c
476
err = snd_i2c_device_create(ice->i2c, "PCF8574 (2nd)",
sound/pci/ice1712/ews.c
487
err = snd_i2c_device_create(ice->i2c, "PCF8575",
sound/pci/ice1712/ews.c
629
snd_i2c_lock(ice->i2c);
sound/pci/ice1712/ews.c
631
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
634
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
646
snd_i2c_lock(ice->i2c);
sound/pci/ice1712/ews.c
648
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
654
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
657
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
671
snd_i2c_lock(ice->i2c);
sound/pci/ice1712/ews.c
673
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
678
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
692
snd_i2c_lock(ice->i2c);
sound/pci/ice1712/ews.c
694
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
700
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
703
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
739
snd_i2c_lock(ice->i2c);
sound/pci/ice1712/ews.c
741
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
744
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
761
snd_i2c_lock(ice->i2c);
sound/pci/ice1712/ews.c
763
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
777
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
780
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
812
snd_i2c_lock(ice->i2c);
sound/pci/ice1712/ews.c
815
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
822
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
826
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
835
snd_i2c_lock(ice->i2c);
sound/pci/ice1712/ews.c
839
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ews.c
842
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ice1712.c
322
snd_i2c_lock(ice->i2c);
sound/pci/ice1712/ice1712.c
324
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ice1712.c
328
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ice1712.c
344
snd_i2c_unlock(ice->i2c);
sound/pci/ice1712/ice1712.c
373
err = snd_cs8427_create(ice->i2c, addr,
sound/pci/ice1712/ice1712.h
345
struct snd_i2c_bus *i2c; /* I2C bus */
sound/pci/ice1712/revo.c
156
err = snd_i2c_bus_create(ice->card, "ICE1724 GPIO6", NULL, &ice->i2c);
sound/pci/ice1712/revo.c
160
ice->i2c->private_data = ice;
sound/pci/ice1712/revo.c
161
ice->i2c->hw_ops.bit = &revo51_bit_ops;
sound/pci/ice1712/revo.c
164
err = snd_i2c_device_create(ice->i2c, "PT2258", 0x40, &spec->dev);
sound/pci/ice1712/revo.c
169
pt->i2c_bus = ice->i2c;
sound/ppc/daca.c
189
i2c_smbus_write_byte_data(mix->i2c.client, DACA_REG_GCFG,
sound/ppc/daca.c
221
i2c_smbus_write_byte_data(mix->i2c.client, DACA_REG_SR, 0x08);
sound/ppc/daca.c
222
i2c_smbus_write_byte_data(mix->i2c.client, DACA_REG_GCFG,
sound/ppc/daca.c
234
snd_pmac_keywest_cleanup(&mix->i2c);
sound/ppc/daca.c
254
mix->i2c.addr = DACA_I2C_ADDR;
sound/ppc/daca.c
255
mix->i2c.init_client = daca_init_client;
sound/ppc/daca.c
256
mix->i2c.name = "DACA";
sound/ppc/daca.c
257
err = snd_pmac_keywest_init(&mix->i2c);
sound/ppc/daca.c
29
struct pmac_keywest i2c;
sound/ppc/daca.c
39
static int daca_init_client(struct pmac_keywest *i2c)
sound/ppc/daca.c
44
if (i2c_smbus_write_byte_data(i2c->client, DACA_REG_SR, 0x08) < 0 ||
sound/ppc/daca.c
45
i2c_smbus_write_byte_data(i2c->client, DACA_REG_GCFG, 0x05) < 0)
sound/ppc/daca.c
47
return i2c_smbus_write_block_data(i2c->client, DACA_REG_AVOL,
sound/ppc/daca.c
58
if (! mix->i2c.client)
sound/ppc/daca.c
70
if (i2c_smbus_write_block_data(mix->i2c.client, DACA_REG_AVOL,
sound/ppc/daca.c
72
dev_err(&mix->i2c.client->dev, "failed to set volume\n");
sound/ppc/keywest.c
119
int snd_pmac_keywest_init(struct pmac_keywest *i2c)
sound/ppc/keywest.c
131
keywest_ctx = i2c;
sound/ppc/keywest.c
135
dev_err(&i2c->client->dev, "cannot register keywest i2c driver\n");
sound/ppc/keywest.c
81
MODULE_DEVICE_TABLE(i2c, keywest_i2c_id);
sound/ppc/keywest.c
93
void snd_pmac_keywest_cleanup(struct pmac_keywest *i2c)
sound/ppc/keywest.c
95
if (keywest_ctx && keywest_ctx == i2c) {
sound/ppc/pmac.h
185
int (*init_client)(struct pmac_keywest *i2c);
sound/ppc/pmac.h
189
int snd_pmac_keywest_init(struct pmac_keywest *i2c);
sound/ppc/pmac.h
190
void snd_pmac_keywest_cleanup(struct pmac_keywest *i2c);
sound/ppc/tumbler.c
109
static int send_init_client(struct pmac_keywest *i2c, const unsigned int *regs)
sound/ppc/tumbler.c
114
err = i2c_smbus_write_byte_data(i2c->client,
sound/ppc/tumbler.c
1212
i2c_smbus_write_byte_data(mix->i2c.client, TAS_REG_ACS, mix->acs);
sound/ppc/tumbler.c
1232
if (mix->i2c.client && mix->i2c.init_client) {
sound/ppc/tumbler.c
1233
if (mix->i2c.init_client(&mix->i2c) < 0)
sound/ppc/tumbler.c
129
static int tumbler_init_client(struct pmac_keywest *i2c)
sound/ppc/tumbler.c
1335
snd_pmac_keywest_cleanup(&mix->i2c);
sound/ppc/tumbler.c
137
return send_init_client(i2c, regs);
sound/ppc/tumbler.c
1386
mix->i2c.addr = (*paddr) >> 1;
sound/ppc/tumbler.c
1388
mix->i2c.addr = TAS_I2C_ADDR;
sound/ppc/tumbler.c
1391
DBG("(I) TAS i2c address is: %x\n", mix->i2c.addr);
sound/ppc/tumbler.c
1394
mix->i2c.init_client = tumbler_init_client;
sound/ppc/tumbler.c
1395
mix->i2c.name = "TAS3001c";
sound/ppc/tumbler.c
1398
mix->i2c.init_client = snapper_init_client;
sound/ppc/tumbler.c
1399
mix->i2c.name = "TAS3004";
sound/ppc/tumbler.c
140
static int snapper_init_client(struct pmac_keywest *i2c)
sound/ppc/tumbler.c
1403
err = snd_pmac_keywest_init(&mix->i2c);
sound/ppc/tumbler.c
152
return send_init_client(i2c, regs);
sound/ppc/tumbler.c
203
if (! mix->i2c.client)
sound/ppc/tumbler.c
231
if (i2c_smbus_write_i2c_block_data(mix->i2c.client, TAS_REG_VOL, 6,
sound/ppc/tumbler.c
233
dev_err(&mix->i2c.client->dev, "failed to set volume\n");
sound/ppc/tumbler.c
326
if (! mix->i2c.client)
sound/ppc/tumbler.c
342
if (i2c_smbus_write_i2c_block_data(mix->i2c.client, TAS_REG_DRC,
sound/ppc/tumbler.c
344
dev_err(&mix->i2c.client->dev, "failed to set DRC\n");
sound/ppc/tumbler.c
361
if (! mix->i2c.client)
sound/ppc/tumbler.c
379
if (i2c_smbus_write_i2c_block_data(mix->i2c.client, TAS_REG_DRC,
sound/ppc/tumbler.c
381
dev_err(&mix->i2c.client->dev, "failed to set DRC\n");
sound/ppc/tumbler.c
495
if (! mix->i2c.client)
sound/ppc/tumbler.c
504
if (i2c_smbus_write_i2c_block_data(mix->i2c.client, info->reg,
sound/ppc/tumbler.c
506
dev_err(&mix->i2c.client->dev, "failed to set mono volume %d\n",
sound/ppc/tumbler.c
644
if (i2c_smbus_write_i2c_block_data(mix->i2c.client, reg,
sound/ppc/tumbler.c
646
dev_err(&mix->i2c.client->dev,
sound/ppc/tumbler.c
655
if (! mix->i2c.client)
sound/ppc/tumbler.c
783
if (! mix->i2c.client)
sound/ppc/tumbler.c
789
return i2c_smbus_write_byte_data(mix->i2c.client, TAS_REG_ACS, mix->acs);
sound/ppc/tumbler.c
81
struct pmac_keywest i2c;
sound/soc/codecs/88pm860x-codec.c
1123
pm860x_reg_write(pm860x->i2c, REG_MISC2, data);
sound/soc/codecs/88pm860x-codec.c
1127
pm860x_reg_write(pm860x->i2c, REG_MISC2, data);
sound/soc/codecs/88pm860x-codec.c
1133
pm860x_set_bits(pm860x->i2c, REG_MISC2, data, 0);
sound/soc/codecs/88pm860x-codec.c
1210
status = pm860x_reg_read(pm860x->i2c, REG_STATUS_1);
sound/soc/codecs/88pm860x-codec.c
1211
shrt = pm860x_reg_read(pm860x->i2c, REG_SHORTS);
sound/soc/codecs/88pm860x-codec.c
1264
pm860x_set_bits(pm860x->i2c, REG_HS_DET,
sound/soc/codecs/88pm860x-codec.c
1269
pm860x_set_bits(pm860x->i2c, REG_SHORTS, data, data);
sound/soc/codecs/88pm860x-codec.c
1274
pm860x_set_bits(pm860x->i2c, REG_SHORTS, data, data);
sound/soc/codecs/88pm860x-codec.c
1292
pm860x_set_bits(pm860x->i2c, REG_MIC_DET,
sound/soc/codecs/88pm860x-codec.c
1364
pm860x->i2c = (chip->id == CHIP_PM8607) ? chip->client
sound/soc/codecs/88pm860x-codec.c
140
struct i2c_client *i2c;
sound/soc/codecs/ad193x-i2c.c
21
MODULE_DEVICE_TABLE(i2c, ad193x_id);
sound/soc/codecs/adau1372-i2c.c
27
MODULE_DEVICE_TABLE(i2c, adau1372_i2c_ids);
sound/soc/codecs/adau1373.c
1605
MODULE_DEVICE_TABLE(i2c, adau1373_i2c_id);
sound/soc/codecs/adau1701.c
869
MODULE_DEVICE_TABLE(i2c, adau1701_i2c_id);
sound/soc/codecs/adau1761-i2c.c
42
MODULE_DEVICE_TABLE(i2c, adau1761_i2c_ids);
sound/soc/codecs/adau1781-i2c.c
40
MODULE_DEVICE_TABLE(i2c, adau1781_i2c_ids);
sound/soc/codecs/adau1977-i2c.c
36
MODULE_DEVICE_TABLE(i2c, adau1977_i2c_ids);
sound/soc/codecs/adau7118-i2c.c
51
static int adau7118_probe_i2c(struct i2c_client *i2c)
sound/soc/codecs/adau7118-i2c.c
55
map = devm_regmap_init_i2c(i2c, &adau7118_regmap_config);
sound/soc/codecs/adau7118-i2c.c
57
dev_err(&i2c->dev, "Failed to init regmap %ld\n", PTR_ERR(map));
sound/soc/codecs/adau7118-i2c.c
61
return adau7118_probe(&i2c->dev, map, false);
sound/soc/codecs/adau7118-i2c.c
74
MODULE_DEVICE_TABLE(i2c, adau7118_id);
sound/soc/codecs/adav803.c
20
MODULE_DEVICE_TABLE(i2c, adav803_id);
sound/soc/codecs/ak4118.c
350
static int ak4118_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/ak4118.c
355
ak4118 = devm_kzalloc(&i2c->dev, sizeof(struct ak4118_priv),
sound/soc/codecs/ak4118.c
360
ak4118->regmap = devm_regmap_init_i2c(i2c, &ak4118_regmap);
sound/soc/codecs/ak4118.c
364
i2c_set_clientdata(i2c, ak4118);
sound/soc/codecs/ak4118.c
366
ak4118->reset = devm_gpiod_get(&i2c->dev, "reset", GPIOD_OUT_HIGH);
sound/soc/codecs/ak4118.c
368
return dev_err_probe(&i2c->dev, PTR_ERR(ak4118->reset),
sound/soc/codecs/ak4118.c
371
ak4118->irq = devm_gpiod_get(&i2c->dev, "irq", GPIOD_IN);
sound/soc/codecs/ak4118.c
373
return dev_err_probe(&i2c->dev, PTR_ERR(ak4118->irq),
sound/soc/codecs/ak4118.c
376
ret = devm_request_threaded_irq(&i2c->dev, gpiod_to_irq(ak4118->irq),
sound/soc/codecs/ak4118.c
381
dev_err(&i2c->dev, "Fail to request_irq: %d\n", ret);
sound/soc/codecs/ak4118.c
385
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/ak4118.c
401
MODULE_DEVICE_TABLE(i2c, ak4118_id_table);
sound/soc/codecs/ak4375.c
497
static int ak4375_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/ak4375.c
504
ak4375 = devm_kzalloc(&i2c->dev, sizeof(*ak4375), GFP_KERNEL);
sound/soc/codecs/ak4375.c
508
ak4375->regmap = devm_regmap_init_i2c(i2c, &ak4375_regmap);
sound/soc/codecs/ak4375.c
512
i2c_set_clientdata(i2c, ak4375);
sound/soc/codecs/ak4375.c
513
ak4375->dev = &i2c->dev;
sound/soc/codecs/ak4375.c
515
drvdata = of_device_get_match_data(&i2c->dev);
sound/soc/codecs/ak4375.c
582
static void ak4375_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/ak4375.c
584
pm_runtime_disable(&i2c->dev);
sound/soc/codecs/ak4458.c
736
static int ak4458_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/ak4458.c
741
ak4458 = devm_kzalloc(&i2c->dev, sizeof(*ak4458), GFP_KERNEL);
sound/soc/codecs/ak4458.c
745
ak4458->regmap = devm_regmap_init_i2c(i2c, &ak4458_regmap);
sound/soc/codecs/ak4458.c
749
i2c_set_clientdata(i2c, ak4458);
sound/soc/codecs/ak4458.c
750
ak4458->dev = &i2c->dev;
sound/soc/codecs/ak4458.c
752
ak4458->drvdata = of_device_get_match_data(&i2c->dev);
sound/soc/codecs/ak4458.c
764
of_property_read_u32(i2c->dev.of_node, "dsd-path", &ak4458->dsd_path);
sound/soc/codecs/ak4458.c
784
pm_runtime_enable(&i2c->dev);
sound/soc/codecs/ak4458.c
790
static void ak4458_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/ak4458.c
792
pm_runtime_disable(&i2c->dev);
sound/soc/codecs/ak4535.c
407
static int ak4535_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/ak4535.c
412
ak4535 = devm_kzalloc(&i2c->dev, sizeof(struct ak4535_priv),
sound/soc/codecs/ak4535.c
417
ak4535->regmap = devm_regmap_init_i2c(i2c, &ak4535_regmap);
sound/soc/codecs/ak4535.c
420
dev_err(&i2c->dev, "Failed to init regmap: %d\n", ret);
sound/soc/codecs/ak4535.c
424
i2c_set_clientdata(i2c, ak4535);
sound/soc/codecs/ak4535.c
426
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/ak4535.c
436
MODULE_DEVICE_TABLE(i2c, ak4535_i2c_id);
sound/soc/codecs/ak4613.c
309
MODULE_DEVICE_TABLE(i2c, ak4613_i2c_id);
sound/soc/codecs/ak4613.c
880
static int ak4613_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/ak4613.c
882
struct device *dev = &i2c->dev;
sound/soc/codecs/ak4613.c
887
regmap_cfg = i2c_get_match_data(i2c);
sound/soc/codecs/ak4613.c
904
i2c_set_clientdata(i2c, priv);
sound/soc/codecs/ak4613.c
906
regmap = devm_regmap_init_i2c(i2c, regmap_cfg);
sound/soc/codecs/ak4619.c
837
MODULE_DEVICE_TABLE(i2c, ak4619_i2c_id);
sound/soc/codecs/ak4619.c
870
static int ak4619_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/ak4619.c
872
struct device *dev = &i2c->dev;
sound/soc/codecs/ak4619.c
880
i2c_set_clientdata(i2c, ak4619);
sound/soc/codecs/ak4619.c
882
ak4619->regmap = devm_regmap_init_i2c(i2c, &ak4619_regmap_cfg);
sound/soc/codecs/ak4642.c
631
static int ak4642_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/ak4642.c
633
struct device *dev = &i2c->dev;
sound/soc/codecs/ak4642.c
645
drvdata = i2c_get_match_data(i2c);
sound/soc/codecs/ak4642.c
656
i2c_set_clientdata(i2c, priv);
sound/soc/codecs/ak4642.c
658
regmap = devm_regmap_init_i2c(i2c, drvdata->regmap_config);
sound/soc/codecs/ak4642.c
680
MODULE_DEVICE_TABLE(i2c, ak4642_i2c_id);
sound/soc/codecs/ak4671.c
652
MODULE_DEVICE_TABLE(i2c, ak4671_i2c_id);
sound/soc/codecs/ak5558.c
429
static int ak5558_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/ak5558.c
43
struct i2c_client *i2c;
sound/soc/codecs/ak5558.c
436
ak5558 = devm_kzalloc(&i2c->dev, sizeof(*ak5558), GFP_KERNEL);
sound/soc/codecs/ak5558.c
440
ak5558->regmap = devm_regmap_init_i2c(i2c, &ak5558_regmap);
sound/soc/codecs/ak5558.c
444
i2c_set_clientdata(i2c, ak5558);
sound/soc/codecs/ak5558.c
445
ak5558->i2c = i2c;
sound/soc/codecs/ak5558.c
447
ak5558->reset_gpiod = devm_gpiod_get_optional(&i2c->dev, "reset",
sound/soc/codecs/ak5558.c
455
ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(ak5558->supplies),
sound/soc/codecs/ak5558.c
458
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/ak5558.c
462
dev_id = (uintptr_t)of_device_get_match_data(&i2c->dev);
sound/soc/codecs/ak5558.c
465
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/ak5558.c
470
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/ak5558.c
475
dev_err(&i2c->dev, "unexpected device type\n");
sound/soc/codecs/ak5558.c
479
dev_err(&i2c->dev, "failed to register component: %d\n", ret);
sound/soc/codecs/ak5558.c
483
pm_runtime_enable(&i2c->dev);
sound/soc/codecs/ak5558.c
489
static void ak5558_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/ak5558.c
491
pm_runtime_disable(&i2c->dev);
sound/soc/codecs/alc5623.c
971
MODULE_DEVICE_TABLE(i2c, alc5623_i2c_table);
sound/soc/codecs/alc5632.c
1098
MODULE_DEVICE_TABLE(i2c, alc5632_i2c_table);
sound/soc/codecs/aw87390.c
492
static int aw87390_init(struct aw87390 *aw87390, struct i2c_client *i2c, struct regmap *regmap)
sound/soc/codecs/aw87390.c
498
aw_dev = devm_kzalloc(&i2c->dev, sizeof(*aw_dev), GFP_KERNEL);
sound/soc/codecs/aw87390.c
505
dev_err(&i2c->dev, "%s read chipid error. ret = %d\n", __func__, ret);
sound/soc/codecs/aw87390.c
517
dev_err(&i2c->dev, "unsupported device\n");
sound/soc/codecs/aw87390.c
521
dev_dbg(&i2c->dev, "chip id = 0x%x\n", chip_id);
sound/soc/codecs/aw87390.c
524
aw_dev->i2c = i2c;
sound/soc/codecs/aw87390.c
526
aw_dev->dev = &i2c->dev;
sound/soc/codecs/aw87390.c
541
static int aw87390_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/aw87390.c
547
ret = i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C);
sound/soc/codecs/aw87390.c
549
return dev_err_probe(&i2c->dev, -ENXIO, "check_functionality failed\n");
sound/soc/codecs/aw87390.c
551
aw87390 = devm_kzalloc(&i2c->dev, sizeof(*aw87390), GFP_KERNEL);
sound/soc/codecs/aw87390.c
557
i2c_set_clientdata(i2c, aw87390);
sound/soc/codecs/aw87390.c
559
aw87390->regmap = devm_regmap_init_i2c(i2c, &aw87390_remap_config);
sound/soc/codecs/aw87390.c
561
return dev_err_probe(&i2c->dev, PTR_ERR(aw87390->regmap),
sound/soc/codecs/aw87390.c
565
ret = aw87390_init(aw87390, i2c, aw87390->regmap);
sound/soc/codecs/aw87390.c
575
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/aw87390.c
579
priv = of_device_get_match_data(&i2c->dev);
sound/soc/codecs/aw87390.c
581
return dev_err_probe(&i2c->dev, -EINVAL,
sound/soc/codecs/aw87390.c
583
ret = devm_snd_soc_register_component(&i2c->dev, priv, NULL, 0);
sound/soc/codecs/aw87390.c
590
dev_err(&i2c->dev, "failed to register aw87390: %d\n", ret);
sound/soc/codecs/aw87390.c
607
MODULE_DEVICE_TABLE(i2c, aw87390_i2c_id);
sound/soc/codecs/aw88081.c
1061
static int aw88081_init(struct aw88081 *aw88081, struct i2c_client *i2c, struct regmap *regmap)
sound/soc/codecs/aw88081.c
1070
dev_err(&i2c->dev, "%s read chipid error. ret = %d", __func__, ret);
sound/soc/codecs/aw88081.c
1076
dev_dbg(&i2c->dev, "chip id = 0x%x\n", chip_id);
sound/soc/codecs/aw88081.c
1079
dev_dbg(&i2c->dev, "chip id = 0x%x\n", chip_id);
sound/soc/codecs/aw88081.c
1082
dev_err(&i2c->dev, "unsupported device");
sound/soc/codecs/aw88081.c
1086
aw_dev = devm_kzalloc(&i2c->dev, sizeof(*aw_dev), GFP_KERNEL);
sound/soc/codecs/aw88081.c
1091
aw_dev->i2c = i2c;
sound/soc/codecs/aw88081.c
1093
aw_dev->dev = &i2c->dev;
sound/soc/codecs/aw88081.c
1247
MODULE_DEVICE_TABLE(i2c, aw88081_i2c_id);
sound/soc/codecs/aw88081.c
1249
static int aw88081_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/aw88081.c
1256
ret = i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C);
sound/soc/codecs/aw88081.c
1258
return dev_err_probe(&i2c->dev, -ENXIO, "check_functionality failed");
sound/soc/codecs/aw88081.c
1260
aw88081 = devm_kzalloc(&i2c->dev, sizeof(*aw88081), GFP_KERNEL);
sound/soc/codecs/aw88081.c
1264
id = i2c_match_id(aw88081_i2c_id, i2c);
sound/soc/codecs/aw88081.c
1269
i2c_set_clientdata(i2c, aw88081);
sound/soc/codecs/aw88081.c
1282
aw88081->regmap = devm_regmap_init_i2c(i2c, regmap_config);
sound/soc/codecs/aw88081.c
1284
return dev_err_probe(&i2c->dev, PTR_ERR(aw88081->regmap),
sound/soc/codecs/aw88081.c
1288
ret = aw88081_init(aw88081, i2c, aw88081->regmap);
sound/soc/codecs/aw88081.c
1292
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/aw88166.c
1724
static int aw88166_init(struct aw88166 *aw88166, struct i2c_client *i2c, struct regmap *regmap)
sound/soc/codecs/aw88166.c
1732
dev_err(&i2c->dev, "%s read chipid error. ret = %d\n", __func__, ret);
sound/soc/codecs/aw88166.c
1736
aw_dev = devm_kzalloc(&i2c->dev, sizeof(*aw_dev), GFP_KERNEL);
sound/soc/codecs/aw88166.c
1741
aw_dev->i2c = i2c;
sound/soc/codecs/aw88166.c
1742
aw_dev->dev = &i2c->dev;
sound/soc/codecs/aw88166.c
1762
static int aw88166_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/aw88166.c
1767
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C))
sound/soc/codecs/aw88166.c
1768
return dev_err_probe(&i2c->dev, -ENXIO, "check_functionality failed\n");
sound/soc/codecs/aw88166.c
1770
aw88166 = devm_kzalloc(&i2c->dev, sizeof(*aw88166), GFP_KERNEL);
sound/soc/codecs/aw88166.c
1776
i2c_set_clientdata(i2c, aw88166);
sound/soc/codecs/aw88166.c
1778
aw88166->reset_gpio = devm_gpiod_get_optional(&i2c->dev, "reset", GPIOD_OUT_LOW);
sound/soc/codecs/aw88166.c
1780
return dev_err_probe(&i2c->dev, PTR_ERR(aw88166->reset_gpio),
sound/soc/codecs/aw88166.c
1784
aw88166->regmap = devm_regmap_init_i2c(i2c, &aw88166_remap_config);
sound/soc/codecs/aw88166.c
1786
return dev_err_probe(&i2c->dev, PTR_ERR(aw88166->regmap),
sound/soc/codecs/aw88166.c
1790
ret = aw88166_init(aw88166, i2c, aw88166->regmap);
sound/soc/codecs/aw88166.c
1794
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/aw88166.c
1803
MODULE_DEVICE_TABLE(i2c, aw88166_i2c_id);
sound/soc/codecs/aw88261.c
1189
static int aw88261_init(struct aw88261 *aw88261, struct i2c_client *i2c, struct regmap *regmap)
sound/soc/codecs/aw88261.c
1195
ret = devm_regulator_get_enable(&i2c->dev, "dvdd");
sound/soc/codecs/aw88261.c
1197
return dev_err_probe(&i2c->dev, ret, "Failed to enable dvdd supply\n");
sound/soc/codecs/aw88261.c
1202
dev_err(&i2c->dev, "%s read chipid error. ret = %d", __func__, ret);
sound/soc/codecs/aw88261.c
1206
dev_err(&i2c->dev, "unsupported device");
sound/soc/codecs/aw88261.c
1210
dev_info(&i2c->dev, "chip id = %x\n", chip_id);
sound/soc/codecs/aw88261.c
1212
aw_dev = devm_kzalloc(&i2c->dev, sizeof(*aw_dev), GFP_KERNEL);
sound/soc/codecs/aw88261.c
1217
aw_dev->i2c = i2c;
sound/soc/codecs/aw88261.c
1219
aw_dev->dev = &i2c->dev;
sound/soc/codecs/aw88261.c
1235
static int aw88261_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/aw88261.c
1240
ret = i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C);
sound/soc/codecs/aw88261.c
1242
return dev_err_probe(&i2c->dev, -ENXIO, "check_functionality failed");
sound/soc/codecs/aw88261.c
1244
aw88261 = devm_kzalloc(&i2c->dev, sizeof(*aw88261), GFP_KERNEL);
sound/soc/codecs/aw88261.c
1250
i2c_set_clientdata(i2c, aw88261);
sound/soc/codecs/aw88261.c
1252
aw88261->regmap = devm_regmap_init_i2c(i2c, &aw88261_remap_config);
sound/soc/codecs/aw88261.c
1255
return dev_err_probe(&i2c->dev, ret, "failed to init regmap: %d\n", ret);
sound/soc/codecs/aw88261.c
1259
ret = aw88261_init(aw88261, i2c, aw88261->regmap);
sound/soc/codecs/aw88261.c
1263
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/aw88261.c
1267
dev_err(&i2c->dev, "failed to register aw88261: %d", ret);
sound/soc/codecs/aw88261.c
1276
MODULE_DEVICE_TABLE(i2c, aw88261_i2c_id);
sound/soc/codecs/aw88395/aw88395.c
440
static struct aw88395 *aw88395_malloc_init(struct i2c_client *i2c)
sound/soc/codecs/aw88395/aw88395.c
442
struct aw88395 *aw88395 = devm_kzalloc(&i2c->dev,
sound/soc/codecs/aw88395/aw88395.c
507
static int aw88395_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/aw88395/aw88395.c
512
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C)) {
sound/soc/codecs/aw88395/aw88395.c
513
dev_err(&i2c->dev, "check_functionality failed");
sound/soc/codecs/aw88395/aw88395.c
517
aw88395 = aw88395_malloc_init(i2c);
sound/soc/codecs/aw88395/aw88395.c
519
dev_err(&i2c->dev, "malloc aw88395 failed");
sound/soc/codecs/aw88395/aw88395.c
522
i2c_set_clientdata(i2c, aw88395);
sound/soc/codecs/aw88395/aw88395.c
524
aw88395->reset_gpio = devm_gpiod_get_optional(&i2c->dev, "reset", GPIOD_OUT_LOW);
sound/soc/codecs/aw88395/aw88395.c
526
dev_info(&i2c->dev, "reset gpio not defined\n");
sound/soc/codecs/aw88395/aw88395.c
531
aw88395->regmap = devm_regmap_init_i2c(i2c, &aw88395_remap_config);
sound/soc/codecs/aw88395/aw88395.c
534
dev_err(&i2c->dev, "Failed to init regmap: %d\n", ret);
sound/soc/codecs/aw88395/aw88395.c
539
ret = aw88395_init(&aw88395->aw_pa, i2c, aw88395->regmap);
sound/soc/codecs/aw88395/aw88395.c
545
dev_err(&i2c->dev, "%s failed\n", __func__);
sound/soc/codecs/aw88395/aw88395.c
549
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/aw88395/aw88395.c
553
dev_err(&i2c->dev, "failed to register aw88395: %d", ret);
sound/soc/codecs/aw88395/aw88395.c
564
MODULE_DEVICE_TABLE(i2c, aw88395_i2c_id);
sound/soc/codecs/aw88395/aw88395_device.c
1681
int aw88395_init(struct aw_device **aw_dev, struct i2c_client *i2c, struct regmap *regmap)
sound/soc/codecs/aw88395/aw88395_device.c
1687
dev_info(&i2c->dev, "it should be initialized here.\n");
sound/soc/codecs/aw88395/aw88395_device.c
1689
*aw_dev = devm_kzalloc(&i2c->dev, sizeof(struct aw_device), GFP_KERNEL);
sound/soc/codecs/aw88395/aw88395_device.c
1694
(*aw_dev)->i2c = i2c;
sound/soc/codecs/aw88395/aw88395_device.c
1695
(*aw_dev)->dev = &i2c->dev;
sound/soc/codecs/aw88395/aw88395_device.c
1702
dev_err(&i2c->dev, "dev_read_chipid failed ret=%d", ret);
sound/soc/codecs/aw88395/aw88395_device.h
172
struct i2c_client *i2c;
sound/soc/codecs/aw88395/aw88395_device.h
197
int aw88395_init(struct aw_device **aw_dev, struct i2c_client *i2c, struct regmap *regmap);
sound/soc/codecs/aw88395/aw88395_lib.c
498
if ((aw_dev->i2c->adapter->nr == cfg_dde[i].dev_bus) &&
sound/soc/codecs/aw88395/aw88395_lib.c
499
(aw_dev->i2c->addr == cfg_dde[i].dev_addr) &&
sound/soc/codecs/aw88395/aw88395_lib.c
768
(aw_dev->i2c->adapter->nr == cfg_dde[i].dev_bus) &&
sound/soc/codecs/aw88395/aw88395_lib.c
769
(aw_dev->i2c->addr == cfg_dde[i].dev_addr))
sound/soc/codecs/aw88395/aw88395_lib.c
884
if ((aw_dev->i2c->adapter->nr == cfg_dde[i].dev_bus) &&
sound/soc/codecs/aw88395/aw88395_lib.c
885
(aw_dev->i2c->addr == cfg_dde[i].dev_addr) &&
sound/soc/codecs/aw88399.c
2064
static int aw88399_init(struct aw88399 *aw88399, struct i2c_client *i2c, struct regmap *regmap)
sound/soc/codecs/aw88399.c
2072
dev_err(&i2c->dev, "%s read chipid error. ret = %d", __func__, ret);
sound/soc/codecs/aw88399.c
2076
dev_err(&i2c->dev, "unsupported device");
sound/soc/codecs/aw88399.c
2079
dev_dbg(&i2c->dev, "chip id = %x\n", chip_id);
sound/soc/codecs/aw88399.c
2081
aw_dev = devm_kzalloc(&i2c->dev, sizeof(*aw_dev), GFP_KERNEL);
sound/soc/codecs/aw88399.c
2086
aw_dev->i2c = i2c;
sound/soc/codecs/aw88399.c
2087
aw_dev->dev = &i2c->dev;
sound/soc/codecs/aw88399.c
2107
static int aw88399_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/aw88399.c
2112
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C))
sound/soc/codecs/aw88399.c
2113
return dev_err_probe(&i2c->dev, -ENXIO, "check_functionality failed");
sound/soc/codecs/aw88399.c
2115
aw88399 = devm_kzalloc(&i2c->dev, sizeof(*aw88399), GFP_KERNEL);
sound/soc/codecs/aw88399.c
2121
i2c_set_clientdata(i2c, aw88399);
sound/soc/codecs/aw88399.c
2123
aw88399->reset_gpio = devm_gpiod_get_optional(&i2c->dev, "reset", GPIOD_OUT_LOW);
sound/soc/codecs/aw88399.c
2125
return dev_err_probe(&i2c->dev, PTR_ERR(aw88399->reset_gpio),
sound/soc/codecs/aw88399.c
2129
aw88399->regmap = devm_regmap_init_i2c(i2c, &aw88399_remap_config);
sound/soc/codecs/aw88399.c
2131
return dev_err_probe(&i2c->dev, PTR_ERR(aw88399->regmap),
sound/soc/codecs/aw88399.c
2135
ret = aw88399_init(aw88399, i2c, aw88399->regmap);
sound/soc/codecs/aw88399.c
2139
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/aw88399.c
2143
dev_err(&i2c->dev, "failed to register aw88399: %d", ret);
sound/soc/codecs/aw88399.c
2152
MODULE_DEVICE_TABLE(i2c, aw88399_i2c_id);
sound/soc/codecs/cs35l32.c
562
MODULE_DEVICE_TABLE(i2c, cs35l32_id);
sound/soc/codecs/cs35l33.c
1269
MODULE_DEVICE_TABLE(i2c, cs35l33_id);
sound/soc/codecs/cs35l34.c
1181
MODULE_DEVICE_TABLE(i2c, cs35l34_id);
sound/soc/codecs/cs35l35.c
1646
MODULE_DEVICE_TABLE(i2c, cs35l35_id);
sound/soc/codecs/cs35l36.c
1925
MODULE_DEVICE_TABLE(i2c, cs35l36_id);
sound/soc/codecs/cs35l41-i2c.c
30
MODULE_DEVICE_TABLE(i2c, cs35l41_id_i2c);
sound/soc/codecs/cs35l45-i2c.c
59
MODULE_DEVICE_TABLE(i2c, cs35l45_id_i2c);
sound/soc/codecs/cs35l56-i2c.c
79
MODULE_DEVICE_TABLE(i2c, cs35l56_id_i2c);
sound/soc/codecs/cs4265.c
626
static void cs4265_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/cs4265.c
628
struct cs4265_private *cs4265 = i2c_get_clientdata(i2c);
sound/soc/codecs/cs4265.c
644
MODULE_DEVICE_TABLE(i2c, cs4265_id);
sound/soc/codecs/cs4270.c
740
MODULE_DEVICE_TABLE(i2c, cs4270_id);
sound/soc/codecs/cs4271-i2c.c
29
MODULE_DEVICE_TABLE(i2c, cs4271_i2c_id);
sound/soc/codecs/cs42l42-i2c.c
85
MODULE_DEVICE_TABLE(i2c, cs42l42_id);
sound/soc/codecs/cs42l51-i2c.c
20
MODULE_DEVICE_TABLE(i2c, cs42l51_i2c_id);
sound/soc/codecs/cs42l51-i2c.c
28
static int cs42l51_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/cs42l51-i2c.c
34
return cs42l51_probe(&i2c->dev, devm_regmap_init_i2c(i2c, &config));
sound/soc/codecs/cs42l51-i2c.c
37
static void cs42l51_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/cs42l51-i2c.c
39
cs42l51_remove(&i2c->dev);
sound/soc/codecs/cs42l52.c
1232
MODULE_DEVICE_TABLE(i2c, cs42l52_id);
sound/soc/codecs/cs42l56.c
1359
MODULE_DEVICE_TABLE(i2c, cs42l56_id);
sound/soc/codecs/cs42l73.c
1376
MODULE_DEVICE_TABLE(i2c, cs42l73_id);
sound/soc/codecs/cs42l84.c
1093
MODULE_DEVICE_TABLE(i2c, cs42l84_id);
sound/soc/codecs/cs42xx8-i2c.c
21
static int cs42xx8_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/cs42xx8-i2c.c
26
drvdata = (struct cs42xx8_driver_data *)i2c_get_match_data(i2c);
sound/soc/codecs/cs42xx8-i2c.c
28
return dev_err_probe(&i2c->dev, -EINVAL,
sound/soc/codecs/cs42xx8-i2c.c
31
ret = cs42xx8_probe(&i2c->dev,
sound/soc/codecs/cs42xx8-i2c.c
32
devm_regmap_init_i2c(i2c, &cs42xx8_regmap_config), drvdata);
sound/soc/codecs/cs42xx8-i2c.c
36
pm_runtime_enable(&i2c->dev);
sound/soc/codecs/cs42xx8-i2c.c
37
pm_request_idle(&i2c->dev);
sound/soc/codecs/cs42xx8-i2c.c
42
static void cs42xx8_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/cs42xx8-i2c.c
44
pm_runtime_disable(&i2c->dev);
sound/soc/codecs/cs42xx8-i2c.c
59
MODULE_DEVICE_TABLE(i2c, cs42xx8_i2c_id);
sound/soc/codecs/cs43130.c
2763
MODULE_DEVICE_TABLE(i2c, cs43130_i2c_id);
sound/soc/codecs/cs4341.c
227
static int cs4341_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/cs4341.c
231
cs4341 = devm_kzalloc(&i2c->dev, sizeof(*cs4341), GFP_KERNEL);
sound/soc/codecs/cs4341.c
235
i2c_set_clientdata(i2c, cs4341);
sound/soc/codecs/cs4341.c
243
cs4341->regmap = devm_regmap_init_i2c(i2c, &cs4341->regcfg);
sound/soc/codecs/cs4341.c
247
return cs4341_probe(&i2c->dev);
sound/soc/codecs/cs4341.c
254
MODULE_DEVICE_TABLE(i2c, cs4341_i2c_id);
sound/soc/codecs/cs4349.c
365
MODULE_DEVICE_TABLE(i2c, cs4349_i2c_id);
sound/soc/codecs/cs530x-i2c.c
52
MODULE_DEVICE_TABLE(i2c, cs530x_i2c_id);
sound/soc/codecs/cs53l30.c
1090
MODULE_DEVICE_TABLE(i2c, cs53l30_id);
sound/soc/codecs/cx2072x.c
1629
static int cx2072x_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/cx2072x.c
1635
cx2072x = devm_kzalloc(&i2c->dev, sizeof(struct cx2072x_priv),
sound/soc/codecs/cx2072x.c
1640
cx2072x->regmap = devm_regmap_init(&i2c->dev, NULL, i2c,
sound/soc/codecs/cx2072x.c
1647
i2c_set_clientdata(i2c, cx2072x);
sound/soc/codecs/cx2072x.c
1649
cx2072x->dev = &i2c->dev;
sound/soc/codecs/cx2072x.c
1678
static void cx2072x_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/cx2072x.c
1680
pm_runtime_disable(&i2c->dev);
sound/soc/codecs/cx2072x.c
1688
MODULE_DEVICE_TABLE(i2c, cx2072x_i2c_id);
sound/soc/codecs/da7210.c
1208
static int da7210_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/da7210.c
1213
da7210 = devm_kzalloc(&i2c->dev, sizeof(struct da7210_priv),
sound/soc/codecs/da7210.c
1218
i2c_set_clientdata(i2c, da7210);
sound/soc/codecs/da7210.c
1220
da7210->regmap = devm_regmap_init_i2c(i2c, &da7210_regmap_config_i2c);
sound/soc/codecs/da7210.c
1223
dev_err(&i2c->dev, "regmap_init() failed: %d\n", ret);
sound/soc/codecs/da7210.c
1230
dev_warn(&i2c->dev, "Failed to apply regmap patch: %d\n", ret);
sound/soc/codecs/da7210.c
1232
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/da7210.c
1235
dev_err(&i2c->dev, "Failed to register component: %d\n", ret);
sound/soc/codecs/da7210.c
1244
MODULE_DEVICE_TABLE(i2c, da7210_i2c_id);
sound/soc/codecs/da7213.c
2205
static int da7213_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/da7213.c
2210
da7213 = devm_kzalloc(&i2c->dev, sizeof(*da7213), GFP_KERNEL);
sound/soc/codecs/da7213.c
2214
da7213->fin_min_rate = (uintptr_t)i2c_get_match_data(i2c);
sound/soc/codecs/da7213.c
2218
da7213->dev = &i2c->dev;
sound/soc/codecs/da7213.c
2220
i2c_set_clientdata(i2c, da7213);
sound/soc/codecs/da7213.c
2226
ret = devm_regulator_bulk_get(&i2c->dev, DA7213_NUM_SUPPLIES,
sound/soc/codecs/da7213.c
2229
dev_err(&i2c->dev, "Failed to get supplies: %d\n", ret);
sound/soc/codecs/da7213.c
2237
ret = devm_add_action_or_reset(&i2c->dev, da7213_power_off, da7213);
sound/soc/codecs/da7213.c
2241
da7213->regmap = devm_regmap_init_i2c(i2c, &da7213_regmap_config);
sound/soc/codecs/da7213.c
2244
dev_err(&i2c->dev, "regmap_init() failed: %d\n", ret);
sound/soc/codecs/da7213.c
2250
pm_runtime_set_autosuspend_delay(&i2c->dev, 100);
sound/soc/codecs/da7213.c
2251
pm_runtime_use_autosuspend(&i2c->dev);
sound/soc/codecs/da7213.c
2252
pm_runtime_set_active(&i2c->dev);
sound/soc/codecs/da7213.c
2253
pm_runtime_enable(&i2c->dev);
sound/soc/codecs/da7213.c
2255
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/da7213.c
2258
dev_err(&i2c->dev, "Failed to register da7213 component: %d\n",
sound/soc/codecs/da7213.c
2264
static void da7213_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/da7213.c
2266
pm_runtime_disable(&i2c->dev);
sound/soc/codecs/da7213.c
2277
MODULE_DEVICE_TABLE(i2c, da7213_i2c_id);
sound/soc/codecs/da7218.c
3247
static int da7218_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/da7218.c
3252
da7218 = devm_kzalloc(&i2c->dev, sizeof(*da7218), GFP_KERNEL);
sound/soc/codecs/da7218.c
3256
i2c_set_clientdata(i2c, da7218);
sound/soc/codecs/da7218.c
3258
da7218->dev_id = (uintptr_t)i2c_get_match_data(i2c);
sound/soc/codecs/da7218.c
3262
dev_err(&i2c->dev, "Invalid device Id\n");
sound/soc/codecs/da7218.c
3266
da7218->irq = i2c->irq;
sound/soc/codecs/da7218.c
3268
da7218->regmap = devm_regmap_init_i2c(i2c, &da7218_regmap_config);
sound/soc/codecs/da7218.c
3271
dev_err(&i2c->dev, "regmap_init() failed: %d\n", ret);
sound/soc/codecs/da7218.c
3275
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/da7218.c
3278
dev_err(&i2c->dev, "Failed to register da7218 component: %d\n",
sound/soc/codecs/da7218.c
3289
MODULE_DEVICE_TABLE(i2c, da7218_i2c_id);
sound/soc/codecs/da7219-aad.c
1058
int da7219_aad_probe(struct i2c_client *i2c)
sound/soc/codecs/da7219-aad.c
1060
struct da7219_priv *da7219 = i2c_get_clientdata(i2c);
sound/soc/codecs/da7219-aad.c
1061
struct device *dev = &i2c->dev;
sound/soc/codecs/da7219-aad.c
663
struct i2c_client *i2c = to_i2c_client(dev);
sound/soc/codecs/da7219-aad.c
679
aad_pdata->irq = i2c->irq;
sound/soc/codecs/da7219-aad.h
220
int da7219_aad_probe(struct i2c_client *i2c);
sound/soc/codecs/da7219.c
2676
static int da7219_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/da7219.c
2678
struct device *dev = &i2c->dev;
sound/soc/codecs/da7219.c
2687
i2c_set_clientdata(i2c, da7219);
sound/soc/codecs/da7219.c
2689
da7219->regmap = devm_regmap_init_i2c(i2c, &da7219_regmap_config);
sound/soc/codecs/da7219.c
2702
ret = da7219_aad_probe(i2c);
sound/soc/codecs/da7219.c
2718
MODULE_DEVICE_TABLE(i2c, da7219_i2c_id);
sound/soc/codecs/da732x.c
1509
static int da732x_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/da732x.c
1515
da732x = devm_kzalloc(&i2c->dev, sizeof(struct da732x_priv),
sound/soc/codecs/da732x.c
1520
i2c_set_clientdata(i2c, da732x);
sound/soc/codecs/da732x.c
1522
da732x->regmap = devm_regmap_init_i2c(i2c, &da732x_regmap);
sound/soc/codecs/da732x.c
1525
dev_err(&i2c->dev, "Failed to initialize regmap\n");
sound/soc/codecs/da732x.c
1531
dev_err(&i2c->dev, "Failed to read ID register: %d\n", ret);
sound/soc/codecs/da732x.c
1535
dev_info(&i2c->dev, "Revision: %d.%d\n",
sound/soc/codecs/da732x.c
1539
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/da732x.c
1543
dev_err(&i2c->dev, "Failed to register component.\n");
sound/soc/codecs/da732x.c
1553
MODULE_DEVICE_TABLE(i2c, da732x_i2c_id);
sound/soc/codecs/da9055.c
1476
static int da9055_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/da9055.c
1479
struct da9055_platform_data *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/da9055.c
1482
da9055 = devm_kzalloc(&i2c->dev, sizeof(struct da9055_priv),
sound/soc/codecs/da9055.c
1490
i2c_set_clientdata(i2c, da9055);
sound/soc/codecs/da9055.c
1492
da9055->regmap = devm_regmap_init_i2c(i2c, &da9055_regmap_config);
sound/soc/codecs/da9055.c
1495
dev_err(&i2c->dev, "regmap_init() failed: %d\n", ret);
sound/soc/codecs/da9055.c
1499
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/da9055.c
1502
dev_err(&i2c->dev, "Failed to register da9055 component: %d\n",
sound/soc/codecs/da9055.c
1519
MODULE_DEVICE_TABLE(i2c, da9055_i2c_id);
sound/soc/codecs/es8311.c
951
MODULE_DEVICE_TABLE(i2c, es8311_id);
sound/soc/codecs/es8316.c
901
MODULE_DEVICE_TABLE(i2c, es8316_i2c_id);
sound/soc/codecs/es8323.c
793
MODULE_DEVICE_TABLE(i2c, es8323_i2c_id);
sound/soc/codecs/es8326.c
1270
static int es8326_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/es8326.c
1275
es8326 = devm_kzalloc(&i2c->dev, sizeof(struct es8326_priv), GFP_KERNEL);
sound/soc/codecs/es8326.c
1279
i2c_set_clientdata(i2c, es8326);
sound/soc/codecs/es8326.c
1280
es8326->i2c = i2c;
sound/soc/codecs/es8326.c
1282
es8326->regmap = devm_regmap_init_i2c(i2c, &es8326_regmap_config);
sound/soc/codecs/es8326.c
1285
dev_err(&i2c->dev, "Failed to init regmap: %d\n", ret);
sound/soc/codecs/es8326.c
1289
es8326->irq = i2c->irq;
sound/soc/codecs/es8326.c
1299
ret = devm_request_threaded_irq(&i2c->dev, es8326->irq, NULL, es8326_irq,
sound/soc/codecs/es8326.c
1303
dev_warn(&i2c->dev, "Failed to request IRQ: %d: %d\n",
sound/soc/codecs/es8326.c
1308
es8326->mclk = devm_clk_get_optional(&i2c->dev, "mclk");
sound/soc/codecs/es8326.c
1310
dev_err(&i2c->dev, "unable to get mclk\n");
sound/soc/codecs/es8326.c
1314
dev_warn(&i2c->dev, "assuming static mclk\n");
sound/soc/codecs/es8326.c
1318
dev_err(&i2c->dev, "unable to enable mclk\n");
sound/soc/codecs/es8326.c
1321
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/es8326.c
1327
static void es8326_i2c_shutdown(struct i2c_client *i2c)
sound/soc/codecs/es8326.c
1332
es8326 = i2c_get_clientdata(i2c);
sound/soc/codecs/es8326.c
1344
static void es8326_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/es8326.c
1346
es8326_i2c_shutdown(i2c);
sound/soc/codecs/es8326.c
1353
MODULE_DEVICE_TABLE(i2c, es8326_i2c_id);
sound/soc/codecs/es8326.c
23
struct i2c_client *i2c;
sound/soc/codecs/es8328-i2c.c
23
MODULE_DEVICE_TABLE(i2c, es8328_id);
sound/soc/codecs/es8328-i2c.c
32
static int es8328_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/es8328-i2c.c
34
return es8328_probe(&i2c->dev,
sound/soc/codecs/es8328-i2c.c
35
devm_regmap_init_i2c(i2c, &es8328_regmap_config));
sound/soc/codecs/es8375.c
735
static void es8375_i2c_shutdown(struct i2c_client *i2c)
sound/soc/codecs/es8375.c
739
es8375 = i2c_get_clientdata(i2c);
sound/soc/codecs/es8375.c
758
MODULE_DEVICE_TABLE(i2c, es8375_id);
sound/soc/codecs/es8389.c
1021
MODULE_DEVICE_TABLE(i2c, es8389_i2c_id);
sound/soc/codecs/es8389.c
966
static void es8389_i2c_shutdown(struct i2c_client *i2c)
sound/soc/codecs/es8389.c
970
es8389 = i2c_get_clientdata(i2c);
sound/soc/codecs/fs210x.c
1521
fs210x->i2c = client;
sound/soc/codecs/fs210x.c
1564
MODULE_DEVICE_TABLE(i2c, fs210x_i2c_id);
sound/soc/codecs/fs210x.c
54
struct i2c_client *i2c;
sound/soc/codecs/isabelle.c
1110
static int isabelle_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/isabelle.c
1115
isabelle_regmap = devm_regmap_init_i2c(i2c, &isabelle_regmap_config);
sound/soc/codecs/isabelle.c
1118
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/isabelle.c
1122
i2c_set_clientdata(i2c, isabelle_regmap);
sound/soc/codecs/isabelle.c
1124
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/isabelle.c
1128
dev_err(&i2c->dev, "Failed to register component: %d\n", ret);
sound/soc/codecs/isabelle.c
1139
MODULE_DEVICE_TABLE(i2c, isabelle_i2c_id);
sound/soc/codecs/lm4857.c
118
static int lm4857_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/lm4857.c
122
regmap = devm_regmap_init_i2c(i2c, &lm4857_regmap_config);
sound/soc/codecs/lm4857.c
126
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/lm4857.c
134
MODULE_DEVICE_TABLE(i2c, lm4857_i2c_id);
sound/soc/codecs/lm49453.c
1415
static int lm49453_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/lm49453.c
1420
lm49453 = devm_kzalloc(&i2c->dev, sizeof(struct lm49453_priv),
sound/soc/codecs/lm49453.c
1426
i2c_set_clientdata(i2c, lm49453);
sound/soc/codecs/lm49453.c
1428
lm49453->regmap = devm_regmap_init_i2c(i2c, &lm49453_regmap_config);
sound/soc/codecs/lm49453.c
1431
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/lm49453.c
1436
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/lm49453.c
1440
dev_err(&i2c->dev, "Failed to register component: %d\n", ret);
sound/soc/codecs/lm49453.c
1449
MODULE_DEVICE_TABLE(i2c, lm49453_i2c_id);
sound/soc/codecs/max9768.c
219
MODULE_DEVICE_TABLE(i2c, max9768_i2c_id);
sound/soc/codecs/max98088.c
1729
MODULE_DEVICE_TABLE(i2c, max98088_i2c_id);
sound/soc/codecs/max98088.c
1731
static int max98088_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/max98088.c
1735
max98088 = devm_kzalloc(&i2c->dev, sizeof(struct max98088_priv),
sound/soc/codecs/max98088.c
1740
max98088->regmap = devm_regmap_init_i2c(i2c, &max98088_regmap);
sound/soc/codecs/max98088.c
1744
max98088->mclk = devm_clk_get(&i2c->dev, "mclk");
sound/soc/codecs/max98088.c
1749
max98088->devtype = (uintptr_t)i2c_get_match_data(i2c);
sound/soc/codecs/max98088.c
1751
i2c_set_clientdata(i2c, max98088);
sound/soc/codecs/max98088.c
1752
max98088->pdata = i2c->dev.platform_data;
sound/soc/codecs/max98088.c
1754
return devm_snd_soc_register_component(&i2c->dev, &soc_component_dev_max98088,
sound/soc/codecs/max98090.c
2579
MODULE_DEVICE_TABLE(i2c, max98090_i2c_id);
sound/soc/codecs/max98090.c
2581
static int max98090_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/max98090.c
2588
max98090 = devm_kzalloc(&i2c->dev, sizeof(struct max98090_priv),
sound/soc/codecs/max98090.c
2593
max98090->devtype = (uintptr_t)i2c_get_match_data(i2c);
sound/soc/codecs/max98090.c
2594
i2c_set_clientdata(i2c, max98090);
sound/soc/codecs/max98090.c
2595
max98090->pdata = i2c->dev.platform_data;
sound/soc/codecs/max98090.c
2597
ret = of_property_read_u32(i2c->dev.of_node, "maxim,dmic-freq",
sound/soc/codecs/max98090.c
2602
max98090->regmap = devm_regmap_init_i2c(i2c, &max98090_regmap);
sound/soc/codecs/max98090.c
2605
dev_err(&i2c->dev, "Failed to allocate regmap: %d\n", ret);
sound/soc/codecs/max98090.c
2609
ret = devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL,
sound/soc/codecs/max98090.c
2613
dev_err(&i2c->dev, "request_irq failed: %d\n",
sound/soc/codecs/max98090.c
2618
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/max98090.c
2625
static void max98090_i2c_shutdown(struct i2c_client *i2c)
sound/soc/codecs/max98090.c
2627
struct max98090_priv *max98090 = dev_get_drvdata(&i2c->dev);
sound/soc/codecs/max98095.c
2115
MODULE_DEVICE_TABLE(i2c, max98095_i2c_id);
sound/soc/codecs/max98095.c
2117
static int max98095_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/max98095.c
2122
max98095 = devm_kzalloc(&i2c->dev, sizeof(struct max98095_priv),
sound/soc/codecs/max98095.c
2129
max98095->regmap = devm_regmap_init_i2c(i2c, &max98095_regmap);
sound/soc/codecs/max98095.c
2132
dev_err(&i2c->dev, "Failed to allocate regmap: %d\n", ret);
sound/soc/codecs/max98095.c
2136
max98095->devtype = (uintptr_t)i2c_get_match_data(i2c);
sound/soc/codecs/max98095.c
2137
i2c_set_clientdata(i2c, max98095);
sound/soc/codecs/max98095.c
2138
max98095->pdata = i2c->dev.platform_data;
sound/soc/codecs/max98095.c
2140
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/max98371.c
367
static int max98371_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/max98371.c
372
max98371 = devm_kzalloc(&i2c->dev,
sound/soc/codecs/max98371.c
377
i2c_set_clientdata(i2c, max98371);
sound/soc/codecs/max98371.c
378
max98371->regmap = devm_regmap_init_i2c(i2c, &max98371_regmap);
sound/soc/codecs/max98371.c
381
dev_err(&i2c->dev,
sound/soc/codecs/max98371.c
388
dev_info(&i2c->dev, "device error %d\n", ret);
sound/soc/codecs/max98371.c
391
dev_info(&i2c->dev, "device version %x\n", reg);
sound/soc/codecs/max98371.c
393
ret = devm_snd_soc_register_component(&i2c->dev, &max98371_component,
sound/soc/codecs/max98371.c
396
dev_err(&i2c->dev, "Failed to register component: %d\n", ret);
sound/soc/codecs/max98371.c
407
MODULE_DEVICE_TABLE(i2c, max98371_i2c_id);
sound/soc/codecs/max98373-i2c.c
514
static int max98373_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/max98373-i2c.c
521
max98373 = devm_kzalloc(&i2c->dev, sizeof(*max98373), GFP_KERNEL);
sound/soc/codecs/max98373-i2c.c
527
i2c_set_clientdata(i2c, max98373);
sound/soc/codecs/max98373-i2c.c
530
if (device_property_read_bool(&i2c->dev, "maxim,interleave_mode"))
sound/soc/codecs/max98373-i2c.c
536
max98373->regmap = devm_regmap_init_i2c(i2c, &max98373_regmap);
sound/soc/codecs/max98373-i2c.c
539
dev_err(&i2c->dev,
sound/soc/codecs/max98373-i2c.c
545
max98373->cache = devm_kcalloc(&i2c->dev, max98373->cache_num,
sound/soc/codecs/max98373-i2c.c
557
max98373_slot_config(&i2c->dev, max98373);
sound/soc/codecs/max98373-i2c.c
563
dev_err(&i2c->dev,
sound/soc/codecs/max98373-i2c.c
567
dev_info(&i2c->dev, "MAX98373 revisionID: 0x%02X\n", reg);
sound/soc/codecs/max98373-i2c.c
570
ret = devm_snd_soc_register_component(&i2c->dev, &soc_codec_dev_max98373,
sound/soc/codecs/max98373-i2c.c
573
dev_err(&i2c->dev, "Failed to register codec: %d\n", ret);
sound/soc/codecs/max98373-i2c.c
583
MODULE_DEVICE_TABLE(i2c, max98373_i2c_id);
sound/soc/codecs/max98388.c
923
static int max98388_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/max98388.c
930
max98388 = devm_kzalloc(&i2c->dev, sizeof(*max98388), GFP_KERNEL);
sound/soc/codecs/max98388.c
934
i2c_set_clientdata(i2c, max98388);
sound/soc/codecs/max98388.c
937
max98388->regmap = devm_regmap_init_i2c(i2c, &max98388_regmap);
sound/soc/codecs/max98388.c
939
return dev_err_probe(&i2c->dev, PTR_ERR(max98388->regmap),
sound/soc/codecs/max98388.c
943
max98388_read_deveice_property(&i2c->dev, max98388);
sound/soc/codecs/max98388.c
946
max98388->reset_gpio = devm_gpiod_get_optional(&i2c->dev,
sound/soc/codecs/max98388.c
949
return dev_err_probe(&i2c->dev, PTR_ERR(max98388->reset_gpio),
sound/soc/codecs/max98388.c
963
return dev_err_probe(&i2c->dev, ret,
sound/soc/codecs/max98388.c
966
dev_info(&i2c->dev, "MAX98388 revisionID: 0x%02X\n", reg);
sound/soc/codecs/max98388.c
969
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/max98388.c
974
dev_err(&i2c->dev, "Failed to register codec: %d\n", ret);
sound/soc/codecs/max98388.c
984
MODULE_DEVICE_TABLE(i2c, max98388_i2c_id);
sound/soc/codecs/max98390.c
1009
static int max98390_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/max98390.c
1015
struct i2c_adapter *adapter = i2c->adapter;
sound/soc/codecs/max98390.c
1022
dev_err(&i2c->dev, "I2C check functionality failed\n");
sound/soc/codecs/max98390.c
1026
max98390 = devm_kzalloc(&i2c->dev, sizeof(*max98390), GFP_KERNEL);
sound/soc/codecs/max98390.c
1031
i2c_set_clientdata(i2c, max98390);
sound/soc/codecs/max98390.c
1033
ret = device_property_read_u32(&i2c->dev, "maxim,temperature_calib",
sound/soc/codecs/max98390.c
1036
dev_info(&i2c->dev,
sound/soc/codecs/max98390.c
1039
ret = device_property_read_u32(&i2c->dev, "maxim,r0_calib",
sound/soc/codecs/max98390.c
1042
dev_info(&i2c->dev,
sound/soc/codecs/max98390.c
1046
dev_info(&i2c->dev,
sound/soc/codecs/max98390.c
1051
ret = device_property_read_string(&i2c->dev, "maxim,dsm_param_name",
sound/soc/codecs/max98390.c
1057
max98390_slot_config(i2c, max98390);
sound/soc/codecs/max98390.c
1060
max98390->regmap = devm_regmap_init_i2c(i2c, &max98390_regmap);
sound/soc/codecs/max98390.c
1063
dev_err(&i2c->dev,
sound/soc/codecs/max98390.c
1068
reset_gpio = devm_gpiod_get_optional(&i2c->dev,
sound/soc/codecs/max98390.c
1071
return dev_err_probe(&i2c->dev, PTR_ERR(reset_gpio),
sound/soc/codecs/max98390.c
1086
dev_err(&i2c->dev,
sound/soc/codecs/max98390.c
1091
dev_info(&i2c->dev, "MAX98390 revisionID: 0x%02X\n", reg);
sound/soc/codecs/max98390.c
1093
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/max98390.c
1105
MODULE_DEVICE_TABLE(i2c, max98390_i2c_id);
sound/soc/codecs/max98390.c
992
static void max98390_slot_config(struct i2c_client *i2c,
sound/soc/codecs/max98390.c
996
struct device *dev = &i2c->dev;
sound/soc/codecs/max98396.c
1730
static int max98396_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/max98396.c
1732
const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
sound/soc/codecs/max98396.c
1736
max98396 = devm_kzalloc(&i2c->dev, sizeof(*max98396), GFP_KERNEL);
sound/soc/codecs/max98396.c
1742
i2c_set_clientdata(i2c, max98396);
sound/soc/codecs/max98396.c
1748
max98396->regmap = devm_regmap_init_i2c(i2c, &max98396_regmap);
sound/soc/codecs/max98396.c
1751
max98396->regmap = devm_regmap_init_i2c(i2c, &max98397_regmap);
sound/soc/codecs/max98396.c
1755
dev_err(&i2c->dev,
sound/soc/codecs/max98396.c
1764
ret = devm_regulator_bulk_get(&i2c->dev, MAX98396_NUM_CORE_SUPPLIES,
sound/soc/codecs/max98396.c
1767
dev_err(&i2c->dev, "Failed to request core supplies: %d\n", ret);
sound/soc/codecs/max98396.c
1771
max98396->vbat = devm_regulator_get_optional(&i2c->dev, "vbat");
sound/soc/codecs/max98396.c
1779
max98396->pvdd = devm_regulator_get_optional(&i2c->dev, "pvdd");
sound/soc/codecs/max98396.c
1790
dev_err(&i2c->dev, "Unable to enable core supplies: %d", ret);
sound/soc/codecs/max98396.c
1794
ret = devm_add_action_or_reset(&i2c->dev, max98396_core_supplies_disable,
sound/soc/codecs/max98396.c
1804
ret = devm_add_action_or_reset(&i2c->dev,
sound/soc/codecs/max98396.c
1816
ret = devm_add_action_or_reset(&i2c->dev,
sound/soc/codecs/max98396.c
1824
if (device_property_read_bool(&i2c->dev, "adi,interleave_mode"))
sound/soc/codecs/max98396.c
1830
max98396_read_device_property(&i2c->dev, max98396);
sound/soc/codecs/max98396.c
1833
max98396->reset_gpio = devm_gpiod_get_optional(&i2c->dev,
sound/soc/codecs/max98396.c
1837
dev_err(&i2c->dev, "Unable to request GPIO pin: %d.\n", ret);
sound/soc/codecs/max98396.c
1851
dev_err(&i2c->dev, "%s: failed to read revision of the device.\n", id->name);
sound/soc/codecs/max98396.c
1854
dev_info(&i2c->dev, "%s revision ID: 0x%02X\n", id->name, reg);
sound/soc/codecs/max98396.c
1858
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/max98396.c
1863
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/max98396.c
1868
dev_err(&i2c->dev, "Failed to register codec: %d\n", ret);
sound/soc/codecs/max98396.c
1879
MODULE_DEVICE_TABLE(i2c, max98396_i2c_id);
sound/soc/codecs/max9850.c
302
static int max9850_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/max9850.c
307
max9850 = devm_kzalloc(&i2c->dev, sizeof(struct max9850_priv),
sound/soc/codecs/max9850.c
312
max9850->regmap = devm_regmap_init_i2c(i2c, &max9850_regmap);
sound/soc/codecs/max9850.c
316
i2c_set_clientdata(i2c, max9850);
sound/soc/codecs/max9850.c
318
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/max9850.c
327
MODULE_DEVICE_TABLE(i2c, max9850_i2c_id);
sound/soc/codecs/max98504.c
369
MODULE_DEVICE_TABLE(i2c, max98504_i2c_id);
sound/soc/codecs/max98520.c
677
static int max98520_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/max98520.c
682
struct i2c_adapter *adapter = to_i2c_adapter(i2c->dev.parent);
sound/soc/codecs/max98520.c
686
dev_err(&i2c->dev, "I2C check functionality failed\n");
sound/soc/codecs/max98520.c
690
max98520 = devm_kzalloc(&i2c->dev, sizeof(*max98520), GFP_KERNEL);
sound/soc/codecs/max98520.c
695
i2c_set_clientdata(i2c, max98520);
sound/soc/codecs/max98520.c
698
max98520->regmap = devm_regmap_init_i2c(i2c, &max98520_regmap);
sound/soc/codecs/max98520.c
701
dev_err(&i2c->dev, "Failed to allocate regmap: %d\n", ret);
sound/soc/codecs/max98520.c
706
max98520->reset_gpio = devm_gpiod_get_optional(&i2c->dev, "reset", GPIOD_OUT_HIGH);
sound/soc/codecs/max98520.c
710
dev_err(&i2c->dev, "Unable to request GPIO pin: %d.\n", ret);
sound/soc/codecs/max98520.c
720
dev_err(&i2c->dev,
sound/soc/codecs/max98520.c
724
dev_info(&i2c->dev, "MAX98520 revisionID: 0x%02X\n", reg);
sound/soc/codecs/max98520.c
727
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/max98520.c
731
dev_err(&i2c->dev, "Failed to register codec: %d\n", ret);
sound/soc/codecs/max98520.c
741
MODULE_DEVICE_TABLE(i2c, max98520_i2c_id);
sound/soc/codecs/max9860.c
591
static int max9860_probe(struct i2c_client *i2c)
sound/soc/codecs/max9860.c
593
struct device *dev = &i2c->dev;
sound/soc/codecs/max9860.c
623
max9860->regmap = devm_regmap_init_i2c(i2c, &max9860_regmap);
sound/soc/codecs/max9860.c
702
static void max9860_remove(struct i2c_client *i2c)
sound/soc/codecs/max9860.c
704
struct device *dev = &i2c->dev;
sound/soc/codecs/max9860.c
715
MODULE_DEVICE_TABLE(i2c, max9860_i2c_id);
sound/soc/codecs/max9867.c
655
static int max9867_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/max9867.c
660
max9867 = devm_kzalloc(&i2c->dev, sizeof(*max9867), GFP_KERNEL);
sound/soc/codecs/max9867.c
664
i2c_set_clientdata(i2c, max9867);
sound/soc/codecs/max9867.c
665
max9867->regmap = devm_regmap_init_i2c(i2c, &max9867_regmap);
sound/soc/codecs/max9867.c
668
dev_err(&i2c->dev, "Failed to allocate regmap: %d\n", ret);
sound/soc/codecs/max9867.c
673
dev_err(&i2c->dev, "Failed to read: %d\n", ret);
sound/soc/codecs/max9867.c
676
dev_info(&i2c->dev, "device revision: %x\n", reg);
sound/soc/codecs/max9867.c
677
ret = devm_snd_soc_register_component(&i2c->dev, &max9867_component,
sound/soc/codecs/max9867.c
680
dev_err(&i2c->dev, "Failed to register component: %d\n", ret);
sound/soc/codecs/max9867.c
684
max9867->mclk = devm_clk_get(&i2c->dev, NULL);
sound/soc/codecs/max9867.c
695
MODULE_DEVICE_TABLE(i2c, max9867_i2c_id);
sound/soc/codecs/max9877.c
157
MODULE_DEVICE_TABLE(i2c, max9877_i2c_id);
sound/soc/codecs/max98925.c
560
static int max98925_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/max98925.c
566
max98925 = devm_kzalloc(&i2c->dev,
sound/soc/codecs/max98925.c
571
i2c_set_clientdata(i2c, max98925);
sound/soc/codecs/max98925.c
572
max98925->regmap = devm_regmap_init_i2c(i2c, &max98925_regmap);
sound/soc/codecs/max98925.c
575
dev_err(&i2c->dev,
sound/soc/codecs/max98925.c
580
if (!of_property_read_u32(i2c->dev.of_node, "vmon-slot-no", &value)) {
sound/soc/codecs/max98925.c
582
dev_err(&i2c->dev, "vmon slot number is wrong:\n");
sound/soc/codecs/max98925.c
587
if (!of_property_read_u32(i2c->dev.of_node, "imon-slot-no", &value)) {
sound/soc/codecs/max98925.c
589
dev_err(&i2c->dev, "imon slot number is wrong:\n");
sound/soc/codecs/max98925.c
597
dev_err(&i2c->dev, "Read revision failed\n");
sound/soc/codecs/max98925.c
603
dev_err(&i2c->dev, "Invalid revision (%d 0x%02X)\n",
sound/soc/codecs/max98925.c
608
dev_info(&i2c->dev, "device version 0x%02X\n", reg);
sound/soc/codecs/max98925.c
610
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/max98925.c
614
dev_err(&i2c->dev,
sound/soc/codecs/max98925.c
623
MODULE_DEVICE_TABLE(i2c, max98925_i2c_id);
sound/soc/codecs/max98926.c
512
static int max98926_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/max98926.c
518
max98926 = devm_kzalloc(&i2c->dev,
sound/soc/codecs/max98926.c
523
i2c_set_clientdata(i2c, max98926);
sound/soc/codecs/max98926.c
524
max98926->regmap = devm_regmap_init_i2c(i2c, &max98926_regmap);
sound/soc/codecs/max98926.c
527
dev_err(&i2c->dev,
sound/soc/codecs/max98926.c
531
if (of_property_read_bool(i2c->dev.of_node, "maxim,interleave-mode") ||
sound/soc/codecs/max98926.c
532
of_property_read_bool(i2c->dev.of_node, "interleave-mode"))
sound/soc/codecs/max98926.c
535
if (!of_property_read_u32(i2c->dev.of_node, "vmon-slot-no", &value)) {
sound/soc/codecs/max98926.c
537
dev_err(&i2c->dev, "vmon slot number is wrong:\n");
sound/soc/codecs/max98926.c
542
if (!of_property_read_u32(i2c->dev.of_node, "imon-slot-no", &value)) {
sound/soc/codecs/max98926.c
544
dev_err(&i2c->dev, "imon slot number is wrong:\n");
sound/soc/codecs/max98926.c
552
dev_err(&i2c->dev, "Failed to read: %x\n", reg);
sound/soc/codecs/max98926.c
556
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/max98926.c
560
dev_err(&i2c->dev,
sound/soc/codecs/max98926.c
562
dev_info(&i2c->dev, "device version: %x\n", reg);
sound/soc/codecs/max98926.c
571
MODULE_DEVICE_TABLE(i2c, max98926_i2c_id);
sound/soc/codecs/max98927.c
781
static void max98927_slot_config(struct i2c_client *i2c,
sound/soc/codecs/max98927.c
785
struct device *dev = &i2c->dev;
sound/soc/codecs/max98927.c
798
static int max98927_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/max98927.c
805
max98927 = devm_kzalloc(&i2c->dev, sizeof(*max98927), GFP_KERNEL);
sound/soc/codecs/max98927.c
810
i2c_set_clientdata(i2c, max98927);
sound/soc/codecs/max98927.c
813
if (of_property_read_bool(i2c->dev.of_node, "maxim,interleave-mode")) {
sound/soc/codecs/max98927.c
816
if (!of_property_read_u32(i2c->dev.of_node, "interleave_mode",
sound/soc/codecs/max98927.c
824
= devm_regmap_init_i2c(i2c, &max98927_regmap);
sound/soc/codecs/max98927.c
827
dev_err(&i2c->dev,
sound/soc/codecs/max98927.c
832
max98927->reset_gpio = devm_gpiod_get_optional(&i2c->dev, "reset",
sound/soc/codecs/max98927.c
836
return dev_err_probe(&i2c->dev, ret, "failed to request GPIO reset pin");
sound/soc/codecs/max98927.c
848
dev_err(&i2c->dev,
sound/soc/codecs/max98927.c
852
dev_info(&i2c->dev, "MAX98927 revisionID: 0x%02X\n", reg);
sound/soc/codecs/max98927.c
855
max98927_slot_config(i2c, max98927);
sound/soc/codecs/max98927.c
858
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/max98927.c
862
dev_err(&i2c->dev, "Failed to register component: %d\n", ret);
sound/soc/codecs/max98927.c
867
static void max98927_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/max98927.c
869
struct max98927_priv *max98927 = i2c_get_clientdata(i2c);
sound/soc/codecs/max98927.c
880
MODULE_DEVICE_TABLE(i2c, max98927_i2c_id);
sound/soc/codecs/ml26124.c
553
static int ml26124_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/ml26124.c
558
priv = devm_kzalloc(&i2c->dev, sizeof(*priv), GFP_KERNEL);
sound/soc/codecs/ml26124.c
562
i2c_set_clientdata(i2c, priv);
sound/soc/codecs/ml26124.c
564
priv->regmap = devm_regmap_init_i2c(i2c, &ml26124_i2c_regmap);
sound/soc/codecs/ml26124.c
567
dev_err(&i2c->dev, "regmap_init_i2c() failed: %d\n", ret);
sound/soc/codecs/ml26124.c
571
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/ml26124.c
579
MODULE_DEVICE_TABLE(i2c, ml26124_i2c_id);
sound/soc/codecs/mt6660.c
468
chip->i2c = client;
sound/soc/codecs/mt6660.c
55
return i2c_smbus_write_i2c_block_data(chip->i2c, reg, size, reg_data);
sound/soc/codecs/mt6660.c
563
MODULE_DEVICE_TABLE(i2c, mt6660_i2c_id);
sound/soc/codecs/mt6660.c
66
ret = i2c_smbus_read_i2c_block_data(chip->i2c, reg, size, data);
sound/soc/codecs/mt6660.h
21
struct i2c_client *i2c;
sound/soc/codecs/nau8325.c
832
static int nau8325_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/nau8325.c
834
struct device *dev = &i2c->dev;
sound/soc/codecs/nau8325.c
848
i2c_set_clientdata(i2c, nau8325);
sound/soc/codecs/nau8325.c
850
nau8325->regmap = devm_regmap_init_i2c(i2c, &nau8325_regmap_config);
sound/soc/codecs/nau8325.c
876
MODULE_DEVICE_TABLE(i2c, nau8325_i2c_ids);
sound/soc/codecs/nau8540.c
936
static int nau8540_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/nau8540.c
938
struct device *dev = &i2c->dev;
sound/soc/codecs/nau8540.c
947
i2c_set_clientdata(i2c, nau8540);
sound/soc/codecs/nau8540.c
949
nau8540->regmap = devm_regmap_init_i2c(i2c, &nau8540_regmap_config);
sound/soc/codecs/nau8540.c
971
MODULE_DEVICE_TABLE(i2c, nau8540_i2c_ids);
sound/soc/codecs/nau8810.c
875
static int nau8810_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/nau8810.c
877
struct device *dev = &i2c->dev;
sound/soc/codecs/nau8810.c
885
i2c_set_clientdata(i2c, nau8810);
sound/soc/codecs/nau8810.c
887
nau8810->regmap = devm_regmap_init_i2c(i2c, &nau8810_regmap_config);
sound/soc/codecs/nau8810.c
904
MODULE_DEVICE_TABLE(i2c, nau8810_i2c_id);
sound/soc/codecs/nau8821.c
1922
static int nau8821_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/nau8821.c
1924
struct device *dev = &i2c->dev;
sound/soc/codecs/nau8821.c
1925
struct nau8821 *nau8821 = dev_get_platdata(&i2c->dev);
sound/soc/codecs/nau8821.c
1934
i2c_set_clientdata(i2c, nau8821);
sound/soc/codecs/nau8821.c
1936
nau8821->regmap = devm_regmap_init_i2c(i2c, &nau8821_regmap_config);
sound/soc/codecs/nau8821.c
1941
nau8821->irq = i2c->irq;
sound/soc/codecs/nau8821.c
1961
if (i2c->irq)
sound/soc/codecs/nau8821.c
1964
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/nau8821.c
1974
MODULE_DEVICE_TABLE(i2c, nau8821_i2c_ids);
sound/soc/codecs/nau8822.c
1152
static int nau8822_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/nau8822.c
1154
struct device *dev = &i2c->dev;
sound/soc/codecs/nau8822.c
1163
i2c_set_clientdata(i2c, nau8822);
sound/soc/codecs/nau8822.c
1165
nau8822->mclk = devm_clk_get_optional(&i2c->dev, "mclk");
sound/soc/codecs/nau8822.c
1167
return dev_err_probe(&i2c->dev, PTR_ERR(nau8822->mclk),
sound/soc/codecs/nau8822.c
1170
nau8822->regmap = devm_regmap_init_i2c(i2c, &nau8822_regmap_config);
sound/soc/codecs/nau8822.c
1173
dev_err(&i2c->dev, "Failed to allocate regmap: %d\n", ret);
sound/soc/codecs/nau8822.c
1181
dev_err(&i2c->dev, "Failed to issue reset: %d\n", ret);
sound/soc/codecs/nau8822.c
1188
dev_err(&i2c->dev, "Failed to register CODEC: %d\n", ret);
sound/soc/codecs/nau8822.c
1199
MODULE_DEVICE_TABLE(i2c, nau8822_i2c_id);
sound/soc/codecs/nau8824.c
1975
static int nau8824_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/nau8824.c
1977
struct device *dev = &i2c->dev;
sound/soc/codecs/nau8824.c
1989
i2c_set_clientdata(i2c, nau8824);
sound/soc/codecs/nau8824.c
1991
nau8824->regmap = devm_regmap_init_i2c(i2c, &nau8824_regmap_config);
sound/soc/codecs/nau8824.c
1996
nau8824->irq = i2c->irq;
sound/soc/codecs/nau8824.c
2015
if (i2c->irq)
sound/soc/codecs/nau8824.c
2026
MODULE_DEVICE_TABLE(i2c, nau8824_i2c_ids);
sound/soc/codecs/nau8825.c
2866
static int nau8825_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/nau8825.c
2868
struct device *dev = &i2c->dev;
sound/soc/codecs/nau8825.c
2869
struct nau8825 *nau8825 = dev_get_platdata(&i2c->dev);
sound/soc/codecs/nau8825.c
2881
i2c_set_clientdata(i2c, nau8825);
sound/soc/codecs/nau8825.c
2883
nau8825->regmap = devm_regmap_init_i2c(i2c, &nau8825_regmap_config);
sound/soc/codecs/nau8825.c
2887
nau8825->irq = i2c->irq;
sound/soc/codecs/nau8825.c
2925
if (i2c->irq)
sound/soc/codecs/nau8825.c
2928
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/nau8825.c
2940
MODULE_DEVICE_TABLE(i2c, nau8825_i2c_ids);
sound/soc/codecs/ntp8835.c
173
ret = ntpfw_load(ntp8835->i2c, NTP8835_FW_NAME, NTP8835_FW_MAGIC);
sound/soc/codecs/ntp8835.c
175
dev_warn_once(&ntp8835->i2c->dev,
sound/soc/codecs/ntp8835.c
222
dev_err(&ntp8835->i2c->dev, "Failed to load firmware\n");
sound/soc/codecs/ntp8835.c
412
static int ntp8835_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/ntp8835.c
418
ntp8835 = devm_kzalloc(&i2c->dev, sizeof(*ntp8835), GFP_KERNEL);
sound/soc/codecs/ntp8835.c
422
ntp8835->i2c = i2c;
sound/soc/codecs/ntp8835.c
424
ntp8835->reset = devm_reset_control_get_shared(&i2c->dev, NULL);
sound/soc/codecs/ntp8835.c
426
return dev_err_probe(&i2c->dev, PTR_ERR(ntp8835->reset),
sound/soc/codecs/ntp8835.c
431
return dev_err_probe(&i2c->dev, ret,
sound/soc/codecs/ntp8835.c
434
dev_set_drvdata(&i2c->dev, ntp8835);
sound/soc/codecs/ntp8835.c
438
regmap = devm_regmap_init_i2c(i2c, &ntp8835_regmap);
sound/soc/codecs/ntp8835.c
440
return dev_err_probe(&i2c->dev, PTR_ERR(regmap),
sound/soc/codecs/ntp8835.c
443
ret = devm_snd_soc_register_component(&i2c->dev, &soc_component_ntp8835,
sound/soc/codecs/ntp8835.c
446
return dev_err_probe(&i2c->dev, ret,
sound/soc/codecs/ntp8835.c
449
ntp8835->mclk = devm_clk_get_enabled(&i2c->dev, "mclk");
sound/soc/codecs/ntp8835.c
451
return dev_err_probe(&i2c->dev, PTR_ERR(ntp8835->mclk), "failed to get mclk\n");
sound/soc/codecs/ntp8835.c
460
MODULE_DEVICE_TABLE(i2c, ntp8835_i2c_id);
sound/soc/codecs/ntp8835.c
64
struct i2c_client *i2c;
sound/soc/codecs/ntp8918.c
105
ret = ntpfw_load(ntp8918->i2c, NTP8918_FW_NAME, NTP8918_FW_MAGIC);
sound/soc/codecs/ntp8918.c
107
dev_warn_once(&ntp8918->i2c->dev, "Could not find firmware %s\n",
sound/soc/codecs/ntp8918.c
155
dev_err(&ntp8918->i2c->dev, "Failed to load firmware\n");
sound/soc/codecs/ntp8918.c
334
static int ntp8918_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/ntp8918.c
340
ntp8918 = devm_kzalloc(&i2c->dev, sizeof(*ntp8918), GFP_KERNEL);
sound/soc/codecs/ntp8918.c
344
ntp8918->i2c = i2c;
sound/soc/codecs/ntp8918.c
346
ntp8918->reset = devm_reset_control_get_shared(&i2c->dev, NULL);
sound/soc/codecs/ntp8918.c
348
return dev_err_probe(&i2c->dev, PTR_ERR(ntp8918->reset), "Failed to get reset\n");
sound/soc/codecs/ntp8918.c
350
dev_set_drvdata(&i2c->dev, ntp8918);
sound/soc/codecs/ntp8918.c
354
regmap = devm_regmap_init_i2c(i2c, &ntp8918_regmap);
sound/soc/codecs/ntp8918.c
356
return dev_err_probe(&i2c->dev, PTR_ERR(regmap),
sound/soc/codecs/ntp8918.c
359
ret = devm_snd_soc_register_component(&i2c->dev, &soc_component_ntp8918,
sound/soc/codecs/ntp8918.c
362
return dev_err_probe(&i2c->dev, ret,
sound/soc/codecs/ntp8918.c
365
ntp8918->bck = devm_clk_get_enabled(&i2c->dev, "bck");
sound/soc/codecs/ntp8918.c
367
return dev_err_probe(&i2c->dev, PTR_ERR(ntp8918->bck), "failed to get bck clock\n");
sound/soc/codecs/ntp8918.c
376
MODULE_DEVICE_TABLE(i2c, ntp8918_i2c_id);
sound/soc/codecs/ntp8918.c
59
struct i2c_client *i2c;
sound/soc/codecs/ntpfw.c
120
ret = ntpfw_send_chunk(i2c, chunk);
sound/soc/codecs/ntpfw.c
71
static int ntpfw_send_chunk(struct i2c_client *i2c, const struct ntpfw_chunk *chunk)
sound/soc/codecs/ntpfw.c
78
ret = i2c_master_send(i2c, &chunk->data[i], chunk->step);
sound/soc/codecs/ntpfw.c
80
dev_err(&i2c->dev, "I2C send failed: %d\n", ret);
sound/soc/codecs/ntpfw.c
88
int ntpfw_load(struct i2c_client *i2c, const char *name, u32 magic)
sound/soc/codecs/ntpfw.c
90
struct device *dev = &i2c->dev;
sound/soc/codecs/ntpfw.h
21
int ntpfw_load(struct i2c_client *i2c, const char *name, const u32 magic);
sound/soc/codecs/pcm1681.c
296
MODULE_DEVICE_TABLE(i2c, pcm1681_i2c_id);
sound/soc/codecs/pcm1789-i2c.c
47
MODULE_DEVICE_TABLE(i2c, pcm1789_i2c_ids);
sound/soc/codecs/pcm179x-i2c.c
44
MODULE_DEVICE_TABLE(i2c, pcm179x_i2c_ids);
sound/soc/codecs/pcm186x-i2c.c
32
MODULE_DEVICE_TABLE(i2c, pcm186x_i2c_id);
sound/soc/codecs/pcm186x-i2c.c
34
static int pcm186x_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/pcm186x-i2c.c
36
const enum pcm186x_type type = (uintptr_t)i2c_get_match_data(i2c);
sound/soc/codecs/pcm186x-i2c.c
37
int irq = i2c->irq;
sound/soc/codecs/pcm186x-i2c.c
40
regmap = devm_regmap_init_i2c(i2c, &pcm186x_regmap);
sound/soc/codecs/pcm186x-i2c.c
44
return pcm186x_probe(&i2c->dev, type, irq, regmap);
sound/soc/codecs/pcm3060-i2c.c
13
static int pcm3060_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/pcm3060-i2c.c
17
priv = devm_kzalloc(&i2c->dev, sizeof(*priv), GFP_KERNEL);
sound/soc/codecs/pcm3060-i2c.c
21
i2c_set_clientdata(i2c, priv);
sound/soc/codecs/pcm3060-i2c.c
23
priv->regmap = devm_regmap_init_i2c(i2c, &pcm3060_regmap);
sound/soc/codecs/pcm3060-i2c.c
27
return pcm3060_probe(&i2c->dev);
sound/soc/codecs/pcm3060-i2c.c
34
MODULE_DEVICE_TABLE(i2c, pcm3060_i2c_id);
sound/soc/codecs/pcm3168a-i2c.c
19
static int pcm3168a_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/pcm3168a-i2c.c
23
regmap = devm_regmap_init_i2c(i2c, &pcm3168a_regmap);
sound/soc/codecs/pcm3168a-i2c.c
27
return pcm3168a_probe(&i2c->dev, regmap);
sound/soc/codecs/pcm3168a-i2c.c
30
static void pcm3168a_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/pcm3168a-i2c.c
32
pcm3168a_remove(&i2c->dev);
sound/soc/codecs/pcm3168a-i2c.c
39
MODULE_DEVICE_TABLE(i2c, pcm3168a_i2c_id);
sound/soc/codecs/pcm512x-i2c.c
16
static int pcm512x_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/pcm512x-i2c.c
25
regmap = devm_regmap_init_i2c(i2c, &config);
sound/soc/codecs/pcm512x-i2c.c
29
return pcm512x_probe(&i2c->dev, regmap);
sound/soc/codecs/pcm512x-i2c.c
32
static void pcm512x_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/pcm512x-i2c.c
34
pcm512x_remove(&i2c->dev);
sound/soc/codecs/pcm512x-i2c.c
47
MODULE_DEVICE_TABLE(i2c, pcm512x_i2c_id);
sound/soc/codecs/pcm6240.c
2053
static int pcmdevice_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/pcm6240.c
2060
pcm_dev = devm_kzalloc(&i2c->dev, sizeof(*pcm_dev), GFP_KERNEL);
sound/soc/codecs/pcm6240.c
2064
pcm_dev->chip_id = (uintptr_t)i2c_get_match_data(i2c);
sound/soc/codecs/pcm6240.c
2066
pcm_dev->dev = &i2c->dev;
sound/soc/codecs/pcm6240.c
2067
pcm_dev->client = i2c;
sound/soc/codecs/pcm6240.c
2081
pcm_dev->regmap = devm_regmap_init_i2c(i2c, &pcmdevice_i2c_regmap);
sound/soc/codecs/pcm6240.c
2084
dev_err(&i2c->dev, "%s: failed to allocate register map: %d\n",
sound/soc/codecs/pcm6240.c
2089
i2c_set_clientdata(i2c, pcm_dev);
sound/soc/codecs/pcm6240.c
2103
dev_addrs[0] = i2c->addr;
sound/soc/codecs/pcm6240.c
2112
pcm_dev->hw_rst = devm_gpiod_get_optional(&i2c->dev,
sound/soc/codecs/pcm6240.c
2134
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/pcm6240.c
2138
dev_err(&i2c->dev, "probe register comp failed %d\n", ret);
sound/soc/codecs/pcm6240.c
2146
static void pcmdevice_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/pcm6240.c
2148
struct pcmdevice_priv *pcm_dev = i2c_get_clientdata(i2c);
sound/soc/codecs/pcm6240.c
53
MODULE_DEVICE_TABLE(i2c, pcmdevice_i2c_id);
sound/soc/codecs/rt1011.c
2207
MODULE_DEVICE_TABLE(i2c, rt1011_i2c_id);
sound/soc/codecs/rt1011.c
2427
static int rt1011_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt1011.c
2433
rt1011 = devm_kzalloc(&i2c->dev, sizeof(struct rt1011_priv),
sound/soc/codecs/rt1011.c
2438
i2c_set_clientdata(i2c, rt1011);
sound/soc/codecs/rt1011.c
2440
rt1011_parse_dp(rt1011, &i2c->dev);
sound/soc/codecs/rt1011.c
2442
rt1011->regmap = devm_regmap_init_i2c(i2c, &rt1011_regmap);
sound/soc/codecs/rt1011.c
2445
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt1011.c
2452
dev_err(&i2c->dev,
sound/soc/codecs/rt1011.c
2459
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt1015.c
1100
MODULE_DEVICE_TABLE(i2c, rt1015_i2c_id);
sound/soc/codecs/rt1015.c
1124
static int rt1015_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt1015.c
1126
struct rt1015_platform_data *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/rt1015.c
1131
rt1015 = devm_kzalloc(&i2c->dev, sizeof(*rt1015), GFP_KERNEL);
sound/soc/codecs/rt1015.c
1135
i2c_set_clientdata(i2c, rt1015);
sound/soc/codecs/rt1015.c
1142
rt1015_parse_dt(rt1015, &i2c->dev);
sound/soc/codecs/rt1015.c
1144
rt1015->regmap = devm_regmap_init_i2c(i2c, &rt1015_regmap);
sound/soc/codecs/rt1015.c
1147
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt1015.c
1154
dev_err(&i2c->dev,
sound/soc/codecs/rt1015.c
1159
dev_err(&i2c->dev,
sound/soc/codecs/rt1015.c
1164
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt1016.c
614
MODULE_DEVICE_TABLE(i2c, rt1016_i2c_id);
sound/soc/codecs/rt1016.c
632
static int rt1016_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt1016.c
638
rt1016 = devm_kzalloc(&i2c->dev, sizeof(struct rt1016_priv),
sound/soc/codecs/rt1016.c
643
i2c_set_clientdata(i2c, rt1016);
sound/soc/codecs/rt1016.c
645
rt1016->regmap = devm_regmap_init_i2c(i2c, &rt1016_regmap);
sound/soc/codecs/rt1016.c
648
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt1016.c
655
dev_err(&i2c->dev,
sound/soc/codecs/rt1016.c
665
dev_warn(&i2c->dev, "Failed to apply regmap patch: %d\n", ret);
sound/soc/codecs/rt1016.c
667
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt1019.c
546
MODULE_DEVICE_TABLE(i2c, rt1019_i2c_id);
sound/soc/codecs/rt1019.c
562
static int rt1019_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt1019.c
568
rt1019 = devm_kzalloc(&i2c->dev, sizeof(struct rt1019_priv),
sound/soc/codecs/rt1019.c
573
i2c_set_clientdata(i2c, rt1019);
sound/soc/codecs/rt1019.c
575
rt1019->regmap = devm_regmap_init_i2c(i2c, &rt1019_regmap);
sound/soc/codecs/rt1019.c
578
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt1019.c
587
dev_err(&i2c->dev,
sound/soc/codecs/rt1019.c
592
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt1305.c
1117
static int rt1305_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt1305.c
1123
rt1305 = devm_kzalloc(&i2c->dev, sizeof(struct rt1305_priv),
sound/soc/codecs/rt1305.c
1128
i2c_set_clientdata(i2c, rt1305);
sound/soc/codecs/rt1305.c
1130
rt1305->regmap = devm_regmap_init_i2c(i2c, &rt1305_regmap);
sound/soc/codecs/rt1305.c
1133
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt1305.c
1140
dev_err(&i2c->dev,
sound/soc/codecs/rt1305.c
1148
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt1305.c
988
MODULE_DEVICE_TABLE(i2c, rt1305_i2c_id);
sound/soc/codecs/rt1308.c
801
MODULE_DEVICE_TABLE(i2c, rt1308_i2c_id);
sound/soc/codecs/rt1308.c
814
static int rt1308_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt1308.c
820
rt1308 = devm_kzalloc(&i2c->dev, sizeof(struct rt1308_priv),
sound/soc/codecs/rt1308.c
825
i2c_set_clientdata(i2c, rt1308);
sound/soc/codecs/rt1308.c
827
rt1308->regmap = devm_regmap_init_i2c(i2c, &rt1308_regmap);
sound/soc/codecs/rt1308.c
830
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt1308.c
838
dev_err(&i2c->dev,
sound/soc/codecs/rt1308.c
845
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt1318.c
1146
MODULE_DEVICE_TABLE(i2c, rt1318_i2c_id);
sound/soc/codecs/rt1318.c
1293
static int rt1318_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt1318.c
1295
struct rt1318_platform_data *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/rt1318.c
1299
rt1318 = devm_kzalloc(&i2c->dev, sizeof(struct rt1318_priv),
sound/soc/codecs/rt1318.c
1304
i2c_set_clientdata(i2c, rt1318);
sound/soc/codecs/rt1318.c
1309
rt1318_parse_dt(rt1318, &i2c->dev);
sound/soc/codecs/rt1318.c
1311
rt1318->regmap = devm_regmap_init_i2c(i2c, &rt1318_regmap);
sound/soc/codecs/rt1318.c
1314
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt1318.c
1323
dev_err(&i2c->dev,
sound/soc/codecs/rt1318.c
1332
dev_warn(&i2c->dev, "Failed to apply regmap patch: %d\n", ret);
sound/soc/codecs/rt1318.c
1336
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt274.c
1104
MODULE_DEVICE_TABLE(i2c, rt274_i2c_id);
sound/soc/codecs/rt274.c
1115
static int rt274_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt274.c
1122
rt274 = devm_kzalloc(&i2c->dev, sizeof(*rt274),
sound/soc/codecs/rt274.c
1127
rt274->regmap = devm_regmap_init(&i2c->dev, NULL, i2c, &rt274_regmap);
sound/soc/codecs/rt274.c
1130
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt274.c
1141
dev_err(&i2c->dev,
sound/soc/codecs/rt274.c
1146
rt274->index_cache = devm_kmemdup(&i2c->dev, rt274_index_def,
sound/soc/codecs/rt274.c
1152
rt274->i2c = i2c;
sound/soc/codecs/rt274.c
1153
i2c_set_clientdata(i2c, rt274);
sound/soc/codecs/rt274.c
1191
if (rt274->i2c->irq) {
sound/soc/codecs/rt274.c
1192
ret = devm_request_threaded_irq(&rt274->i2c->dev, rt274->i2c->irq, NULL, rt274_irq,
sound/soc/codecs/rt274.c
1195
dev_err(&i2c->dev,
sound/soc/codecs/rt274.c
1201
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt274.c
39
struct i2c_client *i2c;
sound/soc/codecs/rt274.c
973
pm_wakeup_event(&rt274->i2c->dev, 300);
sound/soc/codecs/rt274.c
986
if (rt274->i2c->irq)
sound/soc/codecs/rt286.c
1084
MODULE_DEVICE_TABLE(i2c, rt286_i2c_id);
sound/soc/codecs/rt286.c
1135
static int rt286_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt286.c
1137
struct rt286_platform_data *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/rt286.c
1141
rt286 = devm_kzalloc(&i2c->dev, sizeof(*rt286),
sound/soc/codecs/rt286.c
1146
rt286->regmap = devm_regmap_init(&i2c->dev, NULL, i2c, &rt286_regmap);
sound/soc/codecs/rt286.c
1149
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt286.c
1157
dev_err(&i2c->dev, "I2C error %d\n", ret);
sound/soc/codecs/rt286.c
1161
dev_err(&i2c->dev,
sound/soc/codecs/rt286.c
1167
rt286->index_cache = devm_kmemdup(&i2c->dev, rt286_index_def,
sound/soc/codecs/rt286.c
1173
rt286->i2c = i2c;
sound/soc/codecs/rt286.c
1174
i2c_set_clientdata(i2c, rt286);
sound/soc/codecs/rt286.c
1238
if (rt286->i2c->irq) {
sound/soc/codecs/rt286.c
1239
ret = devm_request_threaded_irq(&rt286->i2c->dev, rt286->i2c->irq, NULL, rt286_irq,
sound/soc/codecs/rt286.c
1242
dev_err(&i2c->dev,
sound/soc/codecs/rt286.c
1248
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt286.c
42
struct i2c_client *i2c;
sound/soc/codecs/rt286.c
942
pm_wakeup_event(&rt286->i2c->dev, 300);
sound/soc/codecs/rt286.c
954
if (rt286->i2c->irq)
sound/soc/codecs/rt298.c
1001
pm_wakeup_event(&rt298->i2c->dev, 300);
sound/soc/codecs/rt298.c
1014
if (rt298->i2c->irq)
sound/soc/codecs/rt298.c
1144
MODULE_DEVICE_TABLE(i2c, rt298_i2c_id);
sound/soc/codecs/rt298.c
1180
static int rt298_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt298.c
1182
struct rt298_platform_data *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/rt298.c
1184
struct device *dev = &i2c->dev;
sound/soc/codecs/rt298.c
1188
rt298 = devm_kzalloc(&i2c->dev, sizeof(*rt298),
sound/soc/codecs/rt298.c
1193
rt298->regmap = devm_regmap_init(&i2c->dev, NULL, i2c, &rt298_regmap);
sound/soc/codecs/rt298.c
1196
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt298.c
1204
dev_err(&i2c->dev,
sound/soc/codecs/rt298.c
1209
rt298->index_cache = devm_kmemdup(&i2c->dev, rt298_index_def,
sound/soc/codecs/rt298.c
1215
rt298->i2c = i2c;
sound/soc/codecs/rt298.c
1216
i2c_set_clientdata(i2c, rt298);
sound/soc/codecs/rt298.c
1284
if (rt298->i2c->irq) {
sound/soc/codecs/rt298.c
1285
ret = devm_request_threaded_irq(&rt298->i2c->dev, rt298->i2c->irq, NULL, rt298_irq,
sound/soc/codecs/rt298.c
1288
dev_err(&i2c->dev,
sound/soc/codecs/rt298.c
1294
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt298.c
41
struct i2c_client *i2c;
sound/soc/codecs/rt5514.c
1206
MODULE_DEVICE_TABLE(i2c, rt5514_i2c_id);
sound/soc/codecs/rt5514.c
1251
static int rt5514_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt5514.c
1253
struct rt5514_platform_data *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/rt5514.c
1258
rt5514 = devm_kzalloc(&i2c->dev, sizeof(struct rt5514_priv),
sound/soc/codecs/rt5514.c
1263
i2c_set_clientdata(i2c, rt5514);
sound/soc/codecs/rt5514.c
1268
rt5514_parse_dp(rt5514, &i2c->dev);
sound/soc/codecs/rt5514.c
1270
rt5514->i2c_regmap = devm_regmap_init_i2c(i2c, &rt5514_i2c_regmap);
sound/soc/codecs/rt5514.c
1273
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt5514.c
1278
rt5514->regmap = devm_regmap_init(&i2c->dev, NULL, i2c, &rt5514_regmap);
sound/soc/codecs/rt5514.c
1281
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt5514.c
1296
dev_err(&i2c->dev,
sound/soc/codecs/rt5514.c
1304
dev_warn(&i2c->dev, "Failed to apply i2c_regmap patch: %d\n",
sound/soc/codecs/rt5514.c
1310
dev_warn(&i2c->dev, "Failed to apply regmap patch: %d\n", ret);
sound/soc/codecs/rt5514.c
1312
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt5575.c
245
struct i2c_client *i2c = rt5575->i2c;
sound/soc/codecs/rt5575.c
247
struct device *dev = &i2c->dev;
sound/soc/codecs/rt5575.c
278
static int rt5575_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt5575.c
282
struct device *dev = &i2c->dev;
sound/soc/codecs/rt5575.c
288
i2c_set_clientdata(i2c, rt5575);
sound/soc/codecs/rt5575.c
290
rt5575->i2c = i2c;
sound/soc/codecs/rt5575.c
292
rt5575->dsp_regmap = devm_regmap_init_i2c(i2c, &rt5575_dsp_regmap);
sound/soc/codecs/rt5575.c
299
rt5575->regmap = devm_regmap_init(dev, NULL, i2c, &rt5575_regmap);
sound/soc/codecs/rt5575.c
331
MODULE_DEVICE_TABLE(i2c, rt5575_i2c_id);
sound/soc/codecs/rt5575.h
53
struct i2c_client *i2c;
sound/soc/codecs/rt5616.c
1327
MODULE_DEVICE_TABLE(i2c, rt5616_i2c_id);
sound/soc/codecs/rt5616.c
1337
static int rt5616_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt5616.c
1343
rt5616 = devm_kzalloc(&i2c->dev, sizeof(struct rt5616_priv),
sound/soc/codecs/rt5616.c
1348
i2c_set_clientdata(i2c, rt5616);
sound/soc/codecs/rt5616.c
1350
rt5616->regmap = devm_regmap_init_i2c(i2c, &rt5616_regmap);
sound/soc/codecs/rt5616.c
1353
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt5616.c
1360
dev_err(&i2c->dev,
sound/soc/codecs/rt5616.c
1379
dev_warn(&i2c->dev, "Failed to apply regmap patch: %d\n", ret);
sound/soc/codecs/rt5616.c
1384
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt5616.c
1389
static void rt5616_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/rt5631.c
1678
MODULE_DEVICE_TABLE(i2c, rt5631_i2c_id);
sound/soc/codecs/rt5631.c
1703
static int rt5631_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt5631.c
1708
rt5631 = devm_kzalloc(&i2c->dev, sizeof(struct rt5631_priv),
sound/soc/codecs/rt5631.c
1713
i2c_set_clientdata(i2c, rt5631);
sound/soc/codecs/rt5631.c
1715
rt5631->regmap = devm_regmap_init_i2c(i2c, &rt5631_regmap_config);
sound/soc/codecs/rt5631.c
1719
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt5640.c
2961
MODULE_DEVICE_TABLE(i2c, rt5640_i2c_id);
sound/soc/codecs/rt5640.c
2984
static int rt5640_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt5640.c
2990
rt5640 = devm_kzalloc(&i2c->dev,
sound/soc/codecs/rt5640.c
2995
i2c_set_clientdata(i2c, rt5640);
sound/soc/codecs/rt5640.c
2997
rt5640->ldo1_en = devm_gpiod_get_optional(&i2c->dev,
sound/soc/codecs/rt5640.c
3008
rt5640->regmap = devm_regmap_init_i2c(i2c, &rt5640_regmap);
sound/soc/codecs/rt5640.c
3011
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt5640.c
3023
dev_err(&i2c->dev,
sound/soc/codecs/rt5640.c
3033
dev_warn(&i2c->dev, "Failed to apply regmap patch: %d\n", ret);
sound/soc/codecs/rt5640.c
3039
rt5640->irq = i2c->irq;
sound/soc/codecs/rt5640.c
3044
ret = devm_add_action_or_reset(&i2c->dev, rt5640_disable_irq_and_cancel_work, rt5640);
sound/soc/codecs/rt5640.c
3048
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt5645.c
3653
MODULE_DEVICE_TABLE(i2c, rt5645_i2c_id);
sound/soc/codecs/rt5645.c
3999
static int rt5645_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt5645.c
4006
rt5645 = devm_kzalloc(&i2c->dev, sizeof(struct rt5645_priv),
sound/soc/codecs/rt5645.c
4011
rt5645->i2c = i2c;
sound/soc/codecs/rt5645.c
4012
i2c_set_clientdata(i2c, rt5645);
sound/soc/codecs/rt5645.c
4013
rt5645_get_pdata(&i2c->dev, &rt5645->pdata);
sound/soc/codecs/rt5645.c
4015
if (has_acpi_companion(&i2c->dev)) {
sound/soc/codecs/rt5645.c
4017
if (devm_acpi_dev_add_driver_gpios(&i2c->dev, cht_rt5645_gpios))
sound/soc/codecs/rt5645.c
4018
dev_dbg(&i2c->dev, "Failed to add driver gpios\n");
sound/soc/codecs/rt5645.c
4022
if (acpi_dev_hid_uid_match(ACPI_COMPANION(&i2c->dev), "10EC3270", NULL))
sound/soc/codecs/rt5645.c
4026
rt5645->gpiod_hp_det = devm_gpiod_get_optional(&i2c->dev, "hp-detect",
sound/soc/codecs/rt5645.c
4030
dev_info(&i2c->dev, "failed to initialize gpiod\n");
sound/soc/codecs/rt5645.c
4040
rt5645->gpiod_cbj_sleeve = devm_gpiod_get_optional(&i2c->dev, "cbj-sleeve",
sound/soc/codecs/rt5645.c
4045
dev_info(&i2c->dev, "failed to initialize gpiod, ret=%d\n", ret);
sound/soc/codecs/rt5645.c
4053
ret = devm_regulator_bulk_get(&i2c->dev,
sound/soc/codecs/rt5645.c
4057
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/rt5645.c
4064
dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret);
sound/soc/codecs/rt5645.c
4068
regmap = devm_regmap_init_i2c(i2c, &temp_regmap);
sound/soc/codecs/rt5645.c
4071
dev_err(&i2c->dev, "Failed to allocate temp register map: %d\n",
sound/soc/codecs/rt5645.c
4083
dev_err(&i2c->dev, "Failed to read: 0x%02X\n, ret = %d", RT5645_VENDOR_ID2, ret);
sound/soc/codecs/rt5645.c
4089
rt5645->regmap = devm_regmap_init_i2c(i2c, &rt5645_regmap);
sound/soc/codecs/rt5645.c
4093
rt5645->regmap = devm_regmap_init_i2c(i2c, &rt5650_regmap);
sound/soc/codecs/rt5645.c
4097
dev_err(&i2c->dev,
sound/soc/codecs/rt5645.c
4106
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt5645.c
4121
dev_warn(&i2c->dev, "Failed to apply regmap patch: %d\n", ret);
sound/soc/codecs/rt5645.c
4127
dev_warn(&i2c->dev, "Apply rt5650 patch failed: %d\n",
sound/soc/codecs/rt5645.c
4256
if (rt5645->i2c->irq) {
sound/soc/codecs/rt5645.c
4257
ret = request_threaded_irq(rt5645->i2c->irq, NULL, rt5645_irq,
sound/soc/codecs/rt5645.c
4261
dev_err(&i2c->dev, "Failed to request IRQ: %d\n", ret);
sound/soc/codecs/rt5645.c
4266
ret = devm_snd_soc_register_component(&i2c->dev, &soc_component_dev_rt5645,
sound/soc/codecs/rt5645.c
4274
if (rt5645->i2c->irq)
sound/soc/codecs/rt5645.c
4275
free_irq(rt5645->i2c->irq, rt5645);
sound/soc/codecs/rt5645.c
4281
static void rt5645_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/rt5645.c
4283
struct rt5645_priv *rt5645 = i2c_get_clientdata(i2c);
sound/soc/codecs/rt5645.c
4285
if (i2c->irq)
sound/soc/codecs/rt5645.c
4286
free_irq(i2c->irq, rt5645);
sound/soc/codecs/rt5645.c
4303
static void rt5645_i2c_shutdown(struct i2c_client *i2c)
sound/soc/codecs/rt5645.c
4305
struct rt5645_priv *rt5645 = i2c_get_clientdata(i2c);
sound/soc/codecs/rt5645.c
447
struct i2c_client *i2c;
sound/soc/codecs/rt5651.c
2208
MODULE_DEVICE_TABLE(i2c, rt5651_i2c_id);
sound/soc/codecs/rt5651.c
2214
static int rt5651_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt5651.c
2220
rt5651 = devm_kzalloc(&i2c->dev, sizeof(*rt5651),
sound/soc/codecs/rt5651.c
2225
i2c_set_clientdata(i2c, rt5651);
sound/soc/codecs/rt5651.c
2227
rt5651->regmap = devm_regmap_init_i2c(i2c, &rt5651_regmap);
sound/soc/codecs/rt5651.c
2230
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt5651.c
2240
dev_err(&i2c->dev,
sound/soc/codecs/rt5651.c
2250
dev_warn(&i2c->dev, "Failed to apply regmap patch: %d\n", ret);
sound/soc/codecs/rt5651.c
2252
rt5651->irq = i2c->irq;
sound/soc/codecs/rt5651.c
2259
ret = devm_add_action_or_reset(&i2c->dev, rt5651_cancel_work, rt5651);
sound/soc/codecs/rt5651.c
2263
ret = devm_request_irq(&i2c->dev, rt5651->irq, rt5651_irq,
sound/soc/codecs/rt5651.c
2267
dev_warn(&i2c->dev, "Failed to request IRQ %d: %d\n",
sound/soc/codecs/rt5651.c
2272
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt5659.c
3821
MODULE_DEVICE_TABLE(i2c, rt5659_i2c_id);
sound/soc/codecs/rt5659.c
4093
static int rt5659_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt5659.c
4095
struct rt5659_platform_data *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/rt5659.c
4100
rt5659 = devm_kzalloc(&i2c->dev, sizeof(struct rt5659_priv),
sound/soc/codecs/rt5659.c
4106
i2c_set_clientdata(i2c, rt5659);
sound/soc/codecs/rt5659.c
4111
rt5659_parse_dt(rt5659, &i2c->dev);
sound/soc/codecs/rt5659.c
4113
rt5659->gpiod_ldo1_en = devm_gpiod_get_optional(&i2c->dev, "ldo1-en",
sound/soc/codecs/rt5659.c
4116
dev_warn(&i2c->dev, "Request ldo1-en GPIO failed\n");
sound/soc/codecs/rt5659.c
4118
rt5659->gpiod_reset = devm_gpiod_get_optional(&i2c->dev, "reset",
sound/soc/codecs/rt5659.c
4124
rt5659->regmap = devm_regmap_init_i2c(i2c, &rt5659_regmap);
sound/soc/codecs/rt5659.c
4127
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt5659.c
4134
dev_err(&i2c->dev,
sound/soc/codecs/rt5659.c
4142
rt5659->mclk = devm_clk_get_optional(&i2c->dev, "mclk");
sound/soc/codecs/rt5659.c
4198
dev_dbg(&i2c->dev, "no DMIC1\n");
sound/soc/codecs/rt5659.c
4244
dev_dbg(&i2c->dev, "no DMIC2\n");
sound/soc/codecs/rt5659.c
4289
if (i2c->irq) {
sound/soc/codecs/rt5659.c
4290
ret = devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL,
sound/soc/codecs/rt5659.c
4294
dev_err(&i2c->dev, "Failed to request IRQ: %d\n", ret);
sound/soc/codecs/rt5659.c
4301
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt5660.c
1231
MODULE_DEVICE_TABLE(i2c, rt5660_i2c_id);
sound/soc/codecs/rt5660.c
1264
static int rt5660_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt5660.c
1266
struct rt5660_platform_data *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/rt5660.c
1271
rt5660 = devm_kzalloc(&i2c->dev, sizeof(struct rt5660_priv),
sound/soc/codecs/rt5660.c
1278
rt5660->mclk = devm_clk_get_optional(&i2c->dev, "mclk");
sound/soc/codecs/rt5660.c
1282
i2c_set_clientdata(i2c, rt5660);
sound/soc/codecs/rt5660.c
1286
else if (i2c->dev.of_node)
sound/soc/codecs/rt5660.c
1287
rt5660_parse_dt(rt5660, &i2c->dev);
sound/soc/codecs/rt5660.c
1289
rt5660->regmap = devm_regmap_init_i2c(i2c, &rt5660_regmap);
sound/soc/codecs/rt5660.c
1292
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt5660.c
1299
dev_err(&i2c->dev,
sound/soc/codecs/rt5660.c
1309
dev_warn(&i2c->dev, "Failed to apply regmap patch: %d\n", ret);
sound/soc/codecs/rt5660.c
1332
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt5663.c
3313
MODULE_DEVICE_TABLE(i2c, rt5663_i2c_id);
sound/soc/codecs/rt5663.c
3502
static int rt5663_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt5663.c
3504
struct rt5663_platform_data *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/rt5663.c
3510
rt5663 = devm_kzalloc(&i2c->dev, sizeof(struct rt5663_priv),
sound/soc/codecs/rt5663.c
3516
i2c_set_clientdata(i2c, rt5663);
sound/soc/codecs/rt5663.c
3521
ret = rt5663_parse_dp(rt5663, &i2c->dev);
sound/soc/codecs/rt5663.c
3529
ret = devm_regulator_bulk_get(&i2c->dev,
sound/soc/codecs/rt5663.c
3533
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/rt5663.c
3542
dev_err(&i2c->dev,
sound/soc/codecs/rt5663.c
3553
dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret);
sound/soc/codecs/rt5663.c
3558
regmap = devm_regmap_init_i2c(i2c, &temp_regmap);
sound/soc/codecs/rt5663.c
3561
dev_err(&i2c->dev, "Failed to allocate temp register map: %d\n",
sound/soc/codecs/rt5663.c
3568
dev_err(&i2c->dev,
sound/soc/codecs/rt5663.c
3577
rt5663->regmap = devm_regmap_init_i2c(i2c, &rt5663_v2_regmap);
sound/soc/codecs/rt5663.c
3581
rt5663->regmap = devm_regmap_init_i2c(i2c, &rt5663_regmap);
sound/soc/codecs/rt5663.c
3585
dev_err(&i2c->dev,
sound/soc/codecs/rt5663.c
3594
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt5663.c
3610
dev_err(&i2c->dev, "%s:Unknown codec type\n", __func__);
sound/soc/codecs/rt5663.c
3614
dev_dbg(&i2c->dev, "calibrate done\n");
sound/soc/codecs/rt5663.c
3623
dev_warn(&i2c->dev,
sound/soc/codecs/rt5663.c
3627
dev_err(&i2c->dev, "%s:Unknown codec type\n", __func__);
sound/soc/codecs/rt5663.c
3684
dev_err(&i2c->dev, "%s:Unknown codec type\n", __func__);
sound/soc/codecs/rt5663.c
3690
if (i2c->irq) {
sound/soc/codecs/rt5663.c
3691
ret = request_irq(i2c->irq, rt5663_irq,
sound/soc/codecs/rt5663.c
3695
dev_err(&i2c->dev, "%s Failed to request IRQ: %d\n",
sound/soc/codecs/rt5663.c
3699
rt5663->irq = i2c->irq;
sound/soc/codecs/rt5663.c
3702
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt5663.c
3717
if (i2c->irq)
sound/soc/codecs/rt5663.c
3718
free_irq(i2c->irq, rt5663);
sound/soc/codecs/rt5663.c
3724
static void rt5663_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/rt5663.c
3726
struct rt5663_priv *rt5663 = i2c_get_clientdata(i2c);
sound/soc/codecs/rt5663.c
3728
if (i2c->irq)
sound/soc/codecs/rt5663.c
3729
free_irq(i2c->irq, rt5663);
sound/soc/codecs/rt5665.c
4540
MODULE_DEVICE_TABLE(i2c, rt5665_i2c_id);
sound/soc/codecs/rt5665.c
4656
static int rt5665_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt5665.c
4658
struct rt5665_platform_data *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/rt5665.c
4663
rt5665 = devm_kzalloc(&i2c->dev, sizeof(struct rt5665_priv),
sound/soc/codecs/rt5665.c
4669
i2c_set_clientdata(i2c, rt5665);
sound/soc/codecs/rt5665.c
4674
rt5665_parse_dt(rt5665, &i2c->dev);
sound/soc/codecs/rt5665.c
4676
ret = devm_regulator_bulk_get_enable(&i2c->dev, ARRAY_SIZE(rt5665_supply_names),
sound/soc/codecs/rt5665.c
4679
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/rt5665.c
4683
rt5665->gpiod_ldo1_en = devm_gpiod_get_optional(&i2c->dev,
sound/soc/codecs/rt5665.c
4687
dev_err(&i2c->dev, "Failed gpio request ldo1_en\n");
sound/soc/codecs/rt5665.c
4694
rt5665->regmap = devm_regmap_init_i2c(i2c, &rt5665_regmap);
sound/soc/codecs/rt5665.c
4697
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt5665.c
4704
dev_err(&i2c->dev,
sound/soc/codecs/rt5665.c
4757
dev_dbg(&i2c->dev, "no DMIC1\n");
sound/soc/codecs/rt5665.c
4777
dev_dbg(&i2c->dev, "no DMIC2\n");
sound/soc/codecs/rt5665.c
4815
if (i2c->irq) {
sound/soc/codecs/rt5665.c
4816
ret = devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL,
sound/soc/codecs/rt5665.c
4820
dev_err(&i2c->dev, "Failed to request IRQ: %d\n", ret);
sound/soc/codecs/rt5665.c
4824
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt5668.c
2340
MODULE_DEVICE_TABLE(i2c, rt5668_i2c_id);
sound/soc/codecs/rt5668.c
2408
static int rt5668_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt5668.c
2410
struct rt5668_platform_data *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/rt5668.c
2415
rt5668 = devm_kzalloc(&i2c->dev, sizeof(struct rt5668_priv),
sound/soc/codecs/rt5668.c
2421
i2c_set_clientdata(i2c, rt5668);
sound/soc/codecs/rt5668.c
2426
rt5668_parse_dt(rt5668, &i2c->dev);
sound/soc/codecs/rt5668.c
2428
rt5668->regmap = devm_regmap_init_i2c(i2c, &rt5668_regmap);
sound/soc/codecs/rt5668.c
2431
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt5668.c
2439
ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(rt5668->supplies),
sound/soc/codecs/rt5668.c
2442
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/rt5668.c
2449
dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret);
sound/soc/codecs/rt5668.c
2453
rt5668->ldo1_en = devm_gpiod_get_optional(&i2c->dev,
sound/soc/codecs/rt5668.c
2457
dev_err(&i2c->dev, "Fail gpio request ldo1_en\n");
sound/soc/codecs/rt5668.c
2497
dev_dbg(&i2c->dev, "invalid DMIC_DAT pin\n");
sound/soc/codecs/rt5668.c
2513
dev_dbg(&i2c->dev, "invalid DMIC_CLK pin\n");
sound/soc/codecs/rt5668.c
2534
if (i2c->irq) {
sound/soc/codecs/rt5668.c
2535
ret = devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL,
sound/soc/codecs/rt5668.c
2539
dev_err(&i2c->dev, "Failed to request IRQ: %d\n", ret);
sound/soc/codecs/rt5668.c
2543
return devm_snd_soc_register_component(&i2c->dev, &soc_component_dev_rt5668,
sound/soc/codecs/rt5670.c
2884
MODULE_DEVICE_TABLE(i2c, rt5670_i2c_id);
sound/soc/codecs/rt5670.c
3053
static int rt5670_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt5670.c
3059
rt5670 = devm_kzalloc(&i2c->dev,
sound/soc/codecs/rt5670.c
3065
i2c_set_clientdata(i2c, rt5670);
sound/soc/codecs/rt5670.c
3069
dev_info(&i2c->dev, "Overriding quirk 0x%x => 0x%x\n",
sound/soc/codecs/rt5670.c
3076
dev_info(&i2c->dev, "quirk GPIO1 is IRQ\n");
sound/soc/codecs/rt5670.c
3080
dev_info(&i2c->dev, "quirk GPIO1 is external speaker enable\n");
sound/soc/codecs/rt5670.c
3084
dev_info(&i2c->dev, "quirk IN2_DIFF\n");
sound/soc/codecs/rt5670.c
3088
dev_info(&i2c->dev, "quirk DMIC enabled\n");
sound/soc/codecs/rt5670.c
3092
dev_info(&i2c->dev, "quirk DMIC1 on IN2P pin\n");
sound/soc/codecs/rt5670.c
3096
dev_info(&i2c->dev, "quirk DMIC1 on GPIO6 pin\n");
sound/soc/codecs/rt5670.c
3100
dev_info(&i2c->dev, "quirk DMIC1 on GPIO7 pin\n");
sound/soc/codecs/rt5670.c
3104
dev_info(&i2c->dev, "quirk DMIC2 on INR pin\n");
sound/soc/codecs/rt5670.c
3108
dev_info(&i2c->dev, "quirk DMIC2 on GPIO8 pin\n");
sound/soc/codecs/rt5670.c
3112
dev_info(&i2c->dev, "quirk DMIC3 on GPIO5 pin\n");
sound/soc/codecs/rt5670.c
3117
dev_info(&i2c->dev, "quirk JD mode 1\n");
sound/soc/codecs/rt5670.c
3121
dev_info(&i2c->dev, "quirk JD mode 2\n");
sound/soc/codecs/rt5670.c
3125
dev_info(&i2c->dev, "quirk JD mode 3\n");
sound/soc/codecs/rt5670.c
3138
rt5670->regmap = devm_regmap_init_i2c(i2c, &rt5670_regmap);
sound/soc/codecs/rt5670.c
3141
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt5670.c
3148
dev_err(&i2c->dev,
sound/soc/codecs/rt5670.c
3170
dev_warn(&i2c->dev, "Failed to apply regmap patch: %d\n", ret);
sound/soc/codecs/rt5670.c
3300
dev_err(&i2c->dev,
sound/soc/codecs/rt5670.c
3310
pm_runtime_enable(&i2c->dev);
sound/soc/codecs/rt5670.c
3311
pm_request_idle(&i2c->dev);
sound/soc/codecs/rt5670.c
3313
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt5670.c
3321
pm_runtime_disable(&i2c->dev);
sound/soc/codecs/rt5670.c
3326
static void rt5670_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/rt5670.c
3328
pm_runtime_disable(&i2c->dev);
sound/soc/codecs/rt5677.c
4845
static void rt5677_init_gpio(struct i2c_client *i2c)
sound/soc/codecs/rt5677.c
4847
struct rt5677_priv *rt5677 = i2c_get_clientdata(i2c);
sound/soc/codecs/rt5677.c
4852
rt5677->gpio_chip.parent = &i2c->dev;
sound/soc/codecs/rt5677.c
4857
dev_err(&i2c->dev, "Failed to add GPIOs: %d\n", ret);
sound/soc/codecs/rt5677.c
4860
static void rt5677_free_gpio(struct i2c_client *i2c)
sound/soc/codecs/rt5677.c
4862
struct rt5677_priv *rt5677 = i2c_get_clientdata(i2c);
sound/soc/codecs/rt5677.c
4872
static void rt5677_init_gpio(struct i2c_client *i2c)
sound/soc/codecs/rt5677.c
4876
static void rt5677_free_gpio(struct i2c_client *i2c)
sound/soc/codecs/rt5677.c
5464
static int rt5677_init_irq(struct i2c_client *i2c)
sound/soc/codecs/rt5677.c
5467
struct rt5677_priv *rt5677 = i2c_get_clientdata(i2c);
sound/soc/codecs/rt5677.c
5475
if (!i2c->irq) {
sound/soc/codecs/rt5677.c
5476
dev_err(&i2c->dev, "No interrupt specified\n");
sound/soc/codecs/rt5677.c
5514
rt5677->domain = irq_domain_create_linear(dev_fwnode(&i2c->dev),
sound/soc/codecs/rt5677.c
5517
dev_err(&i2c->dev, "Failed to create IRQ domain\n");
sound/soc/codecs/rt5677.c
5521
ret = devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL, rt5677_irq,
sound/soc/codecs/rt5677.c
5525
dev_err(&i2c->dev, "Failed to request IRQ: %d\n", ret);
sound/soc/codecs/rt5677.c
5527
rt5677->irq = i2c->irq;
sound/soc/codecs/rt5677.c
5532
static int rt5677_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt5677.c
5534
struct device *dev = &i2c->dev;
sound/soc/codecs/rt5677.c
5539
rt5677 = devm_kzalloc(&i2c->dev, sizeof(struct rt5677_priv),
sound/soc/codecs/rt5677.c
5544
rt5677->dev = &i2c->dev;
sound/soc/codecs/rt5677.c
5547
i2c_set_clientdata(i2c, rt5677);
sound/soc/codecs/rt5677.c
5553
rt5677_read_device_properties(rt5677, &i2c->dev);
sound/soc/codecs/rt5677.c
5559
rt5677->pow_ldo2 = devm_gpiod_get_optional(&i2c->dev,
sound/soc/codecs/rt5677.c
5563
dev_err(&i2c->dev, "Failed to request POW_LDO2: %d\n", ret);
sound/soc/codecs/rt5677.c
5566
rt5677->reset_pin = devm_gpiod_get_optional(&i2c->dev,
sound/soc/codecs/rt5677.c
5570
dev_err(&i2c->dev, "Failed to request RESET: %d\n", ret);
sound/soc/codecs/rt5677.c
5582
rt5677->regmap_physical = devm_regmap_init_i2c(i2c,
sound/soc/codecs/rt5677.c
5586
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt5677.c
5591
rt5677->regmap = devm_regmap_init(&i2c->dev, NULL, i2c, &rt5677_regmap);
sound/soc/codecs/rt5677.c
5594
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt5677.c
5601
dev_err(&i2c->dev,
sound/soc/codecs/rt5677.c
5611
dev_warn(&i2c->dev, "Failed to apply regmap patch: %d\n", ret);
sound/soc/codecs/rt5677.c
5647
rt5677_init_gpio(i2c);
sound/soc/codecs/rt5677.c
5648
ret = rt5677_init_irq(i2c);
sound/soc/codecs/rt5677.c
5650
dev_err(&i2c->dev, "Failed to initialize irq: %d\n", ret);
sound/soc/codecs/rt5677.c
5652
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt5677.c
5657
static void rt5677_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/rt5677.c
5659
rt5677_free_gpio(i2c);
sound/soc/codecs/rt5682-i2c.c
119
static int rt5682_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt5682-i2c.c
121
struct rt5682_platform_data *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/rt5682-i2c.c
126
rt5682 = devm_kzalloc(&i2c->dev, sizeof(struct rt5682_priv),
sound/soc/codecs/rt5682-i2c.c
131
i2c_set_clientdata(i2c, rt5682);
sound/soc/codecs/rt5682-i2c.c
133
rt5682->i2c_dev = &i2c->dev;
sound/soc/codecs/rt5682-i2c.c
140
rt5682_parse_dt(rt5682, &i2c->dev);
sound/soc/codecs/rt5682-i2c.c
142
rt5682->regmap = devm_regmap_init_i2c(i2c, &rt5682_regmap);
sound/soc/codecs/rt5682-i2c.c
145
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/rt5682-i2c.c
153
ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(rt5682->supplies),
sound/soc/codecs/rt5682-i2c.c
156
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/rt5682-i2c.c
163
dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret);
sound/soc/codecs/rt5682-i2c.c
167
ret = devm_add_action_or_reset(&i2c->dev, rt5682_i2c_disable_regulators,
sound/soc/codecs/rt5682-i2c.c
172
ret = rt5682_get_ldo1(rt5682, &i2c->dev);
sound/soc/codecs/rt5682-i2c.c
184
dev_err(&i2c->dev,
sound/soc/codecs/rt5682-i2c.c
191
dev_dbg(&i2c->dev, "ALC5682I-VE device\n");
sound/soc/codecs/rt5682-i2c.c
198
rt5682_apply_patch_list(rt5682, &i2c->dev);
sound/soc/codecs/rt5682-i2c.c
220
dev_warn(&i2c->dev, "invalid DMIC_DAT pin\n");
sound/soc/codecs/rt5682-i2c.c
241
dev_warn(&i2c->dev, "invalid DMIC_CLK pin\n");
sound/soc/codecs/rt5682-i2c.c
268
if (i2c->irq) {
sound/soc/codecs/rt5682-i2c.c
269
ret = devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL,
sound/soc/codecs/rt5682-i2c.c
273
rt5682->irq = i2c->irq;
sound/soc/codecs/rt5682-i2c.c
275
dev_err(&i2c->dev, "Failed to request IRQ: %d\n", ret);
sound/soc/codecs/rt5682-i2c.c
280
rt5682->mclk = devm_clk_get_optional(&i2c->dev, "mclk");
sound/soc/codecs/rt5682-i2c.c
293
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt5682-i2c.c
330
MODULE_DEVICE_TABLE(i2c, rt5682_i2c_id);
sound/soc/codecs/rt5682s.c
3113
static int rt5682s_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt5682s.c
3115
struct rt5682s_platform_data *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/rt5682s.c
3120
rt5682s = devm_kzalloc(&i2c->dev, sizeof(struct rt5682s_priv), GFP_KERNEL);
sound/soc/codecs/rt5682s.c
3124
i2c_set_clientdata(i2c, rt5682s);
sound/soc/codecs/rt5682s.c
3131
rt5682s_parse_dt(rt5682s, &i2c->dev);
sound/soc/codecs/rt5682s.c
3133
rt5682s->regmap = devm_regmap_init_i2c(i2c, &rt5682s_regmap);
sound/soc/codecs/rt5682s.c
3136
dev_err(&i2c->dev, "Failed to allocate register map: %d\n", ret);
sound/soc/codecs/rt5682s.c
3143
ret = devm_regulator_bulk_get(&i2c->dev,
sound/soc/codecs/rt5682s.c
3146
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/rt5682s.c
3150
ret = devm_add_action_or_reset(&i2c->dev, rt5682s_i2c_disable_regulators, rt5682s);
sound/soc/codecs/rt5682s.c
3156
dev_err(&i2c->dev, "Failed to enable supply MICVDD: %d\n", ret);
sound/soc/codecs/rt5682s.c
3163
dev_err(&i2c->dev, "Failed to enable supply AVDD: %d\n", ret);
sound/soc/codecs/rt5682s.c
3169
dev_err(&i2c->dev, "Failed to enable supply DBVDD: %d\n", ret);
sound/soc/codecs/rt5682s.c
3175
dev_err(&i2c->dev, "Failed to enable supply LDO1-IN: %d\n", ret);
sound/soc/codecs/rt5682s.c
3179
rt5682s->ldo1_en = devm_gpiod_get_optional(&i2c->dev,
sound/soc/codecs/rt5682s.c
3183
dev_err(&i2c->dev, "Fail gpio request ldo1_en\n");
sound/soc/codecs/rt5682s.c
3192
dev_err(&i2c->dev, "Device with ID register %x is not rt5682s\n", val);
sound/soc/codecs/rt5682s.c
3197
rt5682s_apply_patch_list(rt5682s, &i2c->dev);
sound/soc/codecs/rt5682s.c
3237
dev_warn(&i2c->dev, "invalid DMIC_DAT pin\n");
sound/soc/codecs/rt5682s.c
3257
dev_warn(&i2c->dev, "invalid DMIC_CLK pin\n");
sound/soc/codecs/rt5682s.c
3278
dev_warn(&i2c->dev, "invalid LDO output setting.\n");
sound/soc/codecs/rt5682s.c
3285
if (i2c->irq) {
sound/soc/codecs/rt5682s.c
3286
ret = devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL, rt5682s_irq,
sound/soc/codecs/rt5682s.c
3290
rt5682s->irq = i2c->irq;
sound/soc/codecs/rt5682s.c
3292
dev_err(&i2c->dev, "Failed to request IRQ: %d\n", ret);
sound/soc/codecs/rt5682s.c
3295
return devm_snd_soc_register_component(&i2c->dev, &rt5682s_soc_component_dev,
sound/soc/codecs/rt5682s.c
3331
MODULE_DEVICE_TABLE(i2c, rt5682s_i2c_id);
sound/soc/codecs/rt9120.c
390
struct i2c_client *i2c = to_i2c_client(data->dev);
sound/soc/codecs/rt9120.c
395
ret = i2c_smbus_read_i2c_block_data(i2c, reg, size, raw);
sound/soc/codecs/rt9120.c
421
struct i2c_client *i2c = to_i2c_client(data->dev);
sound/soc/codecs/rt9120.c
428
return i2c_smbus_write_i2c_block_data(i2c, reg, size, rawp + offs);
sound/soc/codecs/rt9120.c
516
static int rt9120_probe(struct i2c_client *i2c)
sound/soc/codecs/rt9120.c
522
data = devm_kzalloc(&i2c->dev, sizeof(*data), GFP_KERNEL);
sound/soc/codecs/rt9120.c
526
data->dev = &i2c->dev;
sound/soc/codecs/rt9120.c
527
i2c_set_clientdata(i2c, data);
sound/soc/codecs/rt9120.c
529
data->pwdnn_gpio = devm_gpiod_get_optional(&i2c->dev, "pwdnn",
sound/soc/codecs/rt9120.c
532
dev_err(&i2c->dev, "Failed to initialize 'pwdnn' gpio\n");
sound/soc/codecs/rt9120.c
535
dev_dbg(&i2c->dev, "'pwdnn' from low to high, wait chip on\n");
sound/soc/codecs/rt9120.c
539
data->regmap = devm_regmap_init(&i2c->dev, NULL, data,
sound/soc/codecs/rt9120.c
543
dev_err(&i2c->dev, "Failed to init regmap [%d]\n", ret);
sound/soc/codecs/rt9120.c
549
dev_err(&i2c->dev, "Failed to check vendor info\n");
sound/soc/codecs/rt9120.c
555
dev_err(&i2c->dev, "Failed to do register reset\n");
sound/soc/codecs/rt9120.c
559
dvdd_supply = devm_regulator_get(&i2c->dev, "dvdd");
sound/soc/codecs/rt9120.c
561
dev_err(&i2c->dev, "No dvdd regulator found\n");
sound/soc/codecs/rt9120.c
567
dev_dbg(&i2c->dev, "dvdd low voltage design\n");
sound/soc/codecs/rt9120.c
571
dev_err(&i2c->dev, "Failed to config dvdd uvsel\n");
sound/soc/codecs/rt9120.c
576
pm_runtime_set_autosuspend_delay(&i2c->dev, 1000);
sound/soc/codecs/rt9120.c
577
pm_runtime_use_autosuspend(&i2c->dev);
sound/soc/codecs/rt9120.c
578
pm_runtime_set_active(&i2c->dev);
sound/soc/codecs/rt9120.c
579
pm_runtime_mark_last_busy(&i2c->dev);
sound/soc/codecs/rt9120.c
580
pm_runtime_enable(&i2c->dev);
sound/soc/codecs/rt9120.c
582
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/rt9120.c
587
static void rt9120_remove(struct i2c_client *i2c)
sound/soc/codecs/rt9120.c
589
pm_runtime_disable(&i2c->dev);
sound/soc/codecs/rt9120.c
590
pm_runtime_set_suspended(&i2c->dev);
sound/soc/codecs/rt9123.c
377
static int rt9123_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/rt9123.c
379
struct device *dev = &i2c->dev;
sound/soc/codecs/rt9123.c
399
ret = i2c_smbus_read_i2c_block_data(i2c, RT9123_REG_COMBOID, sizeof(value), (u8 *)&value);
sound/soc/codecs/rt9123.c
409
ret = i2c_smbus_write_i2c_block_data(i2c, RT9123_REG_AMPCTRL, sizeof(value), (u8 *)&value);
sound/soc/codecs/rt9123.c
416
regmap = devm_regmap_init_i2c(i2c, &rt9123_regmap_config);
sound/soc/codecs/rt9123.c
420
i2c_set_clientdata(i2c, rt9123);
sound/soc/codecs/rtq9124.c
380
struct i2c_client *i2c = context;
sound/soc/codecs/rtq9124.c
386
ret = i2c_smbus_read_i2c_block_data(i2c, reg, size, val_buf);
sound/soc/codecs/rtq9124.c
399
struct i2c_client *i2c = context;
sound/soc/codecs/rtq9124.c
406
return i2c_smbus_write_i2c_block_data(i2c, reg, size, vbuf);
sound/soc/codecs/rtq9124.c
430
static int rtq9124_probe(struct i2c_client *i2c)
sound/soc/codecs/rtq9124.c
432
struct device *dev = &i2c->dev;
sound/soc/codecs/rtq9124.c
450
ret = i2c_smbus_read_word_swapped(i2c, RTQ9124_REG_PRJ_CODE);
sound/soc/codecs/rtq9124.c
457
ret = i2c_smbus_write_word_swapped(i2c, RTQ9124_REG_STATE_CTRL, RTQ9124_MASK_SF_RESET);
sound/soc/codecs/rtq9124.c
464
regmap = devm_regmap_init(dev, NULL, i2c, &rtq9124_regmap_config);
sound/soc/codecs/rtq9124.c
472
i2c_set_clientdata(i2c, rtq9124);
sound/soc/codecs/rtq9128.c
115
struct i2c_client *i2c = to_i2c_client(dev);
sound/soc/codecs/rtq9128.c
125
return i2c_smbus_write_i2c_block_data(i2c, reg, rg_size, data + count - rg_size);
sound/soc/codecs/rtq9128.c
132
struct i2c_client *i2c = to_i2c_client(dev);
sound/soc/codecs/rtq9128.c
144
ret = i2c_smbus_read_i2c_block_data(i2c, reg, rg_size, data_tmp);
sound/soc/codecs/rtq9128.c
764
static int rtq9128_probe(struct i2c_client *i2c)
sound/soc/codecs/rtq9128.c
766
struct device *dev = &i2c->dev;
sound/soc/codecs/rtq9128.c
786
i2c_set_clientdata(i2c, data);
sound/soc/codecs/rtq9128.c
792
ret = i2c_smbus_write_byte_data(i2c, RTQ9128_REG_MISC, RTQ9128_SOFT_RESET_VAL);
sound/soc/codecs/sgtl5000.c
1816
MODULE_DEVICE_TABLE(i2c, sgtl5000_id);
sound/soc/codecs/sma1303.c
1788
MODULE_DEVICE_TABLE(i2c, sma1303_i2c_id);
sound/soc/codecs/sma1307.c
2016
MODULE_DEVICE_TABLE(i2c, sma1307_i2c_id);
sound/soc/codecs/src4xxx-i2c.c
15
static int src4xxx_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/src4xxx-i2c.c
17
return src4xxx_probe(&i2c->dev,
sound/soc/codecs/src4xxx-i2c.c
18
devm_regmap_init_i2c(i2c, &src4xxx_regmap_config), NULL);
sound/soc/codecs/src4xxx-i2c.c
25
MODULE_DEVICE_TABLE(i2c, src4xxx_i2c_ids);
sound/soc/codecs/ssm2518.c
737
static int ssm2518_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/ssm2518.c
742
ssm2518 = devm_kzalloc(&i2c->dev, sizeof(*ssm2518), GFP_KERNEL);
sound/soc/codecs/ssm2518.c
747
ssm2518->enable_gpio = devm_gpiod_get_optional(&i2c->dev, NULL,
sound/soc/codecs/ssm2518.c
755
i2c_set_clientdata(i2c, ssm2518);
sound/soc/codecs/ssm2518.c
757
ssm2518->regmap = devm_regmap_init_i2c(i2c, &ssm2518_regmap_config);
sound/soc/codecs/ssm2518.c
783
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/ssm2518.c
800
MODULE_DEVICE_TABLE(i2c, ssm2518_i2c_ids);
sound/soc/codecs/ssm2602-i2c.c
34
MODULE_DEVICE_TABLE(i2c, ssm2602_i2c_id);
sound/soc/codecs/ssm4567.c
447
static int ssm4567_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/ssm4567.c
452
ssm4567 = devm_kzalloc(&i2c->dev, sizeof(*ssm4567), GFP_KERNEL);
sound/soc/codecs/ssm4567.c
456
i2c_set_clientdata(i2c, ssm4567);
sound/soc/codecs/ssm4567.c
458
ssm4567->regmap = devm_regmap_init_i2c(i2c, &ssm4567_regmap_config);
sound/soc/codecs/ssm4567.c
470
return devm_snd_soc_register_component(&i2c->dev, &ssm4567_component_driver,
sound/soc/codecs/ssm4567.c
478
MODULE_DEVICE_TABLE(i2c, ssm4567_i2c_ids);
sound/soc/codecs/sta32x.c
1089
static int sta32x_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/sta32x.c
1091
struct device *dev = &i2c->dev;
sound/soc/codecs/sta32x.c
1095
sta32x = devm_kzalloc(&i2c->dev, sizeof(struct sta32x_priv),
sound/soc/codecs/sta32x.c
1132
ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(sta32x->supplies),
sound/soc/codecs/sta32x.c
1135
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/sta32x.c
1139
sta32x->regmap = devm_regmap_init_i2c(i2c, &sta32x_regmap);
sound/soc/codecs/sta32x.c
1146
i2c_set_clientdata(i2c, sta32x);
sound/soc/codecs/sta32x.c
1162
MODULE_DEVICE_TABLE(i2c, sta32x_i2c_id);
sound/soc/codecs/sta350.c
1180
static int sta350_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/sta350.c
1182
struct device *dev = &i2c->dev;
sound/soc/codecs/sta350.c
1223
sta350->regmap = devm_regmap_init_i2c(i2c, &sta350_regmap);
sound/soc/codecs/sta350.c
1230
i2c_set_clientdata(i2c, sta350);
sound/soc/codecs/sta350.c
1246
MODULE_DEVICE_TABLE(i2c, sta350_i2c_id);
sound/soc/codecs/sta529.c
340
static int sta529_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/sta529.c
345
sta529 = devm_kzalloc(&i2c->dev, sizeof(struct sta529), GFP_KERNEL);
sound/soc/codecs/sta529.c
349
sta529->regmap = devm_regmap_init_i2c(i2c, &sta529_regmap);
sound/soc/codecs/sta529.c
352
dev_err(&i2c->dev, "Failed to allocate regmap: %d\n", ret);
sound/soc/codecs/sta529.c
356
i2c_set_clientdata(i2c, sta529);
sound/soc/codecs/sta529.c
358
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/sta529.c
361
dev_err(&i2c->dev, "Failed to register CODEC: %d\n", ret);
sound/soc/codecs/sta529.c
370
MODULE_DEVICE_TABLE(i2c, sta529_i2c_id);
sound/soc/codecs/tas2552.c
751
MODULE_DEVICE_TABLE(i2c, tas2552_id);
sound/soc/codecs/tas2562.c
719
MODULE_DEVICE_TABLE(i2c, tas2562_id);
sound/soc/codecs/tas2764.c
927
MODULE_DEVICE_TABLE(i2c, tas2764_i2c_id);
sound/soc/codecs/tas2770.c
868
MODULE_DEVICE_TABLE(i2c, tas2770_i2c_id);
sound/soc/codecs/tas2780.c
627
MODULE_DEVICE_TABLE(i2c, tas2780_i2c_id);
sound/soc/codecs/tas2781-comlib-i2c.c
145
struct tasdevice_priv *tasdevice_kzalloc(struct i2c_client *i2c)
sound/soc/codecs/tas2781-comlib-i2c.c
149
tas_priv = devm_kzalloc(&i2c->dev, sizeof(*tas_priv), GFP_KERNEL);
sound/soc/codecs/tas2781-comlib-i2c.c
152
tas_priv->dev = &i2c->dev;
sound/soc/codecs/tas2781-comlib-i2c.c
153
tas_priv->client = (void *)i2c;
sound/soc/codecs/tas2781-i2c.c
124
MODULE_DEVICE_TABLE(i2c, tasdevice_id);
sound/soc/codecs/tas2781-i2c.c
2031
static int tasdevice_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/tas2781-i2c.c
2037
tas_priv = tasdevice_kzalloc(i2c);
sound/soc/codecs/tas2781-i2c.c
2041
dev_set_drvdata(&i2c->dev, tas_priv);
sound/soc/codecs/tas2781-i2c.c
2043
if (ACPI_HANDLE(&i2c->dev)) {
sound/soc/codecs/tas2781-i2c.c
2044
acpi_id = acpi_match_device(i2c->dev.driver->acpi_match_table,
sound/soc/codecs/tas2781-i2c.c
2045
&i2c->dev);
sound/soc/codecs/tas2781-i2c.c
2047
dev_err(&i2c->dev, "No driver data\n");
sound/soc/codecs/tas2781-i2c.c
2054
tas_priv->chip_id = (uintptr_t)i2c_get_match_data(i2c);
sound/soc/codecs/tas5086.c
897
MODULE_DEVICE_TABLE(i2c, tas5086_i2c_id);
sound/soc/codecs/tas5086.c
913
static int tas5086_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/tas5086.c
916
struct device *dev = &i2c->dev;
sound/soc/codecs/tas5086.c
933
priv->regmap = devm_regmap_init(dev, NULL, i2c, &tas5086_regmap);
sound/soc/codecs/tas5086.c
936
dev_err(&i2c->dev, "Failed to create regmap: %d\n", ret);
sound/soc/codecs/tas5086.c
940
i2c_set_clientdata(i2c, priv);
sound/soc/codecs/tas5086.c
971
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/tas5086.c
978
static void tas5086_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/tas571x.c
1076
MODULE_DEVICE_TABLE(i2c, tas571x_i2c_id);
sound/soc/codecs/tas571x.c
245
struct i2c_client *i2c = to_i2c_client(component->dev);
sound/soc/codecs/tas571x.c
249
return tas571x_reg_read_multiword(i2c, index,
sound/soc/codecs/tas571x.c
257
struct i2c_client *i2c = to_i2c_client(component->dev);
sound/soc/codecs/tas571x.c
261
return tas571x_reg_write_multiword(i2c, index,
sound/soc/codecs/tas5720.c
724
MODULE_DEVICE_TABLE(i2c, tas5720_id);
sound/soc/codecs/tas5805m.c
157
struct i2c_client *i2c;
sound/soc/codecs/tas5805m.c
192
dev_dbg(&tas5805m->i2c->dev, "refresh: is_muted=%d, vol=%d/%d\n",
sound/soc/codecs/tas5805m.c
333
dev_dbg(&tas5805m->i2c->dev, "DSP startup\n");
sound/soc/codecs/tas5805m.c
458
static int tas5805m_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/tas5805m.c
460
struct device *dev = &i2c->dev;
sound/soc/codecs/tas5805m.c
468
regmap = devm_regmap_init_i2c(i2c, &tas5805m_regmap);
sound/soc/codecs/tas5805m.c
479
tas5805m->i2c = i2c;
sound/soc/codecs/tas5805m.c
570
static void tas5805m_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/tas5805m.c
572
struct device *dev = &i2c->dev;
sound/soc/codecs/tas5805m.c
586
MODULE_DEVICE_TABLE(i2c, tas5805m_i2c_id);
sound/soc/codecs/tas6424.c
800
MODULE_DEVICE_TABLE(i2c, tas6424_i2c_ids);
sound/soc/codecs/tda7419.c
574
static int tda7419_probe(struct i2c_client *i2c)
sound/soc/codecs/tda7419.c
579
tda7419 = devm_kzalloc(&i2c->dev,
sound/soc/codecs/tda7419.c
585
i2c_set_clientdata(i2c, tda7419);
sound/soc/codecs/tda7419.c
587
tda7419->regmap = devm_regmap_init_i2c(i2c, &tda7419_regmap_config);
sound/soc/codecs/tda7419.c
590
dev_err(&i2c->dev, "error initializing regmap: %d\n",
sound/soc/codecs/tda7419.c
606
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/tda7419.c
609
dev_err(&i2c->dev, "error registering component: %d\n",
sound/soc/codecs/tda7419.c
620
MODULE_DEVICE_TABLE(i2c, tda7419_i2c_id);
sound/soc/codecs/tfa9879.c
274
static int tfa9879_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/tfa9879.c
279
tfa9879 = devm_kzalloc(&i2c->dev, sizeof(*tfa9879), GFP_KERNEL);
sound/soc/codecs/tfa9879.c
283
i2c_set_clientdata(i2c, tfa9879);
sound/soc/codecs/tfa9879.c
285
tfa9879->regmap = devm_regmap_init_i2c(i2c, &tfa9879_regmap);
sound/soc/codecs/tfa9879.c
294
return devm_snd_soc_register_component(&i2c->dev, &tfa9879_component,
sound/soc/codecs/tfa9879.c
302
MODULE_DEVICE_TABLE(i2c, tfa9879_i2c_id);
sound/soc/codecs/tfa989x.c
317
static int tfa989x_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/tfa989x.c
319
struct device *dev = &i2c->dev;
sound/soc/codecs/tfa989x.c
337
i2c_set_clientdata(i2c, tfa989x);
sound/soc/codecs/tfa989x.c
350
regmap = devm_regmap_init_i2c(i2c, &tfa989x_regmap);
sound/soc/codecs/tlv320adc3xxx.c
1398
MODULE_DEVICE_TABLE(i2c, adc3xxx_i2c_id);
sound/soc/codecs/tlv320adc3xxx.c
1400
static int adc3xxx_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/tlv320adc3xxx.c
1402
struct device *dev = &i2c->dev;
sound/soc/codecs/tlv320adc3xxx.c
1460
adc3xxx->regmap = devm_regmap_init_i2c(i2c, &adc3xxx_regmap);
sound/soc/codecs/tlv320adc3xxx.c
1466
i2c_set_clientdata(i2c, adc3xxx);
sound/soc/codecs/tlv320adc3xxx.c
1468
adc3xxx->type = (uintptr_t)i2c_get_match_data(i2c);
sound/soc/codecs/tlv320adcx140.c
1262
static int adcx140_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/tlv320adcx140.c
1267
adcx140 = devm_kzalloc(&i2c->dev, sizeof(*adcx140), GFP_KERNEL);
sound/soc/codecs/tlv320adcx140.c
1272
adcx140->dev = &i2c->dev;
sound/soc/codecs/tlv320adcx140.c
1277
ret = devm_regulator_bulk_get(&i2c->dev, ADCX140_NUM_SUPPLIES,
sound/soc/codecs/tlv320adcx140.c
1280
dev_err_probe(&i2c->dev, ret, "Failed to request supplies\n");
sound/soc/codecs/tlv320adcx140.c
1287
return dev_err_probe(&i2c->dev, PTR_ERR(adcx140->gpio_reset),
sound/soc/codecs/tlv320adcx140.c
1290
dev_info(&i2c->dev, "Reset GPIO not defined\n");
sound/soc/codecs/tlv320adcx140.c
1306
ret = devm_add_action_or_reset(&i2c->dev, adcx140_disable_regulator, adcx140);
sound/soc/codecs/tlv320adcx140.c
1311
adcx140->regmap = devm_regmap_init_i2c(i2c, &adcx140_i2c_regmap);
sound/soc/codecs/tlv320adcx140.c
1314
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/tlv320adcx140.c
1321
i2c_set_clientdata(i2c, adcx140);
sound/soc/codecs/tlv320adcx140.c
1323
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/tlv320adcx140.c
1334
MODULE_DEVICE_TABLE(i2c, adcx140_i2c_id);
sound/soc/codecs/tlv320aic23-i2c.c
19
static int tlv320aic23_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/tlv320aic23-i2c.c
23
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
sound/soc/codecs/tlv320aic23-i2c.c
26
regmap = devm_regmap_init_i2c(i2c, &tlv320aic23_regmap);
sound/soc/codecs/tlv320aic23-i2c.c
27
return tlv320aic23_probe(&i2c->dev, regmap);
sound/soc/codecs/tlv320aic23-i2c.c
35
MODULE_DEVICE_TABLE(i2c, tlv320aic23_id);
sound/soc/codecs/tlv320aic31xx.c
1643
MODULE_DEVICE_TABLE(i2c, aic31xx_i2c_id);
sound/soc/codecs/tlv320aic31xx.c
1737
static int aic31xx_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/tlv320aic31xx.c
1743
aic31xx = devm_kzalloc(&i2c->dev, sizeof(*aic31xx), GFP_KERNEL);
sound/soc/codecs/tlv320aic31xx.c
1747
aic31xx->regmap = devm_regmap_init_i2c(i2c, &aic31xx_i2c_regmap);
sound/soc/codecs/tlv320aic31xx.c
1750
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/tlv320aic31xx.c
1756
aic31xx->dev = &i2c->dev;
sound/soc/codecs/tlv320aic31xx.c
1757
aic31xx->irq = i2c->irq;
sound/soc/codecs/tlv320aic31xx.c
1759
aic31xx->codec_type = (uintptr_t)i2c_get_match_data(i2c);
sound/soc/codecs/tlv320aic31xx.c
1829
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/tlv320aic31xx.c
1834
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/tlv320aic32x4-i2c.c
19
static int aic32x4_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/tlv320aic32x4-i2c.c
29
regmap = devm_regmap_init_i2c(i2c, &config);
sound/soc/codecs/tlv320aic32x4-i2c.c
30
type = (uintptr_t)i2c_get_match_data(i2c);
sound/soc/codecs/tlv320aic32x4-i2c.c
32
return aic32x4_probe(&i2c->dev, regmap, type);
sound/soc/codecs/tlv320aic32x4-i2c.c
35
static void aic32x4_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/tlv320aic32x4-i2c.c
37
aic32x4_remove(&i2c->dev);
sound/soc/codecs/tlv320aic32x4-i2c.c
46
MODULE_DEVICE_TABLE(i2c, aic32x4_i2c_id);
sound/soc/codecs/tlv320aic3x-i2c.c
28
MODULE_DEVICE_TABLE(i2c, aic3x_i2c_id);
sound/soc/codecs/tlv320aic3x-i2c.c
30
static int aic3x_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/tlv320aic3x-i2c.c
39
regmap = devm_regmap_init_i2c(i2c, &config);
sound/soc/codecs/tlv320aic3x-i2c.c
40
return aic3x_probe(&i2c->dev, regmap, (uintptr_t)i2c_get_match_data(i2c));
sound/soc/codecs/tlv320aic3x-i2c.c
43
static void aic3x_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/tlv320aic3x-i2c.c
45
aic3x_remove(&i2c->dev);
sound/soc/codecs/tlv320dac33.c
110
struct i2c_client *i2c;
sound/soc/codecs/tlv320dac33.c
1490
dac33->i2c = client;
sound/soc/codecs/tlv320dac33.c
1551
MODULE_DEVICE_TABLE(i2c, tlv320dac33_i2c_id);
sound/soc/codecs/tlv320dac33.c
191
val = i2c_smbus_read_byte_data(dac33->i2c, value[0]);
sound/soc/codecs/tlv320dac33.c
224
ret = i2c_master_send(dac33->i2c, data, 2);
sound/soc/codecs/tlv320dac33.c
271
ret = i2c_master_send(dac33->i2c, data, 3);
sound/soc/codecs/tlv320dac33.c
388
dev_err(&dac33->i2c->dev,
sound/soc/codecs/tlv320dac33.c
400
dev_err(&dac33->i2c->dev,
sound/soc/codecs/ts3a227e.c
351
static int ts3a227e_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/ts3a227e.c
354
struct device *dev = &i2c->dev;
sound/soc/codecs/ts3a227e.c
358
ts3a227e = devm_kzalloc(&i2c->dev, sizeof(*ts3a227e), GFP_KERNEL);
sound/soc/codecs/ts3a227e.c
362
i2c_set_clientdata(i2c, ts3a227e);
sound/soc/codecs/ts3a227e.c
364
ts3a227e->irq = i2c->irq;
sound/soc/codecs/ts3a227e.c
366
ts3a227e->regmap = devm_regmap_init_i2c(i2c, &ts3a227e_regmap_config);
sound/soc/codecs/ts3a227e.c
376
ret = devm_request_threaded_irq(dev, i2c->irq, NULL, ts3a227e_interrupt,
sound/soc/codecs/ts3a227e.c
380
dev_err(dev, "Cannot request irq %d (%d)\n", i2c->irq, ret);
sound/soc/codecs/ts3a227e.c
384
ret = devm_snd_soc_register_component(&i2c->dev, &ts3a227e_soc_driver,
sound/soc/codecs/ts3a227e.c
430
MODULE_DEVICE_TABLE(i2c, ts3a227e_i2c_ids);
sound/soc/codecs/tscs42xx.c
1409
static int tscs42xx_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/tscs42xx.c
1415
tscs42xx = devm_kzalloc(&i2c->dev, sizeof(*tscs42xx), GFP_KERNEL);
sound/soc/codecs/tscs42xx.c
1418
dev_err(&i2c->dev,
sound/soc/codecs/tscs42xx.c
1422
i2c_set_clientdata(i2c, tscs42xx);
sound/soc/codecs/tscs42xx.c
1425
tscs42xx->sysclk = devm_clk_get(&i2c->dev, src_names[src]);
sound/soc/codecs/tscs42xx.c
1430
dev_err(&i2c->dev, "Failed to get sysclk (%d)\n", ret);
sound/soc/codecs/tscs42xx.c
1436
dev_err(&i2c->dev, "Failed to get a valid clock name (%d)\n",
sound/soc/codecs/tscs42xx.c
1442
tscs42xx->regmap = devm_regmap_init_i2c(i2c, &tscs42xx_regmap);
sound/soc/codecs/tscs42xx.c
1445
dev_err(&i2c->dev, "Failed to allocate regmap (%d)\n", ret);
sound/soc/codecs/tscs42xx.c
1453
dev_err(&i2c->dev, "No valid part (%d)\n", ret);
sound/soc/codecs/tscs42xx.c
1460
dev_err(&i2c->dev, "Failed to reset device (%d)\n", ret);
sound/soc/codecs/tscs42xx.c
1467
dev_err(&i2c->dev, "Failed to apply patch (%d)\n", ret);
sound/soc/codecs/tscs42xx.c
1475
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/tscs42xx.c
1478
dev_err(&i2c->dev, "Failed to register codec (%d)\n", ret);
sound/soc/codecs/tscs42xx.c
1490
MODULE_DEVICE_TABLE(i2c, tscs42xx_i2c_id);
sound/soc/codecs/tscs454.c
278
struct i2c_client *i2c)
sound/soc/codecs/tscs454.c
283
tscs454->regmap = devm_regmap_init_i2c(i2c, &tscs454_regmap_cfg);
sound/soc/codecs/tscs454.c
3400
static int tscs454_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/tscs454.c
3406
tscs454 = devm_kzalloc(&i2c->dev, sizeof(*tscs454), GFP_KERNEL);
sound/soc/codecs/tscs454.c
3410
ret = tscs454_data_init(tscs454, i2c);
sound/soc/codecs/tscs454.c
3414
i2c_set_clientdata(i2c, tscs454);
sound/soc/codecs/tscs454.c
3417
tscs454->sysclk = devm_clk_get(&i2c->dev, src_names[src]);
sound/soc/codecs/tscs454.c
3422
dev_err(&i2c->dev, "Failed to get sysclk (%d)\n", ret);
sound/soc/codecs/tscs454.c
3426
dev_dbg(&i2c->dev, "PLL input is %s\n", src_names[src]);
sound/soc/codecs/tscs454.c
3432
dev_err(&i2c->dev, "Failed to reset the component (%d)\n", ret);
sound/soc/codecs/tscs454.c
3440
dev_err(&i2c->dev, "Failed to apply patch (%d)\n", ret);
sound/soc/codecs/tscs454.c
3446
ret = devm_snd_soc_register_component(&i2c->dev, &soc_component_dev_tscs454,
sound/soc/codecs/tscs454.c
3449
dev_err(&i2c->dev, "Failed to register component (%d)\n", ret);
sound/soc/codecs/tscs454.c
3460
MODULE_DEVICE_TABLE(i2c, tscs454_i2c_id);
sound/soc/codecs/uda1342.c
104
struct device *dev = &uda1342->i2c->dev;
sound/soc/codecs/uda1342.c
162
struct device *dev = &uda1342->i2c->dev;
sound/soc/codecs/uda1342.c
187
dev_err(&uda1342->i2c->dev, "unsupported consumer mode.\n");
sound/soc/codecs/uda1342.c
279
static int uda1342_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/uda1342.c
283
uda1342 = devm_kzalloc(&i2c->dev, sizeof(*uda1342), GFP_KERNEL);
sound/soc/codecs/uda1342.c
287
uda1342->regmap = devm_regmap_init_i2c(i2c, &uda1342_regmap);
sound/soc/codecs/uda1342.c
291
i2c_set_clientdata(i2c, uda1342);
sound/soc/codecs/uda1342.c
292
uda1342->i2c = i2c;
sound/soc/codecs/uda1342.c
294
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/uda1342.c
325
MODULE_DEVICE_TABLE(i2c, uda1342_i2c_id);
sound/soc/codecs/uda1342.c
35
struct i2c_client *i2c;
sound/soc/codecs/uda1380.c
116
if (i2c_master_send(uda1380->i2c, data, 3) == 3) {
sound/soc/codecs/uda1380.c
118
i2c_master_send(uda1380->i2c, data, 1);
sound/soc/codecs/uda1380.c
119
i2c_master_recv(uda1380->i2c, data, 2);
sound/soc/codecs/uda1380.c
145
if (i2c_master_send(uda1380->i2c, data, 3) != 3)
sound/soc/codecs/uda1380.c
167
if (i2c_master_send(uda1380->i2c, data, 3) != 3) {
sound/soc/codecs/uda1380.c
37
struct i2c_client *i2c;
sound/soc/codecs/uda1380.c
742
static int uda1380_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/uda1380.c
744
struct uda1380_platform_data *pdata = i2c->dev.platform_data;
sound/soc/codecs/uda1380.c
751
uda1380 = devm_kzalloc(&i2c->dev, sizeof(struct uda1380_priv),
sound/soc/codecs/uda1380.c
757
ret = devm_gpio_request_one(&i2c->dev, pdata->gpio_reset,
sound/soc/codecs/uda1380.c
764
ret = devm_gpio_request_one(&i2c->dev, pdata->gpio_power,
sound/soc/codecs/uda1380.c
770
uda1380->reg_cache = devm_kmemdup_array(&i2c->dev, uda1380_reg, ARRAY_SIZE(uda1380_reg),
sound/soc/codecs/uda1380.c
775
i2c_set_clientdata(i2c, uda1380);
sound/soc/codecs/uda1380.c
776
uda1380->i2c = i2c;
sound/soc/codecs/uda1380.c
778
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/uda1380.c
787
MODULE_DEVICE_TABLE(i2c, uda1380_i2c_id);
sound/soc/codecs/wm1250-ev1.c
128
static int wm1250_ev1_pdata(struct i2c_client *i2c)
sound/soc/codecs/wm1250-ev1.c
130
struct wm1250_ev1_pdata *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/wm1250-ev1.c
136
wm1250 = devm_kzalloc(&i2c->dev, sizeof(*wm1250), GFP_KERNEL);
sound/soc/codecs/wm1250-ev1.c
140
wm1250->clk_ena = devm_gpiod_get(&i2c->dev, "clk-ena", GPIOD_OUT_LOW);
sound/soc/codecs/wm1250-ev1.c
142
return dev_err_probe(&i2c->dev, PTR_ERR(wm1250->clk_ena),
sound/soc/codecs/wm1250-ev1.c
145
wm1250->clk_sel0 = devm_gpiod_get(&i2c->dev, "clk-sel0", GPIOD_OUT_HIGH);
sound/soc/codecs/wm1250-ev1.c
147
return dev_err_probe(&i2c->dev, PTR_ERR(wm1250->clk_sel0),
sound/soc/codecs/wm1250-ev1.c
150
wm1250->clk_sel1 = devm_gpiod_get(&i2c->dev, "clk-sel1", GPIOD_OUT_HIGH);
sound/soc/codecs/wm1250-ev1.c
152
return dev_err_probe(&i2c->dev, PTR_ERR(wm1250->clk_sel1),
sound/soc/codecs/wm1250-ev1.c
155
wm1250->osr = devm_gpiod_get(&i2c->dev, "osr", GPIOD_OUT_LOW);
sound/soc/codecs/wm1250-ev1.c
157
return dev_err_probe(&i2c->dev, PTR_ERR(wm1250->osr),
sound/soc/codecs/wm1250-ev1.c
160
wm1250->master = devm_gpiod_get(&i2c->dev, "master", GPIOD_OUT_LOW);
sound/soc/codecs/wm1250-ev1.c
162
return dev_err_probe(&i2c->dev, PTR_ERR(wm1250->master),
sound/soc/codecs/wm1250-ev1.c
165
dev_set_drvdata(&i2c->dev, wm1250);
sound/soc/codecs/wm1250-ev1.c
170
static int wm1250_ev1_probe(struct i2c_client *i2c)
sound/soc/codecs/wm1250-ev1.c
174
dev_set_drvdata(&i2c->dev, NULL);
sound/soc/codecs/wm1250-ev1.c
176
board = i2c_smbus_read_byte_data(i2c, 0);
sound/soc/codecs/wm1250-ev1.c
178
dev_err(&i2c->dev, "Failed to read ID: %d\n", board);
sound/soc/codecs/wm1250-ev1.c
186
dev_err(&i2c->dev, "Unknown board ID %d\n", id);
sound/soc/codecs/wm1250-ev1.c
190
dev_info(&i2c->dev, "revision %d\n", rev + 1);
sound/soc/codecs/wm1250-ev1.c
192
ret = wm1250_ev1_pdata(i2c);
sound/soc/codecs/wm1250-ev1.c
196
ret = devm_snd_soc_register_component(&i2c->dev, &soc_component_dev_wm1250_ev1,
sound/soc/codecs/wm1250-ev1.c
199
dev_err(&i2c->dev, "Failed to register CODEC: %d\n", ret);
sound/soc/codecs/wm1250-ev1.c
210
MODULE_DEVICE_TABLE(i2c, wm1250_ev1_i2c_id);
sound/soc/codecs/wm2000.c
102
struct wm2000_priv *wm2000 = i2c_get_clientdata(i2c);
sound/soc/codecs/wm2000.c
119
static int wm2000_power_up(struct i2c_client *i2c, int analogue)
sound/soc/codecs/wm2000.c
121
struct wm2000_priv *wm2000 = dev_get_drvdata(&i2c->dev);
sound/soc/codecs/wm2000.c
129
dev_dbg(&i2c->dev, "Beginning power up\n");
sound/soc/codecs/wm2000.c
133
dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret);
sound/soc/codecs/wm2000.c
139
dev_dbg(&i2c->dev, "Disabling MCLK divider\n");
sound/soc/codecs/wm2000.c
140
wm2000_write(i2c, WM2000_REG_SYS_CTL2,
sound/soc/codecs/wm2000.c
143
dev_dbg(&i2c->dev, "Enabling MCLK divider\n");
sound/soc/codecs/wm2000.c
144
wm2000_write(i2c, WM2000_REG_SYS_CTL2,
sound/soc/codecs/wm2000.c
148
wm2000_write(i2c, WM2000_REG_SYS_CTL2, WM2000_ANC_ENG_CLR);
sound/soc/codecs/wm2000.c
149
wm2000_write(i2c, WM2000_REG_SYS_CTL2, WM2000_ANC_ENG_SET);
sound/soc/codecs/wm2000.c
152
if (!wm2000_poll_bit(i2c, WM2000_REG_ANC_STAT,
sound/soc/codecs/wm2000.c
154
dev_err(&i2c->dev, "ANC engine failed to reset\n");
sound/soc/codecs/wm2000.c
159
if (!wm2000_poll_bit(i2c, WM2000_REG_SYS_STATUS,
sound/soc/codecs/wm2000.c
161
dev_err(&i2c->dev, "ANC engine failed to initialise\n");
sound/soc/codecs/wm2000.c
166
wm2000_write(i2c, WM2000_REG_SYS_CTL2, WM2000_RAM_SET);
sound/soc/codecs/wm2000.c
170
dev_dbg(&i2c->dev, "Downloading %d bytes\n",
sound/soc/codecs/wm2000.c
173
ret = i2c_master_send(i2c, wm2000->anc_download,
sound/soc/codecs/wm2000.c
176
dev_err(&i2c->dev, "i2c_transfer() failed: %d\n", ret);
sound/soc/codecs/wm2000.c
181
dev_err(&i2c->dev, "i2c_transfer() failed, %d != %d\n",
sound/soc/codecs/wm2000.c
187
dev_dbg(&i2c->dev, "Download complete\n");
sound/soc/codecs/wm2000.c
190
wm2000_write(i2c, WM2000_REG_ANA_VMID_PU_TIME, 248 / 4);
sound/soc/codecs/wm2000.c
192
wm2000_write(i2c, WM2000_REG_SYS_MODE_CNTRL,
sound/soc/codecs/wm2000.c
197
wm2000_write(i2c, WM2000_REG_SYS_MODE_CNTRL,
sound/soc/codecs/wm2000.c
204
dev_err(&i2c->dev, "Unable to read Speech Clarity: %d\n", ret);
sound/soc/codecs/wm2000.c
212
wm2000_write(i2c, WM2000_REG_SPEECH_CLARITY, val);
sound/soc/codecs/wm2000.c
214
wm2000_write(i2c, WM2000_REG_SYS_START0, 0x33);
sound/soc/codecs/wm2000.c
215
wm2000_write(i2c, WM2000_REG_SYS_START1, 0x02);
sound/soc/codecs/wm2000.c
217
wm2000_write(i2c, WM2000_REG_SYS_CTL2, WM2000_ANC_INT_N_CLR);
sound/soc/codecs/wm2000.c
219
if (!wm2000_poll_bit(i2c, WM2000_REG_SYS_STATUS,
sound/soc/codecs/wm2000.c
221
dev_err(&i2c->dev, "Timed out waiting for device\n");
sound/soc/codecs/wm2000.c
226
dev_dbg(&i2c->dev, "ANC active\n");
sound/soc/codecs/wm2000.c
228
dev_dbg(&i2c->dev, "Analogue active\n");
sound/soc/codecs/wm2000.c
234
static int wm2000_power_down(struct i2c_client *i2c, int analogue)
sound/soc/codecs/wm2000.c
236
struct wm2000_priv *wm2000 = dev_get_drvdata(&i2c->dev);
sound/soc/codecs/wm2000.c
239
wm2000_write(i2c, WM2000_REG_ANA_VMID_PD_TIME, 248 / 4);
sound/soc/codecs/wm2000.c
240
wm2000_write(i2c, WM2000_REG_SYS_MODE_CNTRL,
sound/soc/codecs/wm2000.c
244
wm2000_write(i2c, WM2000_REG_SYS_MODE_CNTRL,
sound/soc/codecs/wm2000.c
248
if (!wm2000_poll_bit(i2c, WM2000_REG_SYS_STATUS,
sound/soc/codecs/wm2000.c
250
dev_err(&i2c->dev, "Timeout waiting for ANC power down\n");
sound/soc/codecs/wm2000.c
254
if (!wm2000_poll_bit(i2c, WM2000_REG_ANC_STAT,
sound/soc/codecs/wm2000.c
256
dev_err(&i2c->dev, "Timeout waiting for ANC engine idle\n");
sound/soc/codecs/wm2000.c
262
dev_dbg(&i2c->dev, "powered off\n");
sound/soc/codecs/wm2000.c
268
static int wm2000_enter_bypass(struct i2c_client *i2c, int analogue)
sound/soc/codecs/wm2000.c
270
struct wm2000_priv *wm2000 = dev_get_drvdata(&i2c->dev);
sound/soc/codecs/wm2000.c
276
wm2000_write(i2c, WM2000_REG_SYS_MODE_CNTRL,
sound/soc/codecs/wm2000.c
281
wm2000_write(i2c, WM2000_REG_SYS_MODE_CNTRL,
sound/soc/codecs/wm2000.c
286
if (!wm2000_poll_bit(i2c, WM2000_REG_SYS_STATUS,
sound/soc/codecs/wm2000.c
288
dev_err(&i2c->dev, "Timeout waiting for ANC disable\n");
sound/soc/codecs/wm2000.c
292
if (!wm2000_poll_bit(i2c, WM2000_REG_ANC_STAT,
sound/soc/codecs/wm2000.c
294
dev_err(&i2c->dev, "Timeout waiting for ANC engine idle\n");
sound/soc/codecs/wm2000.c
298
wm2000_write(i2c, WM2000_REG_SYS_CTL1, WM2000_SYS_STBY);
sound/soc/codecs/wm2000.c
299
wm2000_write(i2c, WM2000_REG_SYS_CTL2, WM2000_RAM_CLR);
sound/soc/codecs/wm2000.c
302
dev_dbg(&i2c->dev, "bypass enabled\n");
sound/soc/codecs/wm2000.c
307
static int wm2000_exit_bypass(struct i2c_client *i2c, int analogue)
sound/soc/codecs/wm2000.c
309
struct wm2000_priv *wm2000 = dev_get_drvdata(&i2c->dev);
sound/soc/codecs/wm2000.c
314
wm2000_write(i2c, WM2000_REG_SYS_CTL1, 0);
sound/soc/codecs/wm2000.c
317
wm2000_write(i2c, WM2000_REG_SYS_MODE_CNTRL,
sound/soc/codecs/wm2000.c
322
wm2000_write(i2c, WM2000_REG_SYS_MODE_CNTRL,
sound/soc/codecs/wm2000.c
327
wm2000_write(i2c, WM2000_REG_SYS_CTL2, WM2000_RAM_SET);
sound/soc/codecs/wm2000.c
328
wm2000_write(i2c, WM2000_REG_SYS_CTL2, WM2000_ANC_INT_N_CLR);
sound/soc/codecs/wm2000.c
330
if (!wm2000_poll_bit(i2c, WM2000_REG_SYS_STATUS,
sound/soc/codecs/wm2000.c
332
dev_err(&i2c->dev, "Timed out waiting for MOUSE\n");
sound/soc/codecs/wm2000.c
337
dev_dbg(&i2c->dev, "MOUSE active\n");
sound/soc/codecs/wm2000.c
342
static int wm2000_enter_standby(struct i2c_client *i2c, int analogue)
sound/soc/codecs/wm2000.c
344
struct wm2000_priv *wm2000 = dev_get_drvdata(&i2c->dev);
sound/soc/codecs/wm2000.c
350
wm2000_write(i2c, WM2000_REG_ANA_VMID_PD_TIME, 248 / 4);
sound/soc/codecs/wm2000.c
352
wm2000_write(i2c, WM2000_REG_SYS_MODE_CNTRL,
sound/soc/codecs/wm2000.c
357
wm2000_write(i2c, WM2000_REG_SYS_MODE_CNTRL,
sound/soc/codecs/wm2000.c
362
if (!wm2000_poll_bit(i2c, WM2000_REG_SYS_STATUS,
sound/soc/codecs/wm2000.c
364
dev_err(&i2c->dev,
sound/soc/codecs/wm2000.c
369
if (!wm2000_poll_bit(i2c, WM2000_REG_ANC_STAT, WM2000_ANC_ENG_IDLE)) {
sound/soc/codecs/wm2000.c
370
dev_err(&i2c->dev,
sound/soc/codecs/wm2000.c
375
wm2000_write(i2c, WM2000_REG_SYS_CTL1, WM2000_SYS_STBY);
sound/soc/codecs/wm2000.c
376
wm2000_write(i2c, WM2000_REG_SYS_CTL2, WM2000_RAM_CLR);
sound/soc/codecs/wm2000.c
379
dev_dbg(&i2c->dev, "standby\n");
sound/soc/codecs/wm2000.c
381
dev_dbg(&i2c->dev, "Analogue disabled\n");
sound/soc/codecs/wm2000.c
386
static int wm2000_exit_standby(struct i2c_client *i2c, int analogue)
sound/soc/codecs/wm2000.c
388
struct wm2000_priv *wm2000 = dev_get_drvdata(&i2c->dev);
sound/soc/codecs/wm2000.c
393
wm2000_write(i2c, WM2000_REG_SYS_CTL1, 0);
sound/soc/codecs/wm2000.c
396
wm2000_write(i2c, WM2000_REG_ANA_VMID_PU_TIME, 248 / 4);
sound/soc/codecs/wm2000.c
398
wm2000_write(i2c, WM2000_REG_SYS_MODE_CNTRL,
sound/soc/codecs/wm2000.c
403
wm2000_write(i2c, WM2000_REG_SYS_MODE_CNTRL,
sound/soc/codecs/wm2000.c
408
wm2000_write(i2c, WM2000_REG_SYS_CTL2, WM2000_RAM_SET);
sound/soc/codecs/wm2000.c
409
wm2000_write(i2c, WM2000_REG_SYS_CTL2, WM2000_ANC_INT_N_CLR);
sound/soc/codecs/wm2000.c
411
if (!wm2000_poll_bit(i2c, WM2000_REG_SYS_STATUS,
sound/soc/codecs/wm2000.c
413
dev_err(&i2c->dev, "Timed out waiting for MOUSE\n");
sound/soc/codecs/wm2000.c
418
dev_dbg(&i2c->dev, "MOUSE active\n");
sound/soc/codecs/wm2000.c
420
dev_dbg(&i2c->dev, "Analogue enabled\n");
sound/soc/codecs/wm2000.c
425
typedef int (*wm2000_mode_fn)(struct i2c_client *i2c, int analogue);
sound/soc/codecs/wm2000.c
537
struct i2c_client *i2c = wm2000->i2c;
sound/soc/codecs/wm2000.c
549
dev_err(&i2c->dev, "No transition for %d->%d\n",
sound/soc/codecs/wm2000.c
558
dev_err(&i2c->dev, "Failed to enable MCLK: %d\n", ret);
sound/soc/codecs/wm2000.c
566
ret = anc_transitions[i].step[j](i2c,
sound/soc/codecs/wm2000.c
580
struct i2c_client *i2c = wm2000->i2c;
sound/soc/codecs/wm2000.c
591
dev_dbg(&i2c->dev, "Set mode %d (enabled %d, mute %d, active %d)\n",
sound/soc/codecs/wm2000.c
61
struct i2c_client *i2c;
sound/soc/codecs/wm2000.c
808
static int wm2000_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm2000.c
81
static int wm2000_write(struct i2c_client *i2c, unsigned int reg,
sound/soc/codecs/wm2000.c
818
wm2000 = devm_kzalloc(&i2c->dev, sizeof(*wm2000), GFP_KERNEL);
sound/soc/codecs/wm2000.c
824
dev_set_drvdata(&i2c->dev, wm2000);
sound/soc/codecs/wm2000.c
826
wm2000->regmap = devm_regmap_init_i2c(i2c, &wm2000_regmap);
sound/soc/codecs/wm2000.c
829
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/wm2000.c
837
ret = devm_regulator_bulk_get(&i2c->dev, WM2000_NUM_SUPPLIES,
sound/soc/codecs/wm2000.c
84
struct wm2000_priv *wm2000 = i2c_get_clientdata(i2c);
sound/soc/codecs/wm2000.c
840
dev_err(&i2c->dev, "Failed to get supplies: %d\n", ret);
sound/soc/codecs/wm2000.c
846
dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret);
sound/soc/codecs/wm2000.c
853
dev_err(&i2c->dev, "Unable to read ID1: %d\n", ret);
sound/soc/codecs/wm2000.c
859
dev_err(&i2c->dev, "Unable to read ID2: %d\n", ret);
sound/soc/codecs/wm2000.c
865
dev_err(&i2c->dev, "Device is not a WM2000 - ID %x\n", id);
sound/soc/codecs/wm2000.c
872
dev_err(&i2c->dev, "Unable to read Revision: %d\n", ret);
sound/soc/codecs/wm2000.c
875
dev_info(&i2c->dev, "revision %c\n", reg + 'A');
sound/soc/codecs/wm2000.c
877
wm2000->mclk = devm_clk_get(&i2c->dev, "MCLK");
sound/soc/codecs/wm2000.c
880
dev_err(&i2c->dev, "Failed to get MCLK: %d\n", ret);
sound/soc/codecs/wm2000.c
885
pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/wm2000.c
893
ret = request_firmware(&fw, filename, &i2c->dev);
sound/soc/codecs/wm2000.c
895
dev_err(&i2c->dev, "Failed to acquire ANC data: %d\n", ret);
sound/soc/codecs/wm2000.c
90
struct i2c_client *i2c = wm2000->i2c;
sound/soc/codecs/wm2000.c
901
wm2000->anc_download = devm_kzalloc(&i2c->dev,
sound/soc/codecs/wm2000.c
916
wm2000->i2c = i2c;
sound/soc/codecs/wm2000.c
92
wm2000_write(i2c, WM2000_REG_SYS_CTL2, WM2000_ANC_ENG_CLR);
sound/soc/codecs/wm2000.c
920
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm2000.c
93
wm2000_write(i2c, WM2000_REG_SYS_CTL2, WM2000_RAM_CLR);
sound/soc/codecs/wm2000.c
935
MODULE_DEVICE_TABLE(i2c, wm2000_i2c_id);
sound/soc/codecs/wm2000.c
94
wm2000_write(i2c, WM2000_REG_ID1, 0);
sound/soc/codecs/wm2000.c
99
static int wm2000_poll_bit(struct i2c_client *i2c,
sound/soc/codecs/wm2200.c
1927
struct i2c_client *i2c = to_i2c_client(component->dev);
sound/soc/codecs/wm2200.c
2000
if (i2c->irq)
sound/soc/codecs/wm2200.c
2010
if (i2c->irq) {
sound/soc/codecs/wm2200.c
2181
static int wm2200_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm2200.c
2183
struct wm2200_pdata *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/wm2200.c
2189
wm2200 = devm_kzalloc(&i2c->dev, sizeof(struct wm2200_priv),
sound/soc/codecs/wm2200.c
2194
wm2200->dev = &i2c->dev;
sound/soc/codecs/wm2200.c
2197
wm2200->regmap = devm_regmap_init_i2c(i2c, &wm2200_regmap);
sound/soc/codecs/wm2200.c
2200
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/wm2200.c
2209
wm2200->dsp[i].cs_dsp.dev = &i2c->dev;
sound/soc/codecs/wm2200.c
2230
i2c_set_clientdata(i2c, wm2200);
sound/soc/codecs/wm2200.c
2235
ret = devm_regulator_bulk_get(&i2c->dev,
sound/soc/codecs/wm2200.c
2239
dev_err(&i2c->dev, "Failed to request core supplies: %d\n",
sound/soc/codecs/wm2200.c
2247
dev_err(&i2c->dev, "Failed to enable core supplies: %d\n",
sound/soc/codecs/wm2200.c
2252
wm2200->ldo_ena = devm_gpiod_get_optional(&i2c->dev, "wlf,ldo1ena",
sound/soc/codecs/wm2200.c
2256
dev_err(&i2c->dev, "Failed to request LDOENA GPIO %d\n",
sound/soc/codecs/wm2200.c
2265
wm2200->reset = devm_gpiod_get_optional(&i2c->dev, "reset",
sound/soc/codecs/wm2200.c
2269
dev_err(&i2c->dev, "Failed to request RESET GPIO %d\n",
sound/soc/codecs/wm2200.c
2277
dev_err(&i2c->dev, "Failed to read ID register: %d\n", ret);
sound/soc/codecs/wm2200.c
2285
dev_err(&i2c->dev, "Device is not a WM2200, ID is %x\n", reg);
sound/soc/codecs/wm2200.c
2292
dev_err(&i2c->dev, "Failed to read revision register\n");
sound/soc/codecs/wm2200.c
2298
dev_info(&i2c->dev, "revision %c\n", wm2200->rev + 'A');
sound/soc/codecs/wm2200.c
2306
dev_err(&i2c->dev, "Failed to register patch: %d\n",
sound/soc/codecs/wm2200.c
2316
dev_err(&i2c->dev, "Failed to issue reset\n");
sound/soc/codecs/wm2200.c
2378
if (i2c->irq) {
sound/soc/codecs/wm2200.c
2379
ret = request_threaded_irq(i2c->irq, NULL, wm2200_irq,
sound/soc/codecs/wm2200.c
2387
dev_err(&i2c->dev, "Failed to request IRQ %d: %d\n",
sound/soc/codecs/wm2200.c
2388
i2c->irq, ret);
sound/soc/codecs/wm2200.c
2391
pm_runtime_set_active(&i2c->dev);
sound/soc/codecs/wm2200.c
2392
pm_runtime_enable(&i2c->dev);
sound/soc/codecs/wm2200.c
2393
pm_request_idle(&i2c->dev);
sound/soc/codecs/wm2200.c
2395
ret = devm_snd_soc_register_component(&i2c->dev, &soc_component_wm2200,
sound/soc/codecs/wm2200.c
2398
dev_err(&i2c->dev, "Failed to register CODEC: %d\n", ret);
sound/soc/codecs/wm2200.c
2405
pm_runtime_disable(&i2c->dev);
sound/soc/codecs/wm2200.c
2406
if (i2c->irq)
sound/soc/codecs/wm2200.c
2407
free_irq(i2c->irq, wm2200);
sound/soc/codecs/wm2200.c
2418
static void wm2200_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/wm2200.c
2420
struct wm2200_priv *wm2200 = i2c_get_clientdata(i2c);
sound/soc/codecs/wm2200.c
2422
pm_runtime_disable(&i2c->dev);
sound/soc/codecs/wm2200.c
2423
if (i2c->irq)
sound/soc/codecs/wm2200.c
2424
free_irq(i2c->irq, wm2200);
sound/soc/codecs/wm2200.c
2477
MODULE_DEVICE_TABLE(i2c, wm2200_i2c_id);
sound/soc/codecs/wm5100.c
1760
struct i2c_client *i2c = to_i2c_client(component->dev);
sound/soc/codecs/wm5100.c
1835
if (i2c->irq)
sound/soc/codecs/wm5100.c
1845
if (i2c->irq) {
sound/soc/codecs/wm5100.c
2299
static void wm5100_init_gpio(struct i2c_client *i2c)
sound/soc/codecs/wm5100.c
2301
struct wm5100_priv *wm5100 = i2c_get_clientdata(i2c);
sound/soc/codecs/wm5100.c
2306
wm5100->gpio_chip.parent = &i2c->dev;
sound/soc/codecs/wm5100.c
2311
dev_err(&i2c->dev, "Failed to add GPIOs: %d\n", ret);
sound/soc/codecs/wm5100.c
2314
static void wm5100_free_gpio(struct i2c_client *i2c)
sound/soc/codecs/wm5100.c
2316
struct wm5100_priv *wm5100 = i2c_get_clientdata(i2c);
sound/soc/codecs/wm5100.c
2321
static void wm5100_init_gpio(struct i2c_client *i2c)
sound/soc/codecs/wm5100.c
2325
static void wm5100_free_gpio(struct i2c_client *i2c)
sound/soc/codecs/wm5100.c
2333
struct i2c_client *i2c = to_i2c_client(component->dev);
sound/soc/codecs/wm5100.c
2349
if (i2c->irq)
sound/soc/codecs/wm5100.c
2353
wm5100->hp_pol = devm_gpiod_get_optional(&i2c->dev, "hp-pol",
sound/soc/codecs/wm5100.c
2357
dev_err(&i2c->dev, "Failed to request HP_POL GPIO: %d\n",
sound/soc/codecs/wm5100.c
2399
static int wm5100_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm5100.c
2401
struct wm5100_pdata *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/wm5100.c
2406
wm5100 = devm_kzalloc(&i2c->dev, sizeof(struct wm5100_priv),
sound/soc/codecs/wm5100.c
2411
wm5100->dev = &i2c->dev;
sound/soc/codecs/wm5100.c
2413
wm5100->regmap = devm_regmap_init_i2c(i2c, &wm5100_regmap);
sound/soc/codecs/wm5100.c
2416
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/wm5100.c
2427
i2c_set_clientdata(i2c, wm5100);
sound/soc/codecs/wm5100.c
2432
ret = devm_regulator_bulk_get(&i2c->dev,
sound/soc/codecs/wm5100.c
2436
dev_err(&i2c->dev, "Failed to request core supplies: %d\n",
sound/soc/codecs/wm5100.c
2444
dev_err(&i2c->dev, "Failed to enable core supplies: %d\n",
sound/soc/codecs/wm5100.c
2449
wm5100->ldo_ena = devm_gpiod_get_optional(&i2c->dev, "wlf,ldo1ena",
sound/soc/codecs/wm5100.c
2453
dev_err(&i2c->dev, "Failed to request LDOENA GPIO: %d\n", ret);
sound/soc/codecs/wm5100.c
2461
wm5100->reset = devm_gpiod_get_optional(&i2c->dev, "reset",
sound/soc/codecs/wm5100.c
2465
dev_err(&i2c->dev, "Failed to request /RESET GPIO: %d\n", ret);
sound/soc/codecs/wm5100.c
2472
dev_err(&i2c->dev, "Failed to read ID register: %d\n", ret);
sound/soc/codecs/wm5100.c
2481
dev_err(&i2c->dev, "Device is not a WM5100, ID is %x\n", reg);
sound/soc/codecs/wm5100.c
2488
dev_err(&i2c->dev, "Failed to read revision register\n");
sound/soc/codecs/wm5100.c
2493
dev_info(&i2c->dev, "revision %c\n", wm5100->rev + 'A');
sound/soc/codecs/wm5100.c
2497
dev_err(&i2c->dev, "Failed to issue reset\n");
sound/soc/codecs/wm5100.c
2507
dev_err(&i2c->dev, "Failed to register patches: %d\n",
sound/soc/codecs/wm5100.c
2517
wm5100_init_gpio(i2c);
sound/soc/codecs/wm5100.c
2537
if (i2c->irq) {
sound/soc/codecs/wm5100.c
2546
ret = request_threaded_irq(i2c->irq, NULL,
sound/soc/codecs/wm5100.c
2550
ret = request_threaded_irq(i2c->irq, NULL, wm5100_irq,
sound/soc/codecs/wm5100.c
2555
dev_err(&i2c->dev, "Failed to request IRQ %d: %d\n",
sound/soc/codecs/wm5100.c
2556
i2c->irq, ret);
sound/soc/codecs/wm5100.c
2589
pm_runtime_set_active(&i2c->dev);
sound/soc/codecs/wm5100.c
2590
pm_runtime_enable(&i2c->dev);
sound/soc/codecs/wm5100.c
2591
pm_request_idle(&i2c->dev);
sound/soc/codecs/wm5100.c
2593
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm5100.c
2597
dev_err(&i2c->dev, "Failed to register WM5100: %d\n", ret);
sound/soc/codecs/wm5100.c
2604
pm_runtime_disable(&i2c->dev);
sound/soc/codecs/wm5100.c
2605
if (i2c->irq)
sound/soc/codecs/wm5100.c
2606
free_irq(i2c->irq, wm5100);
sound/soc/codecs/wm5100.c
2607
wm5100_free_gpio(i2c);
sound/soc/codecs/wm5100.c
2618
static void wm5100_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/wm5100.c
2620
struct wm5100_priv *wm5100 = i2c_get_clientdata(i2c);
sound/soc/codecs/wm5100.c
2622
pm_runtime_disable(&i2c->dev);
sound/soc/codecs/wm5100.c
2623
if (i2c->irq)
sound/soc/codecs/wm5100.c
2624
free_irq(i2c->irq, wm5100);
sound/soc/codecs/wm5100.c
2625
wm5100_free_gpio(i2c);
sound/soc/codecs/wm5100.c
2675
MODULE_DEVICE_TABLE(i2c, wm5100_i2c_id);
sound/soc/codecs/wm8510.c
649
static int wm8510_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8510.c
654
wm8510 = devm_kzalloc(&i2c->dev, sizeof(struct wm8510_priv),
sound/soc/codecs/wm8510.c
659
wm8510->regmap = devm_regmap_init_i2c(i2c, &wm8510_regmap);
sound/soc/codecs/wm8510.c
663
i2c_set_clientdata(i2c, wm8510);
sound/soc/codecs/wm8510.c
665
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8510.c
675
MODULE_DEVICE_TABLE(i2c, wm8510_i2c_id);
sound/soc/codecs/wm8523.c
446
static int wm8523_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8523.c
452
wm8523 = devm_kzalloc(&i2c->dev, sizeof(struct wm8523_priv),
sound/soc/codecs/wm8523.c
457
wm8523->regmap = devm_regmap_init_i2c(i2c, &wm8523_regmap);
sound/soc/codecs/wm8523.c
460
dev_err(&i2c->dev, "Failed to create regmap: %d\n", ret);
sound/soc/codecs/wm8523.c
467
ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm8523->supplies),
sound/soc/codecs/wm8523.c
470
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/wm8523.c
477
dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret);
sound/soc/codecs/wm8523.c
483
dev_err(&i2c->dev, "Failed to read ID register\n");
sound/soc/codecs/wm8523.c
487
dev_err(&i2c->dev, "Device is not a WM8523, ID is %x\n", ret);
sound/soc/codecs/wm8523.c
494
dev_err(&i2c->dev, "Failed to read revision register\n");
sound/soc/codecs/wm8523.c
497
dev_info(&i2c->dev, "revision %c\n",
sound/soc/codecs/wm8523.c
502
dev_err(&i2c->dev, "Failed to reset device: %d\n", ret);
sound/soc/codecs/wm8523.c
508
i2c_set_clientdata(i2c, wm8523);
sound/soc/codecs/wm8523.c
510
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8523.c
524
MODULE_DEVICE_TABLE(i2c, wm8523_i2c_id);
sound/soc/codecs/wm8580.c
1003
wm8580->regmap = devm_regmap_init_i2c(i2c, &wm8580_regmap);
sound/soc/codecs/wm8580.c
1010
ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm8580->supplies),
sound/soc/codecs/wm8580.c
1013
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/wm8580.c
1017
i2c_set_clientdata(i2c, wm8580);
sound/soc/codecs/wm8580.c
1019
wm8580->drvdata = i2c_get_match_data(i2c);
sound/soc/codecs/wm8580.c
1021
return dev_err_probe(&i2c->dev, -EINVAL, "failed to find driver data\n");
sound/soc/codecs/wm8580.c
1023
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8580.c
1041
MODULE_DEVICE_TABLE(i2c, wm8580_i2c_id);
sound/soc/codecs/wm8580.c
993
static int wm8580_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8580.c
998
wm8580 = devm_kzalloc(&i2c->dev, sizeof(struct wm8580_priv),
sound/soc/codecs/wm8711.c
461
MODULE_DEVICE_TABLE(i2c, wm8711_i2c_id);
sound/soc/codecs/wm8728.c
276
static int wm8728_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8728.c
281
wm8728 = devm_kzalloc(&i2c->dev, sizeof(struct wm8728_priv),
sound/soc/codecs/wm8728.c
286
wm8728->regmap = devm_regmap_init_i2c(i2c, &wm8728_regmap);
sound/soc/codecs/wm8728.c
290
i2c_set_clientdata(i2c, wm8728);
sound/soc/codecs/wm8728.c
292
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8728.c
302
MODULE_DEVICE_TABLE(i2c, wm8728_i2c_id);
sound/soc/codecs/wm8731-i2c.c
26
static int wm8731_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8731-i2c.c
31
wm8731 = devm_kzalloc(&i2c->dev, sizeof(struct wm8731_priv),
sound/soc/codecs/wm8731-i2c.c
36
i2c_set_clientdata(i2c, wm8731);
sound/soc/codecs/wm8731-i2c.c
38
wm8731->regmap = devm_regmap_init_i2c(i2c, &wm8731_regmap);
sound/soc/codecs/wm8731-i2c.c
41
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/wm8731-i2c.c
46
return wm8731_init(&i2c->dev, wm8731);
sound/soc/codecs/wm8731-i2c.c
53
MODULE_DEVICE_TABLE(i2c, wm8731_i2c_id);
sound/soc/codecs/wm8737.c
610
static int wm8737_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8737.c
615
wm8737 = devm_kzalloc(&i2c->dev, sizeof(struct wm8737_priv),
sound/soc/codecs/wm8737.c
623
ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm8737->supplies),
sound/soc/codecs/wm8737.c
626
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/wm8737.c
630
wm8737->regmap = devm_regmap_init_i2c(i2c, &wm8737_regmap);
sound/soc/codecs/wm8737.c
634
i2c_set_clientdata(i2c, wm8737);
sound/soc/codecs/wm8737.c
636
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8737.c
647
MODULE_DEVICE_TABLE(i2c, wm8737_i2c_id);
sound/soc/codecs/wm8741.c
567
static int wm8741_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8741.c
572
wm8741 = devm_kzalloc(&i2c->dev, sizeof(struct wm8741_priv),
sound/soc/codecs/wm8741.c
580
ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm8741->supplies),
sound/soc/codecs/wm8741.c
583
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/wm8741.c
587
wm8741->regmap = devm_regmap_init_i2c(i2c, &wm8741_regmap);
sound/soc/codecs/wm8741.c
590
dev_err(&i2c->dev, "Failed to init regmap: %d\n", ret);
sound/soc/codecs/wm8741.c
594
ret = wm8741_set_pdata(&i2c->dev, wm8741);
sound/soc/codecs/wm8741.c
596
dev_err(&i2c->dev, "Failed to set pdata: %d\n", ret);
sound/soc/codecs/wm8741.c
600
i2c_set_clientdata(i2c, wm8741);
sound/soc/codecs/wm8741.c
602
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8741.c
612
MODULE_DEVICE_TABLE(i2c, wm8741_i2c_id);
sound/soc/codecs/wm8750.c
783
static int wm8750_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8750.c
789
wm8750 = devm_kzalloc(&i2c->dev, sizeof(struct wm8750_priv),
sound/soc/codecs/wm8750.c
794
i2c_set_clientdata(i2c, wm8750);
sound/soc/codecs/wm8750.c
796
regmap = devm_regmap_init_i2c(i2c, &wm8750_regmap);
sound/soc/codecs/wm8750.c
800
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8750.c
810
MODULE_DEVICE_TABLE(i2c, wm8750_i2c_id);
sound/soc/codecs/wm8753.c
1555
static int wm8753_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8753.c
1560
wm8753 = devm_kzalloc(&i2c->dev, sizeof(struct wm8753_priv),
sound/soc/codecs/wm8753.c
1565
i2c_set_clientdata(i2c, wm8753);
sound/soc/codecs/wm8753.c
1567
wm8753->regmap = devm_regmap_init_i2c(i2c, &wm8753_regmap);
sound/soc/codecs/wm8753.c
1570
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/wm8753.c
1575
ret = devm_snd_soc_register_component(&i2c->dev, &soc_component_dev_wm8753,
sound/soc/codecs/wm8753.c
1578
dev_err(&i2c->dev, "Failed to register CODEC: %d\n", ret);
sound/soc/codecs/wm8753.c
1587
MODULE_DEVICE_TABLE(i2c, wm8753_i2c_id);
sound/soc/codecs/wm8776.c
493
static int wm8776_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8776.c
498
wm8776 = devm_kzalloc(&i2c->dev, sizeof(struct wm8776_priv),
sound/soc/codecs/wm8776.c
503
wm8776->regmap = devm_regmap_init_i2c(i2c, &wm8776_regmap);
sound/soc/codecs/wm8776.c
507
i2c_set_clientdata(i2c, wm8776);
sound/soc/codecs/wm8776.c
509
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8776.c
520
MODULE_DEVICE_TABLE(i2c, wm8776_i2c_id);
sound/soc/codecs/wm8804-i2c.c
17
static int wm8804_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8804-i2c.c
21
regmap = devm_regmap_init_i2c(i2c, &wm8804_regmap_config);
sound/soc/codecs/wm8804-i2c.c
25
return wm8804_probe(&i2c->dev, regmap);
sound/soc/codecs/wm8804-i2c.c
28
static void wm8804_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/wm8804-i2c.c
30
wm8804_remove(&i2c->dev);
sound/soc/codecs/wm8804-i2c.c
37
MODULE_DEVICE_TABLE(i2c, wm8804_i2c_id);
sound/soc/codecs/wm8900.c
1267
static int wm8900_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8900.c
1272
wm8900 = devm_kzalloc(&i2c->dev, sizeof(struct wm8900_priv),
sound/soc/codecs/wm8900.c
1277
wm8900->regmap = devm_regmap_init_i2c(i2c, &wm8900_regmap);
sound/soc/codecs/wm8900.c
1281
i2c_set_clientdata(i2c, wm8900);
sound/soc/codecs/wm8900.c
1283
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8900.c
1296
MODULE_DEVICE_TABLE(i2c, wm8900_i2c_id);
sound/soc/codecs/wm8903.c
1914
static int wm8903_set_pdata_irq_trigger(struct i2c_client *i2c,
sound/soc/codecs/wm8903.c
1917
struct irq_data *irq_data = irq_get_irq_data(i2c->irq);
sound/soc/codecs/wm8903.c
1919
dev_err(&i2c->dev, "Invalid IRQ: %d\n",
sound/soc/codecs/wm8903.c
1920
i2c->irq);
sound/soc/codecs/wm8903.c
1943
static int wm8903_set_pdata_from_of(struct i2c_client *i2c,
sound/soc/codecs/wm8903.c
1946
const struct device_node *np = i2c->dev.of_node;
sound/soc/codecs/wm8903.c
1976
dev_err(&i2c->dev, "Invalid gpio-cfg[%d] %x\n",
sound/soc/codecs/wm8903.c
1986
static int wm8903_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8903.c
1988
struct wm8903_platform_data *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/wm8903.c
1995
wm8903 = devm_kzalloc(&i2c->dev, sizeof(*wm8903), GFP_KERNEL);
sound/soc/codecs/wm8903.c
2000
wm8903->dev = &i2c->dev;
sound/soc/codecs/wm8903.c
2002
wm8903->regmap = devm_regmap_init_i2c(i2c, &wm8903_regmap);
sound/soc/codecs/wm8903.c
2005
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/wm8903.c
2010
i2c_set_clientdata(i2c, wm8903);
sound/soc/codecs/wm8903.c
2016
wm8903->pdata = devm_kzalloc(&i2c->dev, sizeof(*wm8903->pdata),
sound/soc/codecs/wm8903.c
2021
if (i2c->irq) {
sound/soc/codecs/wm8903.c
2022
ret = wm8903_set_pdata_irq_trigger(i2c, wm8903->pdata);
sound/soc/codecs/wm8903.c
2027
if (i2c->dev.of_node) {
sound/soc/codecs/wm8903.c
2028
ret = wm8903_set_pdata_from_of(i2c, wm8903->pdata);
sound/soc/codecs/wm8903.c
2039
ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm8903->supplies),
sound/soc/codecs/wm8903.c
2042
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/wm8903.c
2049
dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret);
sound/soc/codecs/wm8903.c
2055
dev_err(&i2c->dev, "Failed to read chip ID: %d\n", ret);
sound/soc/codecs/wm8903.c
2059
dev_err(&i2c->dev, "Device with ID %x is not a WM8903\n", val);
sound/soc/codecs/wm8903.c
2066
dev_err(&i2c->dev, "Failed to read chip revision: %d\n", ret);
sound/soc/codecs/wm8903.c
2069
dev_info(&i2c->dev, "WM8903 revision %c\n",
sound/soc/codecs/wm8903.c
2118
if (i2c->irq) {
sound/soc/codecs/wm8903.c
2130
ret = request_threaded_irq(i2c->irq, NULL, wm8903_irq,
sound/soc/codecs/wm8903.c
2176
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8903.c
2209
MODULE_DEVICE_TABLE(i2c, wm8903_i2c_id);
sound/soc/codecs/wm8904.c
2336
static int wm8904_parse_drc_cfg_from_of(struct i2c_client *i2c,
sound/soc/codecs/wm8904.c
2339
const struct device_node *np = i2c->dev.of_node;
sound/soc/codecs/wm8904.c
2347
dev_err(&i2c->dev, "Could not get wlf,drc-cfg-names length: %d",
sound/soc/codecs/wm8904.c
2352
pdata->drc_cfgs = devm_kzalloc(&i2c->dev,
sound/soc/codecs/wm8904.c
2360
dev_err(&i2c->dev,
sound/soc/codecs/wm8904.c
2367
dev_err(&i2c->dev,
sound/soc/codecs/wm8904.c
2377
static int wm8904_parse_retune_cfg_from_of(struct i2c_client *i2c,
sound/soc/codecs/wm8904.c
2380
const struct device_node *np = i2c->dev.of_node;
sound/soc/codecs/wm8904.c
2388
dev_err(&i2c->dev,
sound/soc/codecs/wm8904.c
2394
pdata->retune_mobile_cfgs = devm_kzalloc(&i2c->dev,
sound/soc/codecs/wm8904.c
2402
dev_err(&i2c->dev,
sound/soc/codecs/wm8904.c
2409
dev_err(&i2c->dev,
sound/soc/codecs/wm8904.c
2416
dev_err(&i2c->dev,
sound/soc/codecs/wm8904.c
2426
static int wm8904_set_pdata_from_of(struct i2c_client *i2c,
sound/soc/codecs/wm8904.c
2429
const struct device_node *np = i2c->dev.of_node;
sound/soc/codecs/wm8904.c
2433
pdata = devm_kzalloc(&i2c->dev, sizeof(*pdata), GFP_KERNEL);
sound/soc/codecs/wm8904.c
2453
ret = wm8904_parse_drc_cfg_from_of(i2c, pdata);
sound/soc/codecs/wm8904.c
2457
ret = wm8904_parse_retune_cfg_from_of(i2c, pdata);
sound/soc/codecs/wm8904.c
2467
static int wm8904_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8904.c
2473
wm8904 = devm_kzalloc(&i2c->dev, sizeof(struct wm8904_priv),
sound/soc/codecs/wm8904.c
2478
wm8904->mclk = devm_clk_get(&i2c->dev, "mclk");
sound/soc/codecs/wm8904.c
2481
dev_err(&i2c->dev, "Failed to get MCLK\n");
sound/soc/codecs/wm8904.c
2485
wm8904->regmap = devm_regmap_init_i2c(i2c, &wm8904_regmap);
sound/soc/codecs/wm8904.c
2488
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/wm8904.c
2493
wm8904->devtype = (uintptr_t)i2c_get_match_data(i2c);
sound/soc/codecs/wm8904.c
2495
i2c_set_clientdata(i2c, wm8904);
sound/soc/codecs/wm8904.c
2497
if (i2c->dev.of_node) {
sound/soc/codecs/wm8904.c
2498
ret = wm8904_set_pdata_from_of(i2c, wm8904);
sound/soc/codecs/wm8904.c
2500
dev_err(&i2c->dev, "Failed to set platform data from of: %d\n", ret);
sound/soc/codecs/wm8904.c
2504
wm8904->pdata = i2c->dev.platform_data;
sound/soc/codecs/wm8904.c
2510
ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm8904->supplies),
sound/soc/codecs/wm8904.c
2513
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/wm8904.c
2520
dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret);
sound/soc/codecs/wm8904.c
2526
dev_err(&i2c->dev, "Failed to read ID register: %d\n", ret);
sound/soc/codecs/wm8904.c
2530
dev_err(&i2c->dev, "Device is not a WM8904, ID is %x\n", val);
sound/soc/codecs/wm8904.c
2537
dev_err(&i2c->dev, "Failed to read device revision: %d\n",
sound/soc/codecs/wm8904.c
2541
dev_info(&i2c->dev, "revision %c\n", val + 'A');
sound/soc/codecs/wm8904.c
2545
dev_err(&i2c->dev, "Failed to issue reset: %d\n", ret);
sound/soc/codecs/wm8904.c
2611
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8904.c
2629
MODULE_DEVICE_TABLE(i2c, wm8904_i2c_id);
sound/soc/codecs/wm8940.c
831
static int wm8940_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8940.c
836
wm8940 = devm_kzalloc(&i2c->dev, sizeof(struct wm8940_priv),
sound/soc/codecs/wm8940.c
841
wm8940->regmap = devm_regmap_init_i2c(i2c, &wm8940_regmap);
sound/soc/codecs/wm8940.c
845
i2c_set_clientdata(i2c, wm8940);
sound/soc/codecs/wm8940.c
847
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8940.c
857
MODULE_DEVICE_TABLE(i2c, wm8940_i2c_id);
sound/soc/codecs/wm8955.c
1002
MODULE_DEVICE_TABLE(i2c, wm8955_i2c_id);
sound/soc/codecs/wm8955.c
972
static int wm8955_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8955.c
977
wm8955 = devm_kzalloc(&i2c->dev, sizeof(struct wm8955_priv),
sound/soc/codecs/wm8955.c
982
wm8955->regmap = devm_regmap_init_i2c(i2c, &wm8955_regmap);
sound/soc/codecs/wm8955.c
985
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/wm8955.c
990
i2c_set_clientdata(i2c, wm8955);
sound/soc/codecs/wm8955.c
992
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8960.c
1410
static void wm8960_set_pdata_from_of(struct i2c_client *i2c,
sound/soc/codecs/wm8960.c
1413
const struct device_node *np = i2c->dev.of_node;
sound/soc/codecs/wm8960.c
1428
static int wm8960_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8960.c
1430
struct wm8960_data *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/wm8960.c
1436
wm8960 = devm_kzalloc(&i2c->dev, sizeof(struct wm8960_priv),
sound/soc/codecs/wm8960.c
1441
wm8960->mclk = devm_clk_get(&i2c->dev, "mclk");
sound/soc/codecs/wm8960.c
1450
dev_err(&i2c->dev, "Failed to read MCLK rate: %d\n",
sound/soc/codecs/wm8960.c
1458
ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm8960->supplies),
sound/soc/codecs/wm8960.c
1461
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/wm8960.c
1468
dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret);
sound/soc/codecs/wm8960.c
1472
wm8960->regmap = devm_regmap_init_i2c(i2c, &wm8960_regmap);
sound/soc/codecs/wm8960.c
1480
else if (i2c->dev.of_node)
sound/soc/codecs/wm8960.c
1481
wm8960_set_pdata_from_of(i2c, &wm8960->pdata);
sound/soc/codecs/wm8960.c
1483
ret = i2c_master_recv(i2c, &val, sizeof(val));
sound/soc/codecs/wm8960.c
1485
dev_err(&i2c->dev, "Not wm8960, wm8960 reg can not read by i2c\n");
sound/soc/codecs/wm8960.c
1492
dev_err(&i2c->dev, "Failed to issue reset\n");
sound/soc/codecs/wm8960.c
1500
dev_err(&i2c->dev, "Failed to enable LRCM: %d\n",
sound/soc/codecs/wm8960.c
1532
i2c_set_clientdata(i2c, wm8960);
sound/soc/codecs/wm8960.c
1534
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8960.c
1557
MODULE_DEVICE_TABLE(i2c, wm8960_i2c_id);
sound/soc/codecs/wm8961.c
914
static int wm8961_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8961.c
920
wm8961 = devm_kzalloc(&i2c->dev, sizeof(struct wm8961_priv),
sound/soc/codecs/wm8961.c
925
wm8961->regmap = devm_regmap_init_i2c(i2c, &wm8961_regmap);
sound/soc/codecs/wm8961.c
931
dev_err(&i2c->dev, "Failed to read chip ID: %d\n", ret);
sound/soc/codecs/wm8961.c
936
dev_err(&i2c->dev, "Device is not a WM8961: ID=0x%x\n", val);
sound/soc/codecs/wm8961.c
946
dev_err(&i2c->dev, "Failed to read chip revision: %d\n", ret);
sound/soc/codecs/wm8961.c
950
dev_info(&i2c->dev, "WM8961 family %d revision %c\n",
sound/soc/codecs/wm8961.c
957
dev_err(&i2c->dev, "Failed to issue reset: %d\n", ret);
sound/soc/codecs/wm8961.c
961
i2c_set_clientdata(i2c, wm8961);
sound/soc/codecs/wm8961.c
963
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8961.c
973
MODULE_DEVICE_TABLE(i2c, wm8961_i2c_id);
sound/soc/codecs/wm8962.c
3636
static int wm8962_set_pdata_from_of(struct i2c_client *i2c,
sound/soc/codecs/wm8962.c
3639
const struct device_node *np = i2c->dev.of_node;
sound/soc/codecs/wm8962.c
3661
pdata->mclk = devm_clk_get_optional(&i2c->dev, NULL);
sound/soc/codecs/wm8962.c
3665
static int wm8962_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8962.c
3667
struct wm8962_pdata *pdata = dev_get_platdata(&i2c->dev);
sound/soc/codecs/wm8962.c
3672
wm8962 = devm_kzalloc(&i2c->dev, sizeof(*wm8962), GFP_KERNEL);
sound/soc/codecs/wm8962.c
3678
i2c_set_clientdata(i2c, wm8962);
sound/soc/codecs/wm8962.c
3682
wm8962->irq = i2c->irq;
sound/soc/codecs/wm8962.c
3687
} else if (i2c->dev.of_node) {
sound/soc/codecs/wm8962.c
3688
ret = wm8962_set_pdata_from_of(i2c, &wm8962->pdata);
sound/soc/codecs/wm8962.c
3696
ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm8962->supplies),
sound/soc/codecs/wm8962.c
3699
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/wm8962.c
3706
dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret);
sound/soc/codecs/wm8962.c
3710
wm8962->regmap = devm_regmap_init_i2c(i2c, &wm8962_regmap);
sound/soc/codecs/wm8962.c
3713
dev_err(&i2c->dev, "Failed to allocate regmap: %d\n", ret);
sound/soc/codecs/wm8962.c
3726
dev_err(&i2c->dev, "Failed to read ID register\n");
sound/soc/codecs/wm8962.c
3730
dev_err(&i2c->dev,
sound/soc/codecs/wm8962.c
3738
dev_err(&i2c->dev, "Failed to read device revision: %d\n",
sound/soc/codecs/wm8962.c
3743
dev_info(&i2c->dev, "customer id %x revision %c\n",
sound/soc/codecs/wm8962.c
3752
dev_err(&i2c->dev, "Failed to issue reset\n");
sound/soc/codecs/wm8962.c
3832
dev_err(&i2c->dev,
sound/soc/codecs/wm8962.c
3849
ret = devm_request_threaded_irq(&i2c->dev, wm8962->irq, NULL,
sound/soc/codecs/wm8962.c
3852
"wm8962", &i2c->dev);
sound/soc/codecs/wm8962.c
3854
dev_err(&i2c->dev, "Failed to request IRQ %d: %d\n",
sound/soc/codecs/wm8962.c
3868
pm_runtime_enable(&i2c->dev);
sound/soc/codecs/wm8962.c
3869
pm_request_idle(&i2c->dev);
sound/soc/codecs/wm8962.c
3871
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8962.c
3889
pm_runtime_disable(&i2c->dev);
sound/soc/codecs/wm8962.c
3997
MODULE_DEVICE_TABLE(i2c, wm8962_i2c_id);
sound/soc/codecs/wm8971.c
675
static int wm8971_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8971.c
679
wm8971 = devm_kzalloc(&i2c->dev, sizeof(struct wm8971_priv),
sound/soc/codecs/wm8971.c
684
wm8971->regmap = devm_regmap_init_i2c(i2c, &wm8971_regmap);
sound/soc/codecs/wm8971.c
688
i2c_set_clientdata(i2c, wm8971);
sound/soc/codecs/wm8971.c
690
return devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8971.c
698
MODULE_DEVICE_TABLE(i2c, wm8971_i2c_id);
sound/soc/codecs/wm8974.c
692
static int wm8974_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8974.c
698
priv = devm_kzalloc(&i2c->dev, sizeof(*priv), GFP_KERNEL);
sound/soc/codecs/wm8974.c
702
i2c_set_clientdata(i2c, priv);
sound/soc/codecs/wm8974.c
704
regmap = devm_regmap_init_i2c(i2c, &wm8974_regmap);
sound/soc/codecs/wm8974.c
708
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8974.c
718
MODULE_DEVICE_TABLE(i2c, wm8974_i2c_id);
sound/soc/codecs/wm8978.c
1025
static int wm8978_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8978.c
1030
wm8978 = devm_kzalloc(&i2c->dev, sizeof(struct wm8978_priv),
sound/soc/codecs/wm8978.c
1035
wm8978->regmap = devm_regmap_init_i2c(i2c, &wm8978_regmap_config);
sound/soc/codecs/wm8978.c
1038
dev_err(&i2c->dev, "Failed to allocate regmap: %d\n", ret);
sound/soc/codecs/wm8978.c
1042
i2c_set_clientdata(i2c, wm8978);
sound/soc/codecs/wm8978.c
1047
dev_err(&i2c->dev, "Failed to issue reset: %d\n", ret);
sound/soc/codecs/wm8978.c
1051
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8978.c
1054
dev_err(&i2c->dev, "Failed to register CODEC: %d\n", ret);
sound/soc/codecs/wm8978.c
1065
MODULE_DEVICE_TABLE(i2c, wm8978_i2c_id);
sound/soc/codecs/wm8983.c
1038
static int wm8983_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8983.c
1043
wm8983 = devm_kzalloc(&i2c->dev, sizeof *wm8983, GFP_KERNEL);
sound/soc/codecs/wm8983.c
1047
wm8983->regmap = devm_regmap_init_i2c(i2c, &wm8983_regmap);
sound/soc/codecs/wm8983.c
1050
dev_err(&i2c->dev, "Failed to init regmap: %d\n", ret);
sound/soc/codecs/wm8983.c
1054
i2c_set_clientdata(i2c, wm8983);
sound/soc/codecs/wm8983.c
1056
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8983.c
1066
MODULE_DEVICE_TABLE(i2c, wm8983_i2c_id);
sound/soc/codecs/wm8985.c
1171
static int wm8985_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8985.c
1176
wm8985 = devm_kzalloc(&i2c->dev, sizeof *wm8985, GFP_KERNEL);
sound/soc/codecs/wm8985.c
1180
i2c_set_clientdata(i2c, wm8985);
sound/soc/codecs/wm8985.c
1182
wm8985->dev_type = (uintptr_t)i2c_get_match_data(i2c);
sound/soc/codecs/wm8985.c
1184
wm8985->regmap = devm_regmap_init_i2c(i2c, &wm8985_regmap);
sound/soc/codecs/wm8985.c
1187
dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
sound/soc/codecs/wm8985.c
1192
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8985.c
1202
MODULE_DEVICE_TABLE(i2c, wm8985_i2c_id);
sound/soc/codecs/wm8988.c
875
static int wm8988_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8988.c
880
wm8988 = devm_kzalloc(&i2c->dev, sizeof(struct wm8988_priv),
sound/soc/codecs/wm8988.c
885
i2c_set_clientdata(i2c, wm8988);
sound/soc/codecs/wm8988.c
887
wm8988->regmap = devm_regmap_init_i2c(i2c, &wm8988_regmap);
sound/soc/codecs/wm8988.c
890
dev_err(&i2c->dev, "Failed to init regmap: %d\n", ret);
sound/soc/codecs/wm8988.c
894
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8988.c
903
MODULE_DEVICE_TABLE(i2c, wm8988_i2c_id);
sound/soc/codecs/wm8990.c
1225
static int wm8990_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8990.c
1230
wm8990 = devm_kzalloc(&i2c->dev, sizeof(struct wm8990_priv),
sound/soc/codecs/wm8990.c
1235
i2c_set_clientdata(i2c, wm8990);
sound/soc/codecs/wm8990.c
1237
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8990.c
1247
MODULE_DEVICE_TABLE(i2c, wm8990_i2c_id);
sound/soc/codecs/wm8991.c
1260
static int wm8991_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8991.c
1266
wm8991 = devm_kzalloc(&i2c->dev, sizeof(*wm8991), GFP_KERNEL);
sound/soc/codecs/wm8991.c
1270
wm8991->regmap = devm_regmap_init_i2c(i2c, &wm8991_regmap);
sound/soc/codecs/wm8991.c
1274
i2c_set_clientdata(i2c, wm8991);
sound/soc/codecs/wm8991.c
1278
dev_err(&i2c->dev, "Failed to read device ID: %d\n", ret);
sound/soc/codecs/wm8991.c
1282
dev_err(&i2c->dev, "Device with ID %x is not a WM8991\n", val);
sound/soc/codecs/wm8991.c
1288
dev_err(&i2c->dev, "Failed to issue reset: %d\n", ret);
sound/soc/codecs/wm8991.c
1311
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8991.c
1321
MODULE_DEVICE_TABLE(i2c, wm8991_i2c_id);
sound/soc/codecs/wm8993.c
1629
static int wm8993_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8993.c
1635
wm8993 = devm_kzalloc(&i2c->dev, sizeof(struct wm8993_priv),
sound/soc/codecs/wm8993.c
1640
wm8993->dev = &i2c->dev;
sound/soc/codecs/wm8993.c
1643
wm8993->regmap = devm_regmap_init_i2c(i2c, &wm8993_regmap);
sound/soc/codecs/wm8993.c
1646
dev_err(&i2c->dev, "Failed to allocate regmap: %d\n", ret);
sound/soc/codecs/wm8993.c
1650
i2c_set_clientdata(i2c, wm8993);
sound/soc/codecs/wm8993.c
1655
ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm8993->supplies),
sound/soc/codecs/wm8993.c
1658
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/wm8993.c
1665
dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret);
sound/soc/codecs/wm8993.c
1671
dev_err(&i2c->dev, "Failed to read chip ID: %d\n", ret);
sound/soc/codecs/wm8993.c
1676
dev_err(&i2c->dev, "Invalid ID register value %x\n", reg);
sound/soc/codecs/wm8993.c
1691
if (i2c->irq) {
sound/soc/codecs/wm8993.c
1699
ret = request_threaded_irq(i2c->irq, NULL, wm8993_irq,
sound/soc/codecs/wm8993.c
1711
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8993.c
1714
dev_err(&i2c->dev, "Failed to register CODEC: %d\n", ret);
sound/soc/codecs/wm8993.c
1721
if (i2c->irq)
sound/soc/codecs/wm8993.c
1722
free_irq(i2c->irq, wm8993);
sound/soc/codecs/wm8993.c
1728
static void wm8993_i2c_remove(struct i2c_client *i2c)
sound/soc/codecs/wm8993.c
1730
struct wm8993_priv *wm8993 = i2c_get_clientdata(i2c);
sound/soc/codecs/wm8993.c
1732
if (i2c->irq)
sound/soc/codecs/wm8993.c
1733
free_irq(i2c->irq, wm8993);
sound/soc/codecs/wm8993.c
1741
MODULE_DEVICE_TABLE(i2c, wm8993_i2c_id);
sound/soc/codecs/wm8993.c
470
struct i2c_client *i2c = to_i2c_client(component->dev);
sound/soc/codecs/wm8993.c
545
if (i2c->irq)
sound/soc/codecs/wm8993.c
558
if (i2c->irq && !time_left)
sound/soc/codecs/wm8995.c
2234
static int wm8995_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8995.c
2239
wm8995 = devm_kzalloc(&i2c->dev, sizeof(*wm8995), GFP_KERNEL);
sound/soc/codecs/wm8995.c
2243
i2c_set_clientdata(i2c, wm8995);
sound/soc/codecs/wm8995.c
2245
wm8995->regmap = devm_regmap_init_i2c(i2c, &wm8995_regmap);
sound/soc/codecs/wm8995.c
2248
dev_err(&i2c->dev, "Failed to register regmap: %d\n", ret);
sound/soc/codecs/wm8995.c
2252
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8995.c
2256
dev_err(&i2c->dev, "Failed to register CODEC: %d\n", ret);
sound/soc/codecs/wm8995.c
2266
MODULE_DEVICE_TABLE(i2c, wm8995_i2c_id);
sound/soc/codecs/wm8996.c
2006
struct i2c_client *i2c = to_i2c_client(component->dev);
sound/soc/codecs/wm8996.c
2106
if (i2c->irq)
sound/soc/codecs/wm8996.c
2116
WARN_ON(!i2c->irq);
sound/soc/codecs/wm8996.c
2619
struct i2c_client *i2c = to_i2c_client(component->dev);
sound/soc/codecs/wm8996.c
2633
if (i2c->irq) {
sound/soc/codecs/wm8996.c
2642
ret = request_threaded_irq(i2c->irq, NULL,
sound/soc/codecs/wm8996.c
2646
ret = request_threaded_irq(i2c->irq, NULL, wm8996_irq,
sound/soc/codecs/wm8996.c
2674
struct i2c_client *i2c = to_i2c_client(component->dev);
sound/soc/codecs/wm8996.c
2679
if (i2c->irq)
sound/soc/codecs/wm8996.c
2680
free_irq(i2c->irq, component);
sound/soc/codecs/wm8996.c
2755
static int wm8996_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm8996.c
2761
wm8996 = devm_kzalloc(&i2c->dev, sizeof(struct wm8996_priv),
sound/soc/codecs/wm8996.c
2766
i2c_set_clientdata(i2c, wm8996);
sound/soc/codecs/wm8996.c
2767
wm8996->dev = &i2c->dev;
sound/soc/codecs/wm8996.c
2769
if (dev_get_platdata(&i2c->dev))
sound/soc/codecs/wm8996.c
2770
memcpy(&wm8996->pdata, dev_get_platdata(&i2c->dev),
sound/soc/codecs/wm8996.c
2773
wm8996->ldo_ena = devm_gpiod_get_optional(&i2c->dev, "wlf,ldo1ena",
sound/soc/codecs/wm8996.c
2777
dev_err(&i2c->dev, "Failed to request LDO ENA GPIO: %d\n",
sound/soc/codecs/wm8996.c
2786
ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm8996->supplies),
sound/soc/codecs/wm8996.c
2789
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
sound/soc/codecs/wm8996.c
2803
dev_err(&i2c->dev,
sound/soc/codecs/wm8996.c
2812
dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret);
sound/soc/codecs/wm8996.c
2821
wm8996->regmap = devm_regmap_init_i2c(i2c, &wm8996_regmap);
sound/soc/codecs/wm8996.c
2824
dev_err(&i2c->dev, "regmap_init() failed: %d\n", ret);
sound/soc/codecs/wm8996.c
2830
dev_err(&i2c->dev, "Failed to read ID register: %d\n", ret);
sound/soc/codecs/wm8996.c
2834
dev_err(&i2c->dev, "Device is not a WM8996, ID %x\n", reg);
sound/soc/codecs/wm8996.c
2841
dev_err(&i2c->dev, "Failed to read device revision: %d\n",
sound/soc/codecs/wm8996.c
2846
dev_info(&i2c->dev, "revision %c\n",
sound/soc/codecs/wm8996.c
2856
dev_err(&i2c->dev, "Failed to issue reset: %d\n", ret);
sound/soc/codecs/wm8996.c
3022
dev_err(&i2c->dev, "Failed to read GPIO1: %d\n", ret);
sound/soc/codecs/wm8996.c
3033
dev_err(&i2c->dev, "Failed to read GPIO2: %d\n", ret);
sound/soc/codecs/wm8996.c
3044
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm8996.c
3078
MODULE_DEVICE_TABLE(i2c, wm8996_i2c_id);
sound/soc/codecs/wm8996.c
655
struct i2c_client *i2c = to_i2c_client(component->dev);
sound/soc/codecs/wm8996.c
664
if (i2c->irq) {
sound/soc/codecs/wm9081.c
1302
static int wm9081_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm9081.c
1308
wm9081 = devm_kzalloc(&i2c->dev, sizeof(struct wm9081_priv),
sound/soc/codecs/wm9081.c
1313
i2c_set_clientdata(i2c, wm9081);
sound/soc/codecs/wm9081.c
1315
wm9081->regmap = devm_regmap_init_i2c(i2c, &wm9081_regmap);
sound/soc/codecs/wm9081.c
1318
dev_err(&i2c->dev, "regmap_init() failed: %d\n", ret);
sound/soc/codecs/wm9081.c
1324
dev_err(&i2c->dev, "Failed to read chip ID: %d\n", ret);
sound/soc/codecs/wm9081.c
1328
dev_err(&i2c->dev, "Device is not a WM9081: ID=0x%x\n", reg);
sound/soc/codecs/wm9081.c
1334
dev_err(&i2c->dev, "Failed to issue reset\n");
sound/soc/codecs/wm9081.c
1338
if (dev_get_platdata(&i2c->dev))
sound/soc/codecs/wm9081.c
1339
memcpy(&wm9081->pdata, dev_get_platdata(&i2c->dev),
sound/soc/codecs/wm9081.c
1352
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm9081.c
1367
MODULE_DEVICE_TABLE(i2c, wm9081_i2c_id);
sound/soc/codecs/wm9090.c
563
static int wm9090_i2c_probe(struct i2c_client *i2c)
sound/soc/codecs/wm9090.c
569
wm9090 = devm_kzalloc(&i2c->dev, sizeof(*wm9090), GFP_KERNEL);
sound/soc/codecs/wm9090.c
573
wm9090->regmap = devm_regmap_init_i2c(i2c, &wm9090_regmap);
sound/soc/codecs/wm9090.c
576
dev_err(&i2c->dev, "Failed to allocate regmap: %d\n", ret);
sound/soc/codecs/wm9090.c
585
dev_err(&i2c->dev, "Device is not a WM9090, ID=%x\n", reg);
sound/soc/codecs/wm9090.c
593
if (i2c->dev.platform_data)
sound/soc/codecs/wm9090.c
594
memcpy(&wm9090->pdata, i2c->dev.platform_data,
sound/soc/codecs/wm9090.c
597
i2c_set_clientdata(i2c, wm9090);
sound/soc/codecs/wm9090.c
599
ret = devm_snd_soc_register_component(&i2c->dev,
sound/soc/codecs/wm9090.c
602
dev_err(&i2c->dev, "Failed to register CODEC: %d\n", ret);
sound/soc/codecs/wm9090.c
614
MODULE_DEVICE_TABLE(i2c, wm9090_id);