Lines Matching refs:tps80031
150 static struct tps80031 *tps80031_power_off_dev;
219 static void tps80031_pupd_init(struct tps80031 *tps80031, in tps80031_pupd_init() argument
238 tps80031_update(tps80031->dev, TPS80031_SLAVE_ID1, pupd->reg, in tps80031_pupd_init()
243 static int tps80031_init_ext_control(struct tps80031 *tps80031, in tps80031_init_ext_control() argument
246 struct device *dev = tps80031->dev; in tps80031_init_ext_control()
272 static int tps80031_irq_init(struct tps80031 *tps80031, int irq, int irq_base) in tps80031_irq_init() argument
274 struct device *dev = tps80031->dev; in tps80031_irq_init()
304 ret = regmap_add_irq_chip(tps80031->regmap[TPS80031_SLAVE_ID2], irq, in tps80031_irq_init()
306 &tps80031_irq_chip, &tps80031->irq_data); in tps80031_irq_init()
422 struct tps80031 *tps80031; in tps80031_probe() local
433 tps80031 = devm_kzalloc(&client->dev, sizeof(*tps80031), GFP_KERNEL); in tps80031_probe()
434 if (!tps80031) { in tps80031_probe()
441 tps80031->clients[i] = client; in tps80031_probe()
443 tps80031->clients[i] = i2c_new_dummy(client->adapter, in tps80031_probe()
445 if (!tps80031->clients[i]) { in tps80031_probe()
451 i2c_set_clientdata(tps80031->clients[i], tps80031); in tps80031_probe()
452 tps80031->regmap[i] = devm_regmap_init_i2c(tps80031->clients[i], in tps80031_probe()
454 if (IS_ERR(tps80031->regmap[i])) { in tps80031_probe()
455 ret = PTR_ERR(tps80031->regmap[i]); in tps80031_probe()
480 tps80031->es_version = es_version; in tps80031_probe()
481 tps80031->dev = &client->dev; in tps80031_probe()
482 i2c_set_clientdata(client, tps80031); in tps80031_probe()
483 tps80031->chip_info = id->driver_data; in tps80031_probe()
485 ret = tps80031_irq_init(tps80031, client->irq, pdata->irq_base); in tps80031_probe()
491 tps80031_pupd_init(tps80031, pdata); in tps80031_probe()
493 tps80031_init_ext_control(tps80031, pdata); in tps80031_probe()
495 ret = mfd_add_devices(tps80031->dev, -1, in tps80031_probe()
498 regmap_irq_get_domain(tps80031->irq_data)); in tps80031_probe()
505 tps80031_power_off_dev = tps80031; in tps80031_probe()
511 regmap_del_irq_chip(client->irq, tps80031->irq_data); in tps80031_probe()
515 if (tps80031->clients[i] && (tps80031->clients[i] != client)) in tps80031_probe()
516 i2c_unregister_device(tps80031->clients[i]); in tps80031_probe()
523 struct tps80031 *tps80031 = i2c_get_clientdata(client); in tps80031_remove() local
526 if (tps80031_power_off_dev == tps80031) { in tps80031_remove()
531 mfd_remove_devices(tps80031->dev); in tps80031_remove()
533 regmap_del_irq_chip(client->irq, tps80031->irq_data); in tps80031_remove()
536 if (tps80031->clients[i] != client) in tps80031_remove()
537 i2c_unregister_device(tps80031->clients[i]); in tps80031_remove()