Lines Matching +full:i2c +full:- +full:compatible

1 // SPDX-License-Identifier: GPL-2.0
13 #include <linux/i2c.h>
17 struct i2c_client *i2c = to_i2c_client(st->dev); in ad5686_i2c_read() local
20 .addr = i2c->addr, in ad5686_i2c_read()
21 .flags = i2c->flags, in ad5686_i2c_read()
23 .buf = &st->data[0].d8[1], in ad5686_i2c_read()
26 .addr = i2c->addr, in ad5686_i2c_read()
27 .flags = i2c->flags | I2C_M_RD, in ad5686_i2c_read()
29 .buf = (char *)&st->data[0].d16, in ad5686_i2c_read()
34 st->data[0].d32 = cpu_to_be32(AD5686_CMD(AD5686_CMD_NOOP) | in ad5686_i2c_read()
38 ret = i2c_transfer(i2c->adapter, msg, 2); in ad5686_i2c_read()
42 return be16_to_cpu(st->data[0].d16); in ad5686_i2c_read()
48 struct i2c_client *i2c = to_i2c_client(st->dev); in ad5686_i2c_write() local
51 st->data[0].d32 = cpu_to_be32(AD5686_CMD(cmd) | AD5686_ADDR(addr) in ad5686_i2c_write()
54 ret = i2c_master_send(i2c, &st->data[0].d8[1], 3); in ad5686_i2c_write()
58 return (ret != 3) ? -EIO : 0; in ad5686_i2c_write()
61 static int ad5686_i2c_probe(struct i2c_client *i2c) in ad5686_i2c_probe() argument
63 const struct i2c_device_id *id = i2c_client_get_device_id(i2c); in ad5686_i2c_probe()
64 return ad5686_probe(&i2c->dev, id->driver_data, id->name, in ad5686_i2c_probe()
68 static void ad5686_i2c_remove(struct i2c_client *i2c) in ad5686_i2c_remove() argument
70 ad5686_remove(&i2c->dev); in ad5686_i2c_remove()
92 MODULE_DEVICE_TABLE(i2c, ad5686_i2c_id);
95 { .compatible = "adi,ad5311r" },
96 { .compatible = "adi,ad5337r" },
97 { .compatible = "adi,ad5338r" },
98 { .compatible = "adi,ad5671r" },
99 { .compatible = "adi,ad5675r" },
100 { .compatible = "adi,ad5691r" },
101 { .compatible = "adi,ad5692r" },
102 { .compatible = "adi,ad5693" },
103 { .compatible = "adi,ad5693r" },
104 { .compatible = "adi,ad5694" },
105 { .compatible = "adi,ad5694r" },
106 { .compatible = "adi,ad5695r" },
107 { .compatible = "adi,ad5696" },
108 { .compatible = "adi,ad5696r" },
126 MODULE_DESCRIPTION("Analog Devices AD5686 and similar multi-channel DACs");