]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
regulator: bq257xx: fix OF node reference imbalance
authorJohan Hovold <johan@kernel.org>
Wed, 8 Apr 2026 07:30:49 +0000 (09:30 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 9 Apr 2026 19:19:30 +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: 981dd162b635 ("regulator: bq257xx: Add bq257xx boost regulator driver")
Cc: stable@vger.kernel.org # 6.18
Cc: Chris Morgan <macromorgan@hotmail.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20260408073055.5183-2-johan@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/bq257xx-regulator.c

index dab8f1ab44503e57a906a44e9d1bb88d3cd46eaa..711dbe045383c434d95e6e0a70a3227c3eaed1ef 100644 (file)
@@ -142,8 +142,7 @@ static int bq257xx_regulator_probe(struct platform_device *pdev)
        struct device_node *np = dev->of_node;
        struct regulator_config cfg = {};
 
-       pdev->dev.of_node = pdev->dev.parent->of_node;
-       pdev->dev.of_node_reused = true;
+       device_set_of_node_from_dev(&pdev->dev, pdev->dev.parent);
 
        pdata = devm_kzalloc(&pdev->dev, sizeof(struct bq257xx_reg_data), GFP_KERNEL);
        if (!pdata)