Lines Matching refs:i2c
58 int max8998_read_reg(struct i2c_client *i2c, u8 reg, u8 *dest) in max8998_read_reg() argument
60 struct max8998_dev *max8998 = i2c_get_clientdata(i2c); in max8998_read_reg()
64 ret = i2c_smbus_read_byte_data(i2c, reg); in max8998_read_reg()
75 int max8998_bulk_read(struct i2c_client *i2c, u8 reg, int count, u8 *buf) in max8998_bulk_read() argument
77 struct max8998_dev *max8998 = i2c_get_clientdata(i2c); in max8998_bulk_read()
81 ret = i2c_smbus_read_i2c_block_data(i2c, reg, count, buf); in max8998_bulk_read()
90 int max8998_write_reg(struct i2c_client *i2c, u8 reg, u8 value) in max8998_write_reg() argument
92 struct max8998_dev *max8998 = i2c_get_clientdata(i2c); in max8998_write_reg()
96 ret = i2c_smbus_write_byte_data(i2c, reg, value); in max8998_write_reg()
102 int max8998_bulk_write(struct i2c_client *i2c, u8 reg, int count, u8 *buf) in max8998_bulk_write() argument
104 struct max8998_dev *max8998 = i2c_get_clientdata(i2c); in max8998_bulk_write()
108 ret = i2c_smbus_write_i2c_block_data(i2c, reg, count, buf); in max8998_bulk_write()
117 int max8998_update_reg(struct i2c_client *i2c, u8 reg, u8 val, u8 mask) in max8998_update_reg() argument
119 struct max8998_dev *max8998 = i2c_get_clientdata(i2c); in max8998_update_reg()
123 ret = i2c_smbus_read_byte_data(i2c, reg); in max8998_update_reg()
127 ret = i2c_smbus_write_byte_data(i2c, reg, new_val); in max8998_update_reg()
172 static inline unsigned long max8998_i2c_get_driver_data(struct i2c_client *i2c, in max8998_i2c_get_driver_data() argument
175 if (IS_ENABLED(CONFIG_OF) && i2c->dev.of_node) { in max8998_i2c_get_driver_data()
177 match = of_match_node(max8998_dt_match, i2c->dev.of_node); in max8998_i2c_get_driver_data()
184 static int max8998_i2c_probe(struct i2c_client *i2c, in max8998_i2c_probe() argument
187 struct max8998_platform_data *pdata = dev_get_platdata(&i2c->dev); in max8998_i2c_probe()
191 max8998 = devm_kzalloc(&i2c->dev, sizeof(struct max8998_dev), in max8998_i2c_probe()
196 if (IS_ENABLED(CONFIG_OF) && i2c->dev.of_node) { in max8998_i2c_probe()
197 pdata = max8998_i2c_parse_dt_pdata(&i2c->dev); in max8998_i2c_probe()
204 i2c_set_clientdata(i2c, max8998); in max8998_i2c_probe()
205 max8998->dev = &i2c->dev; in max8998_i2c_probe()
206 max8998->i2c = i2c; in max8998_i2c_probe()
207 max8998->irq = i2c->irq; in max8998_i2c_probe()
208 max8998->type = max8998_i2c_get_driver_data(i2c, id); in max8998_i2c_probe()
217 max8998->rtc = i2c_new_dummy(i2c->adapter, RTC_I2C_ADDR); in max8998_i2c_probe()
219 dev_err(&i2c->dev, "Failed to allocate I2C device for RTC\n"); in max8998_i2c_probe()
257 static int max8998_i2c_remove(struct i2c_client *i2c) in max8998_i2c_remove() argument
259 struct max8998_dev *max8998 = i2c_get_clientdata(i2c); in max8998_i2c_remove()
273 MODULE_DEVICE_TABLE(i2c, max8998_i2c_id);
277 struct i2c_client *i2c = container_of(dev, struct i2c_client, dev); in max8998_suspend() local
278 struct max8998_dev *max8998 = i2c_get_clientdata(i2c); in max8998_suspend()
287 struct i2c_client *i2c = container_of(dev, struct i2c_client, dev); in max8998_resume() local
288 struct max8998_dev *max8998 = i2c_get_clientdata(i2c); in max8998_resume()
297 return max8998_irq_resume(i2c_get_clientdata(i2c)); in max8998_resume()
347 struct i2c_client *i2c = container_of(dev, struct i2c_client, dev); in max8998_freeze() local
351 max8998_read_reg(i2c, max8998_dump[i].addr, in max8998_freeze()
360 struct i2c_client *i2c = container_of(dev, struct i2c_client, dev); in max8998_restore() local
364 max8998_write_reg(i2c, max8998_dump[i].addr, in max8998_restore()