Lines Matching refs:tps

56 int tps65218_reg_write(struct tps65218 *tps, unsigned int reg,  in tps65218_reg_write()  argument
64 return regmap_write(tps->regmap, reg, val); in tps65218_reg_write()
67 ret = regmap_write(tps->regmap, TPS65218_REG_PASSWORD, in tps65218_reg_write()
72 return regmap_write(tps->regmap, reg, val); in tps65218_reg_write()
88 static int tps65218_update_bits(struct tps65218 *tps, unsigned int reg, in tps65218_update_bits() argument
94 ret = regmap_read(tps->regmap, reg, &data); in tps65218_update_bits()
96 dev_err(tps->dev, "Read from reg 0x%x failed\n", reg); in tps65218_update_bits()
103 mutex_lock(&tps->tps_lock); in tps65218_update_bits()
104 ret = tps65218_reg_write(tps, reg, data, level); in tps65218_update_bits()
106 dev_err(tps->dev, "Write for reg 0x%x failed\n", reg); in tps65218_update_bits()
107 mutex_unlock(&tps->tps_lock); in tps65218_update_bits()
112 int tps65218_set_bits(struct tps65218 *tps, unsigned int reg, in tps65218_set_bits() argument
115 return tps65218_update_bits(tps, reg, mask, val, level); in tps65218_set_bits()
119 int tps65218_clear_bits(struct tps65218 *tps, unsigned int reg, in tps65218_clear_bits() argument
122 return tps65218_update_bits(tps, reg, mask, 0, level); in tps65218_clear_bits()
217 struct tps65218 *tps; in tps65218_probe() local
221 tps = devm_kzalloc(&client->dev, sizeof(*tps), GFP_KERNEL); in tps65218_probe()
222 if (!tps) in tps65218_probe()
225 i2c_set_clientdata(client, tps); in tps65218_probe()
226 tps->dev = &client->dev; in tps65218_probe()
227 tps->irq = client->irq; in tps65218_probe()
228 tps->regmap = devm_regmap_init_i2c(client, &tps65218_regmap_config); in tps65218_probe()
229 if (IS_ERR(tps->regmap)) { in tps65218_probe()
230 ret = PTR_ERR(tps->regmap); in tps65218_probe()
231 dev_err(tps->dev, "Failed to allocate register map: %d\n", in tps65218_probe()
236 mutex_init(&tps->tps_lock); in tps65218_probe()
238 ret = regmap_add_irq_chip(tps->regmap, tps->irq, in tps65218_probe()
240 &tps->irq_data); in tps65218_probe()
244 ret = regmap_read(tps->regmap, TPS65218_REG_CHIPID, &chipid); in tps65218_probe()
246 dev_err(tps->dev, "Failed to read chipid: %d\n", ret); in tps65218_probe()
250 tps->rev = chipid & TPS65218_CHIPID_REV_MASK; in tps65218_probe()
252 ret = mfd_add_devices(tps->dev, PLATFORM_DEVID_AUTO, tps65218_cells, in tps65218_probe()
254 regmap_irq_get_domain(tps->irq_data)); in tps65218_probe()
262 regmap_del_irq_chip(tps->irq, tps->irq_data); in tps65218_probe()
269 struct tps65218 *tps = i2c_get_clientdata(client); in tps65218_remove() local
271 regmap_del_irq_chip(tps->irq, tps->irq_data); in tps65218_remove()