PM / devfreq: rockchip-dfi: Make pmu regmap mandatory
authorSascha Hauer <s.hauer@pengutronix.de>
Tue, 4 Jul 2023 09:32:17 +0000 (11:32 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 10:59:00 +0000 (11:59 +0100)
[ Upstream commit 1e0731c05c985deb68a97fa44c1adcd3305dda90 ]

As a matter of fact the regmap_pmu already is mandatory because
it is used unconditionally in the driver. Bail out gracefully in
probe() rather than crashing later.

Link: https://lore.kernel.org/lkml/20230704093242.583575-2-s.hauer@pengutronix.de/
Fixes: b9d1262bca0af ("PM / devfreq: event: support rockchip dfi controller")
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/devfreq/event/rockchip-dfi.c

index 39ac069..74893c0 100644 (file)
@@ -193,14 +193,15 @@ static int rockchip_dfi_probe(struct platform_device *pdev)
                return dev_err_probe(dev, PTR_ERR(data->clk),
                                     "Cannot get the clk pclk_ddr_mon\n");
 
-       /* try to find the optional reference to the pmu syscon */
        node = of_parse_phandle(np, "rockchip,pmu", 0);
-       if (node) {
-               data->regmap_pmu = syscon_node_to_regmap(node);
-               of_node_put(node);
-               if (IS_ERR(data->regmap_pmu))
-                       return PTR_ERR(data->regmap_pmu);
-       }
+       if (!node)
+               return dev_err_probe(&pdev->dev, -ENODEV, "Can't find pmu_grf registers\n");
+
+       data->regmap_pmu = syscon_node_to_regmap(node);
+       of_node_put(node);
+       if (IS_ERR(data->regmap_pmu))
+               return PTR_ERR(data->regmap_pmu);
+
        data->dev = dev;
 
        desc = devm_kzalloc(dev, sizeof(*desc), GFP_KERNEL);