Lines Matching refs:max8997

63 	struct max8997_dev *max8997 = i2c_get_clientdata(i2c);  in max8997_read_reg()  local
66 mutex_lock(&max8997->iolock); in max8997_read_reg()
68 mutex_unlock(&max8997->iolock); in max8997_read_reg()
80 struct max8997_dev *max8997 = i2c_get_clientdata(i2c); in max8997_bulk_read() local
83 mutex_lock(&max8997->iolock); in max8997_bulk_read()
85 mutex_unlock(&max8997->iolock); in max8997_bulk_read()
95 struct max8997_dev *max8997 = i2c_get_clientdata(i2c); in max8997_write_reg() local
98 mutex_lock(&max8997->iolock); in max8997_write_reg()
100 mutex_unlock(&max8997->iolock); in max8997_write_reg()
107 struct max8997_dev *max8997 = i2c_get_clientdata(i2c); in max8997_bulk_write() local
110 mutex_lock(&max8997->iolock); in max8997_bulk_write()
112 mutex_unlock(&max8997->iolock); in max8997_bulk_write()
122 struct max8997_dev *max8997 = i2c_get_clientdata(i2c); in max8997_update_reg() local
125 mutex_lock(&max8997->iolock); in max8997_update_reg()
132 mutex_unlock(&max8997->iolock); in max8997_update_reg()
182 struct max8997_dev *max8997; in max8997_i2c_probe() local
186 max8997 = devm_kzalloc(&i2c->dev, sizeof(struct max8997_dev), in max8997_i2c_probe()
188 if (max8997 == NULL) in max8997_i2c_probe()
191 i2c_set_clientdata(i2c, max8997); in max8997_i2c_probe()
192 max8997->dev = &i2c->dev; in max8997_i2c_probe()
193 max8997->i2c = i2c; in max8997_i2c_probe()
194 max8997->type = max8997_i2c_get_driver_data(i2c, id); in max8997_i2c_probe()
195 max8997->irq = i2c->irq; in max8997_i2c_probe()
197 if (IS_ENABLED(CONFIG_OF) && max8997->dev->of_node) { in max8997_i2c_probe()
198 pdata = max8997_i2c_parse_dt_pdata(max8997->dev); in max8997_i2c_probe()
206 max8997->pdata = pdata; in max8997_i2c_probe()
207 max8997->ono = pdata->ono; in max8997_i2c_probe()
209 mutex_init(&max8997->iolock); in max8997_i2c_probe()
211 max8997->rtc = i2c_new_dummy(i2c->adapter, I2C_ADDR_RTC); in max8997_i2c_probe()
212 if (!max8997->rtc) { in max8997_i2c_probe()
213 dev_err(max8997->dev, "Failed to allocate I2C device for RTC\n"); in max8997_i2c_probe()
216 i2c_set_clientdata(max8997->rtc, max8997); in max8997_i2c_probe()
218 max8997->haptic = i2c_new_dummy(i2c->adapter, I2C_ADDR_HAPTIC); in max8997_i2c_probe()
219 if (!max8997->haptic) { in max8997_i2c_probe()
220 dev_err(max8997->dev, "Failed to allocate I2C device for Haptic\n"); in max8997_i2c_probe()
224 i2c_set_clientdata(max8997->haptic, max8997); in max8997_i2c_probe()
226 max8997->muic = i2c_new_dummy(i2c->adapter, I2C_ADDR_MUIC); in max8997_i2c_probe()
227 if (!max8997->muic) { in max8997_i2c_probe()
228 dev_err(max8997->dev, "Failed to allocate I2C device for MUIC\n"); in max8997_i2c_probe()
232 i2c_set_clientdata(max8997->muic, max8997); in max8997_i2c_probe()
234 pm_runtime_set_active(max8997->dev); in max8997_i2c_probe()
236 max8997_irq_init(max8997); in max8997_i2c_probe()
238 ret = mfd_add_devices(max8997->dev, -1, max8997_devs, in max8997_i2c_probe()
242 dev_err(max8997->dev, "failed to add MFD devices %d\n", ret); in max8997_i2c_probe()
252 device_init_wakeup(max8997->dev, pdata->wakeup); in max8997_i2c_probe()
257 mfd_remove_devices(max8997->dev); in max8997_i2c_probe()
258 i2c_unregister_device(max8997->muic); in max8997_i2c_probe()
260 i2c_unregister_device(max8997->haptic); in max8997_i2c_probe()
262 i2c_unregister_device(max8997->rtc); in max8997_i2c_probe()
268 struct max8997_dev *max8997 = i2c_get_clientdata(i2c); in max8997_i2c_remove() local
270 mfd_remove_devices(max8997->dev); in max8997_i2c_remove()
271 i2c_unregister_device(max8997->muic); in max8997_i2c_remove()
272 i2c_unregister_device(max8997->haptic); in max8997_i2c_remove()
273 i2c_unregister_device(max8997->rtc); in max8997_i2c_remove()
441 struct max8997_dev *max8997 = i2c_get_clientdata(i2c); in max8997_freeze() local
446 &max8997->reg_dump[i]); in max8997_freeze()
450 &max8997->reg_dump[i + MAX8997_REG_PMIC_END]); in max8997_freeze()
454 &max8997->reg_dump[i + MAX8997_REG_PMIC_END + in max8997_freeze()
463 struct max8997_dev *max8997 = i2c_get_clientdata(i2c); in max8997_restore() local
468 max8997->reg_dump[i]); in max8997_restore()
472 max8997->reg_dump[i + MAX8997_REG_PMIC_END]); in max8997_restore()
476 max8997->reg_dump[i + MAX8997_REG_PMIC_END + in max8997_restore()
485 struct max8997_dev *max8997 = i2c_get_clientdata(i2c); in max8997_suspend() local
488 irq_set_irq_wake(max8997->irq, 1); in max8997_suspend()
495 struct max8997_dev *max8997 = i2c_get_clientdata(i2c); in max8997_resume() local
498 irq_set_irq_wake(max8997->irq, 0); in max8997_resume()
499 return max8997_irq_resume(max8997); in max8997_resume()