mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-02 10:16:49 +07:00
Revert "thermal: rockchip: fix up the tsadc pinctrl setting error"
This reverts commit28694e009e
. 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:28694e009e
("thermal: rockchip: fix up the tsadc pinctrl setting error") Signed-off-by: Heiko Stuebner <heiko@sntech.de> Reported-by: kernelci.org bot <bot@kernelci.org> Reported-by: Enric Balletbo Serra <eballetbo@gmail.com> Reported-by: Vicente Bergas <vicencb@gmail.com> Reported-by: Jack Mitchell <ml@embed.me.uk> Reported-by: Douglas Anderson <dianders@chromium.org> Tested-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
This commit is contained in:
parent
4dde821e42
commit
0f5ee062d8
@ -172,9 +172,6 @@ struct rockchip_thermal_data {
|
||||
int tshut_temp;
|
||||
enum tshut_mode tshut_mode;
|
||||
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)
|
||||
return error;
|
||||
}
|
||||
|
||||
thermal->chip->control(thermal->regs, false);
|
||||
|
||||
error = clk_prepare_enable(thermal->clk);
|
||||
if (error) {
|
||||
dev_err(&pdev->dev, "failed to enable converter clock: %d\n",
|
||||
@ -1310,30 +1305,6 @@ static int rockchip_thermal_probe(struct platform_device *pdev)
|
||||
thermal->chip->initialize(thermal->grf, thermal->regs,
|
||||
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++) {
|
||||
error = rockchip_thermal_register_sensor(pdev, thermal,
|
||||
&thermal->sensors[i],
|
||||
@ -1404,8 +1375,8 @@ static int __maybe_unused rockchip_thermal_suspend(struct device *dev)
|
||||
|
||||
clk_disable(thermal->pclk);
|
||||
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;
|
||||
}
|
||||
@ -1450,8 +1421,7 @@ static int __maybe_unused rockchip_thermal_resume(struct device *dev)
|
||||
for (i = 0; i < thermal->chip->chn_num; i++)
|
||||
rockchip_thermal_toggle_sensor(&thermal->sensors[i], true);
|
||||
|
||||
if (thermal->tshut_mode == TSHUT_MODE_GPIO)
|
||||
pinctrl_select_state(thermal->pinctrl, thermal->otp_state);
|
||||
pinctrl_pm_select_default_state(dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user