Lines Matching refs:max8907

177 static struct max8907 *max8907_pm_off;
187 struct max8907 *max8907; in max8907_i2c_probe() local
198 max8907 = devm_kzalloc(&i2c->dev, sizeof(struct max8907), GFP_KERNEL); in max8907_i2c_probe()
199 if (!max8907) { in max8907_i2c_probe()
204 max8907->dev = &i2c->dev; in max8907_i2c_probe()
205 dev_set_drvdata(max8907->dev, max8907); in max8907_i2c_probe()
207 max8907->i2c_gen = i2c; in max8907_i2c_probe()
208 i2c_set_clientdata(i2c, max8907); in max8907_i2c_probe()
209 max8907->regmap_gen = devm_regmap_init_i2c(i2c, in max8907_i2c_probe()
211 if (IS_ERR(max8907->regmap_gen)) { in max8907_i2c_probe()
212 ret = PTR_ERR(max8907->regmap_gen); in max8907_i2c_probe()
217 max8907->i2c_rtc = i2c_new_dummy_device(i2c->adapter, MAX8907_RTC_I2C_ADDR); in max8907_i2c_probe()
218 if (IS_ERR(max8907->i2c_rtc)) { in max8907_i2c_probe()
219 ret = PTR_ERR(max8907->i2c_rtc); in max8907_i2c_probe()
222 i2c_set_clientdata(max8907->i2c_rtc, max8907); in max8907_i2c_probe()
223 max8907->regmap_rtc = devm_regmap_init_i2c(max8907->i2c_rtc, in max8907_i2c_probe()
225 if (IS_ERR(max8907->regmap_rtc)) { in max8907_i2c_probe()
226 ret = PTR_ERR(max8907->regmap_rtc); in max8907_i2c_probe()
231 irq_set_status_flags(max8907->i2c_gen->irq, IRQ_NOAUTOEN); in max8907_i2c_probe()
233 ret = regmap_add_irq_chip(max8907->regmap_gen, max8907->i2c_gen->irq, in max8907_i2c_probe()
236 &max8907->irqc_chg); in max8907_i2c_probe()
241 ret = regmap_add_irq_chip(max8907->regmap_gen, max8907->i2c_gen->irq, in max8907_i2c_probe()
244 &max8907->irqc_on_off); in max8907_i2c_probe()
249 ret = regmap_add_irq_chip(max8907->regmap_rtc, max8907->i2c_gen->irq, in max8907_i2c_probe()
252 &max8907->irqc_rtc); in max8907_i2c_probe()
258 enable_irq(max8907->i2c_gen->irq); in max8907_i2c_probe()
260 ret = mfd_add_devices(max8907->dev, -1, max8907_cells, in max8907_i2c_probe()
268 max8907_pm_off = max8907; in max8907_i2c_probe()
275 regmap_del_irq_chip(max8907->i2c_gen->irq, max8907->irqc_rtc); in max8907_i2c_probe()
277 regmap_del_irq_chip(max8907->i2c_gen->irq, max8907->irqc_on_off); in max8907_i2c_probe()
279 regmap_del_irq_chip(max8907->i2c_gen->irq, max8907->irqc_chg); in max8907_i2c_probe()
282 i2c_unregister_device(max8907->i2c_rtc); in max8907_i2c_probe()
291 struct max8907 *max8907 = i2c_get_clientdata(i2c); in max8907_i2c_remove() local
293 mfd_remove_devices(max8907->dev); in max8907_i2c_remove()
295 regmap_del_irq_chip(max8907->i2c_gen->irq, max8907->irqc_rtc); in max8907_i2c_remove()
296 regmap_del_irq_chip(max8907->i2c_gen->irq, max8907->irqc_on_off); in max8907_i2c_remove()
297 regmap_del_irq_chip(max8907->i2c_gen->irq, max8907->irqc_chg); in max8907_i2c_remove()
299 i2c_unregister_device(max8907->i2c_rtc); in max8907_i2c_remove()