]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
regulator: act8945a: fix OF node reference imbalance
authorJohan Hovold <johan@kernel.org>
Wed, 8 Apr 2026 07:30:54 +0000 (09:30 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 9 Apr 2026 19:19:34 +0000 (20:19 +0100)
The driver reuses the OF node of the parent multi-function device but
fails to take another reference to balance the one dropped by the
platform bus code when unbinding the MFD and deregistering the child
devices.

Fix this by using the intended helper for reusing OF nodes.

Fixes: 38c09961048b ("regulator: act8945a: add regulator driver for ACT8945A")
Cc: stable@vger.kernel.org # 4.6
Cc: Wenyou Yang <wenyou.yang@atmel.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20260408073055.5183-7-johan@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/act8945a-regulator.c

index 24cbdd8338630b9cc84fd92a075fd9738152f06c..5bbe2bce740eaf3ba3a27979469f0610e72151cb 100644 (file)
@@ -302,8 +302,9 @@ static int act8945a_pmic_probe(struct platform_device *pdev)
                num_regulators = ARRAY_SIZE(act8945a_regulators);
        }
 
+       device_set_of_node_from_dev(&pdev->dev, pdev->dev.parent);
+
        config.dev = &pdev->dev;
-       config.dev->of_node = pdev->dev.parent->of_node;
        config.driver_data = act8945a;
        for (i = 0; i < num_regulators; i++) {
                rdev = devm_regulator_register(&pdev->dev, &regulators[i],