Lines Matching refs:i2c
237 MODULE_DEVICE_TABLE(i2c, axp20x_i2c_id);
445 static int axp20x_i2c_probe(struct i2c_client *i2c, in axp20x_i2c_probe() argument
451 axp20x = devm_kzalloc(&i2c->dev, sizeof(*axp20x), GFP_KERNEL); in axp20x_i2c_probe()
455 ret = axp20x_match_device(axp20x, &i2c->dev); in axp20x_i2c_probe()
459 axp20x->i2c_client = i2c; in axp20x_i2c_probe()
460 axp20x->dev = &i2c->dev; in axp20x_i2c_probe()
463 axp20x->regmap = devm_regmap_init_i2c(i2c, axp20x->regmap_cfg); in axp20x_i2c_probe()
466 dev_err(&i2c->dev, "regmap init failed: %d\n", ret); in axp20x_i2c_probe()
470 ret = regmap_add_irq_chip(axp20x->regmap, i2c->irq, in axp20x_i2c_probe()
475 dev_err(&i2c->dev, "failed to add irq chip: %d\n", ret); in axp20x_i2c_probe()
483 dev_err(&i2c->dev, "failed to add MFD devices: %d\n", ret); in axp20x_i2c_probe()
484 regmap_del_irq_chip(i2c->irq, axp20x->regmap_irqc); in axp20x_i2c_probe()
493 dev_info(&i2c->dev, "AXP20X driver loaded\n"); in axp20x_i2c_probe()
498 static int axp20x_i2c_remove(struct i2c_client *i2c) in axp20x_i2c_remove() argument
500 struct axp20x_dev *axp20x = i2c_get_clientdata(i2c); in axp20x_i2c_remove()