Lines Matching full:pmic
3 * Device access for Crystal Cove PMIC
173 struct intel_soc_pmic *pmic; in crystal_cove_i2c_probe() local
181 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in crystal_cove_i2c_probe()
182 if (!pmic) in crystal_cove_i2c_probe()
185 i2c_set_clientdata(i2c, pmic); in crystal_cove_i2c_probe()
187 pmic->regmap = devm_regmap_init_i2c(i2c, config->regmap_config); in crystal_cove_i2c_probe()
188 if (IS_ERR(pmic->regmap)) in crystal_cove_i2c_probe()
189 return PTR_ERR(pmic->regmap); in crystal_cove_i2c_probe()
191 pmic->irq = i2c->irq; in crystal_cove_i2c_probe()
193 ret = devm_regmap_add_irq_chip(dev, pmic->regmap, pmic->irq, in crystal_cove_i2c_probe()
195 0, config->irq_chip, &pmic->irq_chip_data); in crystal_cove_i2c_probe()
199 ret = enable_irq_wake(pmic->irq); in crystal_cove_i2c_probe()
207 irq_domain_update_bus_token(regmap_irq_get_domain(pmic->irq_chip_data), in crystal_cove_i2c_probe()
212 regmap_irq_get_domain(pmic->irq_chip_data)); in crystal_cove_i2c_probe()
229 struct intel_soc_pmic *pmic = i2c_get_clientdata(i2c); in crystal_cove_shutdown() local
231 disable_irq(pmic->irq); in crystal_cove_shutdown()
238 struct intel_soc_pmic *pmic = dev_get_drvdata(dev); in crystal_cove_suspend() local
240 disable_irq(pmic->irq); in crystal_cove_suspend()
247 struct intel_soc_pmic *pmic = dev_get_drvdata(dev); in crystal_cove_resume() local
249 enable_irq(pmic->irq); in crystal_cove_resume()
275 MODULE_DESCRIPTION("I2C driver for Intel SoC PMIC");