Commit 0f5ee062 authored by Heiko Stuebner's avatar Heiko Stuebner Committed by Eduardo Valentin

Revert "thermal: rockchip: fix up the tsadc pinctrl setting error"

This reverts commit 28694e00.

The commit causes multiple issues in that:
- the added call to ->control does potentially run unclocked
  causing a hang of the machine
- the added pinctrl-states are undocumented in the binding
- the added pinctrl-states are not backwards compatible, breaking
  old devicetrees.

Fixes: 28694e00 ("thermal: rockchip: fix up the tsadc pinctrl setting error")
Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
Reported-by: default avatarkernelci.org bot <bot@kernelci.org>
Reported-by: default avatarEnric Balletbo Serra <eballetbo@gmail.com>
Reported-by: default avatarVicente Bergas <vicencb@gmail.com>
Reported-by: default avatarJack Mitchell <ml@embed.me.uk>
Reported-by: default avatarDouglas Anderson <dianders@chromium.org>
Tested-by: default avatarDouglas Anderson <dianders@chromium.org>
Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
parent 4dde821e
...@@ -172,9 +172,6 @@ struct rockchip_thermal_data { ...@@ -172,9 +172,6 @@ struct rockchip_thermal_data {
int tshut_temp; int tshut_temp;
enum tshut_mode tshut_mode; enum tshut_mode tshut_mode;
enum tshut_polarity tshut_polarity; enum tshut_polarity tshut_polarity;
struct pinctrl *pinctrl;
struct pinctrl_state *gpio_state;
struct pinctrl_state *otp_state;
}; };
/** /**
...@@ -1283,8 +1280,6 @@ static int rockchip_thermal_probe(struct platform_device *pdev) ...@@ -1283,8 +1280,6 @@ static int rockchip_thermal_probe(struct platform_device *pdev)
return error; return error;
} }
thermal->chip->control(thermal->regs, false);
error = clk_prepare_enable(thermal->clk); error = clk_prepare_enable(thermal->clk);
if (error) { if (error) {
dev_err(&pdev->dev, "failed to enable converter clock: %d\n", dev_err(&pdev->dev, "failed to enable converter clock: %d\n",
...@@ -1310,30 +1305,6 @@ static int rockchip_thermal_probe(struct platform_device *pdev) ...@@ -1310,30 +1305,6 @@ static int rockchip_thermal_probe(struct platform_device *pdev)
thermal->chip->initialize(thermal->grf, thermal->regs, thermal->chip->initialize(thermal->grf, thermal->regs,
thermal->tshut_polarity); thermal->tshut_polarity);
if (thermal->tshut_mode == TSHUT_MODE_GPIO) {
thermal->pinctrl = devm_pinctrl_get(&pdev->dev);
if (IS_ERR(thermal->pinctrl)) {
dev_err(&pdev->dev, "failed to find thermal pinctrl\n");
return PTR_ERR(thermal->pinctrl);
}
thermal->gpio_state = pinctrl_lookup_state(thermal->pinctrl,
"gpio");
if (IS_ERR_OR_NULL(thermal->gpio_state)) {
dev_err(&pdev->dev, "failed to find thermal gpio state\n");
return -EINVAL;
}
thermal->otp_state = pinctrl_lookup_state(thermal->pinctrl,
"otpout");
if (IS_ERR_OR_NULL(thermal->otp_state)) {
dev_err(&pdev->dev, "failed to find thermal otpout state\n");
return -EINVAL;
}
pinctrl_select_state(thermal->pinctrl, thermal->otp_state);
}
for (i = 0; i < thermal->chip->chn_num; i++) { for (i = 0; i < thermal->chip->chn_num; i++) {
error = rockchip_thermal_register_sensor(pdev, thermal, error = rockchip_thermal_register_sensor(pdev, thermal,
&thermal->sensors[i], &thermal->sensors[i],
...@@ -1404,8 +1375,8 @@ static int __maybe_unused rockchip_thermal_suspend(struct device *dev) ...@@ -1404,8 +1375,8 @@ static int __maybe_unused rockchip_thermal_suspend(struct device *dev)
clk_disable(thermal->pclk); clk_disable(thermal->pclk);
clk_disable(thermal->clk); clk_disable(thermal->clk);
if (thermal->tshut_mode == TSHUT_MODE_GPIO)
pinctrl_select_state(thermal->pinctrl, thermal->gpio_state); pinctrl_pm_select_sleep_state(dev);
return 0; return 0;
} }
...@@ -1450,8 +1421,7 @@ static int __maybe_unused rockchip_thermal_resume(struct device *dev) ...@@ -1450,8 +1421,7 @@ static int __maybe_unused rockchip_thermal_resume(struct device *dev)
for (i = 0; i < thermal->chip->chn_num; i++) for (i = 0; i < thermal->chip->chn_num; i++)
rockchip_thermal_toggle_sensor(&thermal->sensors[i], true); rockchip_thermal_toggle_sensor(&thermal->sensors[i], true);
if (thermal->tshut_mode == TSHUT_MODE_GPIO) pinctrl_pm_select_default_state(dev);
pinctrl_select_state(thermal->pinctrl, thermal->otp_state);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment