regulator: mt6363: Fix incorrect and redundant IRQ disposal in probe
In mt6363_regulator_probe(), devm_add_action_or_reset() is used to
automatically dispose of the IRQ mapping if the probe fails or the
device is removed.
The manual call to irq_dispose_mapping() in the error path was redundant
as the reset action already triggers mt6363_irq_remove(). Furthermore,
the manual call incorrectly passed the hardware IRQ number (info->hwirq)
instead of the virtual IRQ mapping (info->virq).
Remove the redundant and incorrect manual disposal.
Fixes: 3c36965df8 ("regulator: Add support for MediaTek MT6363 SPMI PMIC Regulators")
Signed-off-by: Felix Gu <ustc.gu@gmail.com>
Link: https://patch.msgid.link/20260223-mt6363-v1-1-c99a2e8ac621@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
11439c4635
commit
23942b71f0
|
|
@ -899,10 +899,8 @@ static int mt6363_regulator_probe(struct platform_device *pdev)
|
||||||
"Failed to map IRQ%d\n", info->hwirq);
|
"Failed to map IRQ%d\n", info->hwirq);
|
||||||
|
|
||||||
ret = devm_add_action_or_reset(dev, mt6363_irq_remove, &info->virq);
|
ret = devm_add_action_or_reset(dev, mt6363_irq_remove, &info->virq);
|
||||||
if (ret) {
|
if (ret)
|
||||||
irq_dispose_mapping(info->hwirq);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
|
||||||
|
|
||||||
config.driver_data = info;
|
config.driver_data = info;
|
||||||
INIT_DELAYED_WORK(&info->oc_work, mt6363_oc_irq_enable_work);
|
INIT_DELAYED_WORK(&info->oc_work, mt6363_oc_irq_enable_work);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue