Lines Matching refs:max77843
74 static int max77843_chg_init(struct max77843 *max77843) in max77843_chg_init() argument
78 max77843->i2c_chg = i2c_new_dummy(max77843->i2c->adapter, I2C_ADDR_CHG); in max77843_chg_init()
79 if (!max77843->i2c_chg) { in max77843_chg_init()
80 dev_err(&max77843->i2c->dev, in max77843_chg_init()
84 i2c_set_clientdata(max77843->i2c_chg, max77843); in max77843_chg_init()
86 max77843->regmap_chg = devm_regmap_init_i2c(max77843->i2c_chg, in max77843_chg_init()
88 if (IS_ERR(max77843->regmap_chg)) { in max77843_chg_init()
89 ret = PTR_ERR(max77843->regmap_chg); in max77843_chg_init()
96 i2c_unregister_device(max77843->i2c_chg); in max77843_chg_init()
104 struct max77843 *max77843; in max77843_probe() local
108 max77843 = devm_kzalloc(&i2c->dev, sizeof(*max77843), GFP_KERNEL); in max77843_probe()
109 if (!max77843) in max77843_probe()
112 i2c_set_clientdata(i2c, max77843); in max77843_probe()
113 max77843->dev = &i2c->dev; in max77843_probe()
114 max77843->i2c = i2c; in max77843_probe()
115 max77843->irq = i2c->irq; in max77843_probe()
117 max77843->regmap = devm_regmap_init_i2c(i2c, in max77843_probe()
119 if (IS_ERR(max77843->regmap)) { in max77843_probe()
121 return PTR_ERR(max77843->regmap); in max77843_probe()
124 ret = regmap_add_irq_chip(max77843->regmap, max77843->irq, in max77843_probe()
126 0, &max77843_irq_chip, &max77843->irq_data); in max77843_probe()
132 ret = regmap_read(max77843->regmap, in max77843_probe()
140 ret = max77843_chg_init(max77843); in max77843_probe()
146 ret = regmap_update_bits(max77843->regmap, in max77843_probe()
155 ret = mfd_add_devices(max77843->dev, -1, max77843_devs, in max77843_probe()
162 device_init_wakeup(max77843->dev, true); in max77843_probe()
167 regmap_del_irq_chip(max77843->irq, max77843->irq_data); in max77843_probe()
174 struct max77843 *max77843 = i2c_get_clientdata(i2c); in max77843_remove() local
176 mfd_remove_devices(max77843->dev); in max77843_remove()
178 regmap_del_irq_chip(max77843->irq, max77843->irq_data); in max77843_remove()
180 i2c_unregister_device(max77843->i2c_chg); in max77843_remove()
199 struct max77843 *max77843 = i2c_get_clientdata(i2c); in max77843_suspend() local
201 disable_irq(max77843->irq); in max77843_suspend()
203 enable_irq_wake(max77843->irq); in max77843_suspend()
211 struct max77843 *max77843 = i2c_get_clientdata(i2c); in max77843_resume() local
214 disable_irq_wake(max77843->irq); in max77843_resume()
215 enable_irq(max77843->irq); in max77843_resume()