Move kernel config and patches to kernel 6.6. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
107 lines
3.1 KiB
Diff
107 lines
3.1 KiB
Diff
From 2f6916f12c0e46ecd4c2b793a014132140730560 Mon Sep 17 00:00:00 2001
|
|
From: Sebastian Reichel <sebastian.reichel@collabora.com>
|
|
Date: Wed, 8 Mar 2023 12:22:48 +0100
|
|
Subject: [PATCH] thermal/drivers/rockchip: Simplify clock logic
|
|
|
|
By using devm_clk_get_enabled() the clock acquisition and
|
|
enabling can be done in one step with automatic error
|
|
handling.
|
|
|
|
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
|
|
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
|
|
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
|
|
Link: https://lore.kernel.org/r/20230308112253.15659-3-sebastian.reichel@collabora.com
|
|
---
|
|
drivers/thermal/rockchip_thermal.c | 33 +++++-------------------------
|
|
1 file changed, 5 insertions(+), 28 deletions(-)
|
|
|
|
--- a/drivers/thermal/rockchip_thermal.c
|
|
+++ b/drivers/thermal/rockchip_thermal.c
|
|
@@ -1385,14 +1385,14 @@ static int rockchip_thermal_probe(struct
|
|
return error;
|
|
}
|
|
|
|
- thermal->clk = devm_clk_get(&pdev->dev, "tsadc");
|
|
+ thermal->clk = devm_clk_get_enabled(&pdev->dev, "tsadc");
|
|
if (IS_ERR(thermal->clk)) {
|
|
error = PTR_ERR(thermal->clk);
|
|
dev_err(&pdev->dev, "failed to get tsadc clock: %d\n", error);
|
|
return error;
|
|
}
|
|
|
|
- thermal->pclk = devm_clk_get(&pdev->dev, "apb_pclk");
|
|
+ thermal->pclk = devm_clk_get_enabled(&pdev->dev, "apb_pclk");
|
|
if (IS_ERR(thermal->pclk)) {
|
|
error = PTR_ERR(thermal->pclk);
|
|
dev_err(&pdev->dev, "failed to get apb_pclk clock: %d\n",
|
|
@@ -1400,26 +1400,13 @@ static int rockchip_thermal_probe(struct
|
|
return error;
|
|
}
|
|
|
|
- error = clk_prepare_enable(thermal->clk);
|
|
- if (error) {
|
|
- dev_err(&pdev->dev, "failed to enable converter clock: %d\n",
|
|
- error);
|
|
- return error;
|
|
- }
|
|
-
|
|
- error = clk_prepare_enable(thermal->pclk);
|
|
- if (error) {
|
|
- dev_err(&pdev->dev, "failed to enable pclk: %d\n", error);
|
|
- goto err_disable_clk;
|
|
- }
|
|
-
|
|
rockchip_thermal_reset_controller(thermal->reset);
|
|
|
|
error = rockchip_configure_from_dt(&pdev->dev, np, thermal);
|
|
if (error) {
|
|
dev_err(&pdev->dev, "failed to parse device tree data: %d\n",
|
|
error);
|
|
- goto err_disable_pclk;
|
|
+ return error;
|
|
}
|
|
|
|
thermal->chip->initialize(thermal->grf, thermal->regs,
|
|
@@ -1433,7 +1420,7 @@ static int rockchip_thermal_probe(struct
|
|
dev_err(&pdev->dev,
|
|
"failed to register sensor[%d] : error = %d\n",
|
|
i, error);
|
|
- goto err_disable_pclk;
|
|
+ return error;
|
|
}
|
|
}
|
|
|
|
@@ -1444,7 +1431,7 @@ static int rockchip_thermal_probe(struct
|
|
if (error) {
|
|
dev_err(&pdev->dev,
|
|
"failed to request tsadc irq: %d\n", error);
|
|
- goto err_disable_pclk;
|
|
+ return error;
|
|
}
|
|
|
|
thermal->chip->control(thermal->regs, true);
|
|
@@ -1462,13 +1449,6 @@ static int rockchip_thermal_probe(struct
|
|
platform_set_drvdata(pdev, thermal);
|
|
|
|
return 0;
|
|
-
|
|
-err_disable_pclk:
|
|
- clk_disable_unprepare(thermal->pclk);
|
|
-err_disable_clk:
|
|
- clk_disable_unprepare(thermal->clk);
|
|
-
|
|
- return error;
|
|
}
|
|
|
|
static int rockchip_thermal_remove(struct platform_device *pdev)
|
|
@@ -1485,9 +1465,6 @@ static int rockchip_thermal_remove(struc
|
|
|
|
thermal->chip->control(thermal->regs, false);
|
|
|
|
- clk_disable_unprepare(thermal->pclk);
|
|
- clk_disable_unprepare(thermal->clk);
|
|
-
|
|
return 0;
|
|
}
|
|
|