regulator: da9062: Make the use of IRQ optional
authorChristoph Niedermaier <cniedermaier@dh-electronics.com>
Thu, 13 Jul 2023 09:03:28 +0000 (11:03 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 13 Jul 2023 16:35:06 +0000 (17:35 +0100)
This patch makes the use of IRQ optional to make the DA9061/62 usable
for designs that don't have the IRQ pin connected, because the regulator
is usable without IRQ.

Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Reviewed-by: Adam Ward <DLG-Adam.Ward.opensource@dm.renesas.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Link: https://lore.kernel.org/r/20230713090328.3879-1-cniedermaier@dh-electronics.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/da9062-regulator.c

index c28b061..1d354db 100644 (file)
@@ -924,7 +924,7 @@ static int da9062_regulator_probe(struct platform_device *pdev)
        struct da9062_regulator *regl;
        struct regulator_config config = { };
        const struct da9062_regulator_info *rinfo;
-       int irq, n, ret;
+       int n, ret;
        int max_regulators;
 
        switch (chip->chip_type) {
@@ -1012,12 +1012,11 @@ static int da9062_regulator_probe(struct platform_device *pdev)
        }
 
        /* LDOs overcurrent event support */
-       irq = platform_get_irq_byname(pdev, "LDO_LIM");
-       if (irq < 0)
-               return irq;
-       regulators->irq_ldo_lim = irq;
+       regulators->irq_ldo_lim = platform_get_irq_byname_optional(pdev, "LDO_LIM");
+       if (regulators->irq_ldo_lim < 0)
+               return 0;
 
-       ret = devm_request_threaded_irq(&pdev->dev, irq,
+       ret = devm_request_threaded_irq(&pdev->dev, regulators->irq_ldo_lim,
                                        NULL, da9062_ldo_lim_event,
                                        IRQF_TRIGGER_LOW | IRQF_ONESHOT,
                                        "LDO_LIM", regulators);