diff options
Diffstat (limited to 'kernel/drivers/regulator/da9063-regulator.c')
-rw-r--r-- | kernel/drivers/regulator/da9063-regulator.c | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/kernel/drivers/regulator/da9063-regulator.c b/kernel/drivers/regulator/da9063-regulator.c index 31c2c593a..536e931eb 100644 --- a/kernel/drivers/regulator/da9063-regulator.c +++ b/kernel/drivers/regulator/da9063-regulator.c @@ -117,9 +117,6 @@ struct da9063_regulator { /* Encapsulates all information for the regulators driver */ struct da9063_regulators { - int irq_ldo_lim; - int irq_uvov; - unsigned n_regulators; /* Array size to be defined during init. Keep at end. */ struct da9063_regulator regulator[0]; @@ -701,7 +698,7 @@ static struct da9063_regulators_pdata *da9063_parse_regulators_dt( rdata->initdata = da9063_matches[i].init_data; n++; - }; + } *da9063_reg_matches = da9063_matches; return pdata; @@ -867,35 +864,23 @@ static int da9063_regulator_probe(struct platform_device *pdev) return irq; } - ret = request_threaded_irq(irq, + ret = devm_request_threaded_irq(&pdev->dev, irq, NULL, da9063_ldo_lim_event, IRQF_TRIGGER_LOW | IRQF_ONESHOT, "LDO_LIM", regulators); if (ret) { - dev_err(&pdev->dev, - "Failed to request LDO_LIM IRQ.\n"); - regulators->irq_ldo_lim = -ENXIO; + dev_err(&pdev->dev, "Failed to request LDO_LIM IRQ.\n"); + return ret; } return 0; } -static int da9063_regulator_remove(struct platform_device *pdev) -{ - struct da9063_regulators *regulators = platform_get_drvdata(pdev); - - free_irq(regulators->irq_ldo_lim, regulators); - free_irq(regulators->irq_uvov, regulators); - - return 0; -} - static struct platform_driver da9063_regulator_driver = { .driver = { .name = DA9063_DRVNAME_REGULATORS, }, .probe = da9063_regulator_probe, - .remove = da9063_regulator_remove, }; static int __init da9063_regulator_init(void) |