Lines Matching defs:i2c

12 #include <linux/i2c.h>
42 int max8998_read_reg(struct i2c_client *i2c, u8 reg, u8 *dest)
44 struct max8998_dev *max8998 = i2c_get_clientdata(i2c);
48 ret = i2c_smbus_read_byte_data(i2c, reg);
59 int max8998_bulk_read(struct i2c_client *i2c, u8 reg, int count, u8 *buf)
61 struct max8998_dev *max8998 = i2c_get_clientdata(i2c);
65 ret = i2c_smbus_read_i2c_block_data(i2c, reg, count, buf);
74 int max8998_write_reg(struct i2c_client *i2c, u8 reg, u8 value)
76 struct max8998_dev *max8998 = i2c_get_clientdata(i2c);
80 ret = i2c_smbus_write_byte_data(i2c, reg, value);
86 int max8998_bulk_write(struct i2c_client *i2c, u8 reg, int count, u8 *buf)
88 struct max8998_dev *max8998 = i2c_get_clientdata(i2c);
92 ret = i2c_smbus_write_i2c_block_data(i2c, reg, count, buf);
101 int max8998_update_reg(struct i2c_client *i2c, u8 reg, u8 val, u8 mask)
103 struct max8998_dev *max8998 = i2c_get_clientdata(i2c);
107 ret = i2c_smbus_read_byte_data(i2c, reg);
111 ret = i2c_smbus_write_byte_data(i2c, reg, new_val);
155 static inline unsigned long max8998_i2c_get_driver_data(struct i2c_client *i2c,
158 if (i2c->dev.of_node)
159 return (unsigned long)of_device_get_match_data(&i2c->dev);
164 static int max8998_i2c_probe(struct i2c_client *i2c)
166 const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
167 struct max8998_platform_data *pdata = dev_get_platdata(&i2c->dev);
171 max8998 = devm_kzalloc(&i2c->dev, sizeof(struct max8998_dev),
176 if (IS_ENABLED(CONFIG_OF) && i2c->dev.of_node) {
177 pdata = max8998_i2c_parse_dt_pdata(&i2c->dev);
182 i2c_set_clientdata(i2c, max8998);
183 max8998->dev = &i2c->dev;
184 max8998->i2c = i2c;
185 max8998->irq = i2c->irq;
186 max8998->type = max8998_i2c_get_driver_data(i2c, id);
195 max8998->rtc = i2c_new_dummy_device(i2c->adapter, RTC_I2C_ADDR);
197 dev_err(&i2c->dev, "Failed to allocate I2C device for RTC\n");
243 struct i2c_client *i2c = to_i2c_client(dev);
244 struct max8998_dev *max8998 = i2c_get_clientdata(i2c);
253 struct i2c_client *i2c = to_i2c_client(dev);
254 struct max8998_dev *max8998 = i2c_get_clientdata(i2c);
263 return max8998_irq_resume(i2c_get_clientdata(i2c));
313 struct i2c_client *i2c = to_i2c_client(dev);
317 max8998_read_reg(i2c, max8998_dump[i].addr,
326 struct i2c_client *i2c = to_i2c_client(dev);
330 max8998_write_reg(i2c, max8998_dump[i].addr,