Lines Matching refs:max77686

211 	struct max77686_dev *max77686 = NULL;  in max77686_i2c_probe()  local
222 max77686 = devm_kzalloc(&i2c->dev, in max77686_i2c_probe()
224 if (!max77686) in max77686_i2c_probe()
232 max77686->type = (unsigned long)match->data; in max77686_i2c_probe()
234 max77686->type = id->driver_data; in max77686_i2c_probe()
236 i2c_set_clientdata(i2c, max77686); in max77686_i2c_probe()
237 max77686->dev = &i2c->dev; in max77686_i2c_probe()
238 max77686->i2c = i2c; in max77686_i2c_probe()
240 max77686->irq = i2c->irq; in max77686_i2c_probe()
242 if (max77686->type == TYPE_MAX77686) { in max77686_i2c_probe()
246 rtc_regmap = &max77686->rtc_regmap; in max77686_i2c_probe()
253 rtc_regmap = &max77686->regmap; in max77686_i2c_probe()
258 max77686->regmap = devm_regmap_init_i2c(i2c, config); in max77686_i2c_probe()
259 if (IS_ERR(max77686->regmap)) { in max77686_i2c_probe()
260 ret = PTR_ERR(max77686->regmap); in max77686_i2c_probe()
261 dev_err(max77686->dev, "Failed to allocate register map: %d\n", in max77686_i2c_probe()
266 ret = regmap_read(max77686->regmap, MAX77686_REG_DEVICE_ID, &data); in max77686_i2c_probe()
268 dev_err(max77686->dev, in max77686_i2c_probe()
273 if (max77686->type == TYPE_MAX77686) { in max77686_i2c_probe()
274 max77686->rtc = i2c_new_dummy(i2c->adapter, I2C_ADDR_RTC); in max77686_i2c_probe()
275 if (!max77686->rtc) { in max77686_i2c_probe()
276 dev_err(max77686->dev, in max77686_i2c_probe()
280 i2c_set_clientdata(max77686->rtc, max77686); in max77686_i2c_probe()
282 max77686->rtc_regmap = in max77686_i2c_probe()
283 devm_regmap_init_i2c(max77686->rtc, in max77686_i2c_probe()
285 if (IS_ERR(max77686->rtc_regmap)) { in max77686_i2c_probe()
286 ret = PTR_ERR(max77686->rtc_regmap); in max77686_i2c_probe()
287 dev_err(max77686->dev, in max77686_i2c_probe()
294 ret = regmap_add_irq_chip(max77686->regmap, max77686->irq, in max77686_i2c_probe()
297 &max77686->irq_data); in max77686_i2c_probe()
303 ret = regmap_add_irq_chip(*rtc_regmap, max77686->irq, in max77686_i2c_probe()
306 &max77686->rtc_irq_data); in max77686_i2c_probe()
312 ret = mfd_add_devices(max77686->dev, -1, cells, n_devs, NULL, 0, NULL); in max77686_i2c_probe()
321 regmap_del_irq_chip(max77686->irq, max77686->rtc_irq_data); in max77686_i2c_probe()
323 regmap_del_irq_chip(max77686->irq, max77686->irq_data); in max77686_i2c_probe()
325 if (max77686->type == TYPE_MAX77686) in max77686_i2c_probe()
326 i2c_unregister_device(max77686->rtc); in max77686_i2c_probe()
333 struct max77686_dev *max77686 = i2c_get_clientdata(i2c); in max77686_i2c_remove() local
335 mfd_remove_devices(max77686->dev); in max77686_i2c_remove()
337 regmap_del_irq_chip(max77686->irq, max77686->rtc_irq_data); in max77686_i2c_remove()
338 regmap_del_irq_chip(max77686->irq, max77686->irq_data); in max77686_i2c_remove()
340 if (max77686->type == TYPE_MAX77686) in max77686_i2c_remove()
341 i2c_unregister_device(max77686->rtc); in max77686_i2c_remove()
356 struct max77686_dev *max77686 = i2c_get_clientdata(i2c); in max77686_suspend() local
359 enable_irq_wake(max77686->irq); in max77686_suspend()
370 disable_irq(max77686->irq); in max77686_suspend()
378 struct max77686_dev *max77686 = i2c_get_clientdata(i2c); in max77686_resume() local
381 disable_irq_wake(max77686->irq); in max77686_resume()
383 enable_irq(max77686->irq); in max77686_resume()