Lines Matching refs:i2c
249 static int rc5t583_i2c_probe(struct i2c_client *i2c, in rc5t583_i2c_probe() argument
253 struct rc5t583_platform_data *pdata = dev_get_platdata(&i2c->dev); in rc5t583_i2c_probe()
258 dev_err(&i2c->dev, "Err: Platform data not found\n"); in rc5t583_i2c_probe()
262 rc5t583 = devm_kzalloc(&i2c->dev, sizeof(struct rc5t583), GFP_KERNEL); in rc5t583_i2c_probe()
264 dev_err(&i2c->dev, "Memory allocation failed\n"); in rc5t583_i2c_probe()
268 rc5t583->dev = &i2c->dev; in rc5t583_i2c_probe()
269 i2c_set_clientdata(i2c, rc5t583); in rc5t583_i2c_probe()
271 rc5t583->regmap = devm_regmap_init_i2c(i2c, &rc5t583_regmap_config); in rc5t583_i2c_probe()
274 dev_err(&i2c->dev, "regmap initialization failed: %d\n", ret); in rc5t583_i2c_probe()
282 if (i2c->irq) { in rc5t583_i2c_probe()
283 ret = rc5t583_irq_init(rc5t583, i2c->irq, pdata->irq_base); in rc5t583_i2c_probe()
286 dev_warn(&i2c->dev, "IRQ init failed: %d\n", ret); in rc5t583_i2c_probe()
294 dev_err(&i2c->dev, "add mfd devices failed: %d\n", ret); in rc5t583_i2c_probe()
306 static int rc5t583_i2c_remove(struct i2c_client *i2c) in rc5t583_i2c_remove() argument
308 struct rc5t583 *rc5t583 = i2c_get_clientdata(i2c); in rc5t583_i2c_remove()
320 MODULE_DEVICE_TABLE(i2c, rc5t583_i2c_id);