Lines Matching refs:da9052
22 #include <linux/mfd/da9052/da9052.h>
23 #include <linux/mfd/da9052/reg.h>
176 static int da9052_map_irq(struct da9052 *da9052, int irq)
178 return regmap_irq_get_virq(da9052->irq_data, irq);
181 int da9052_enable_irq(struct da9052 *da9052, int irq)
183 irq = da9052_map_irq(da9052, irq);
193 int da9052_disable_irq(struct da9052 *da9052, int irq)
195 irq = da9052_map_irq(da9052, irq);
205 int da9052_disable_irq_nosync(struct da9052 *da9052, int irq)
207 irq = da9052_map_irq(da9052, irq);
217 int da9052_request_irq(struct da9052 *da9052, int irq, char *name,
220 irq = da9052_map_irq(da9052, irq);
230 void da9052_free_irq(struct da9052 *da9052, int irq, void *data)
232 irq = da9052_map_irq(da9052, irq);
242 struct da9052 *da9052 = irq_data;
244 complete(&da9052->done);
249 int da9052_irq_init(struct da9052 *da9052)
253 ret = regmap_add_irq_chip(da9052->regmap, da9052->chip_irq,
256 &da9052->irq_data);
258 dev_err(da9052->dev, "regmap_add_irq_chip failed: %d\n", ret);
262 enable_irq_wake(da9052->chip_irq);
264 ret = da9052_request_irq(da9052, DA9052_IRQ_ADC_EOM, "adc-irq",
265 da9052_auxadc_irq, da9052);
268 dev_err(da9052->dev, "DA9052_IRQ_ADC_EOM failed: %d\n", ret);
275 regmap_del_irq_chip(da9052->chip_irq, da9052->irq_data);
281 int da9052_irq_exit(struct da9052 *da9052)
283 da9052_free_irq(da9052, DA9052_IRQ_ADC_EOM, da9052);
284 regmap_del_irq_chip(da9052->chip_irq, da9052->irq_data);