mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
mfd: da9052: Fix genirq abuse
Rather than using the pointer passed back by the regmap API (or complaining because that wasn't actually being set) the da9052 driver was having some fun and games peering through genirq and regmap internals. Fix the driver to use the API as expected. Signed-off-by: Mark Brown <[email protected]>
This commit is contained in:
parent
dd775ae254
commit
8614419451
2 changed files with 4 additions and 5 deletions
|
|
@ -659,12 +659,11 @@ int __devinit da9052_device_init(struct da9052 *da9052, u8 chip_id)
|
|||
ret = regmap_add_irq_chip(da9052->regmap, da9052->chip_irq,
|
||||
IRQF_TRIGGER_LOW | IRQF_ONESHOT,
|
||||
da9052->irq_base, &da9052_regmap_irq_chip,
|
||||
NULL);
|
||||
&da9052->irq_data);
|
||||
if (ret < 0)
|
||||
goto regmap_err;
|
||||
|
||||
desc = irq_to_desc(da9052->chip_irq);
|
||||
da9052->irq_base = regmap_irq_chip_get_base(desc->action->dev_id);
|
||||
da9052->irq_base = regmap_irq_chip_get_base(da9052->irq_data);
|
||||
|
||||
ret = mfd_add_devices(da9052->dev, -1, da9052_subdev_info,
|
||||
ARRAY_SIZE(da9052_subdev_info), NULL, 0);
|
||||
|
|
@ -681,8 +680,7 @@ regmap_err:
|
|||
|
||||
void da9052_device_exit(struct da9052 *da9052)
|
||||
{
|
||||
regmap_del_irq_chip(da9052->chip_irq,
|
||||
irq_get_irq_data(da9052->irq_base)->chip_data);
|
||||
regmap_del_irq_chip(da9052->chip_irq, da9052->irq_data);
|
||||
mfd_remove_devices(da9052->dev);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue