Skip to content

Commit

Permalink
thermal/drivers/hisi: Move the clk setup in the corresponding functions
Browse files Browse the repository at this point in the history
The sensor's clock is enabled and disabled outside of the probe and
disable function. Moving the corresponding action in the
hisi_thermal_setup() and hisi_thermal_disable_sensor(), factors out
some lines of code and makes the code more symmetric.

Signed-off-by: Kevin Wangtao <kevin.wangtao@linaro.org>
Tested-by: Daniel Lezcano <daniel.lezcano@linaro.org> # hikey6220
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
  • Loading branch information
Kevin Wangtao authored and Eduardo Valentin committed Nov 1, 2017
1 parent cc1ab38 commit 943c0f6
Showing 1 changed file with 9 additions and 20 deletions.
29 changes: 9 additions & 20 deletions drivers/thermal/hisi_thermal.c
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,8 @@ static void hisi_thermal_disable_sensor(struct hisi_thermal_data *data)
hisi_thermal_enable(data->regs, 0);
hisi_thermal_alarm_enable(data->regs, 0);
hisi_thermal_reset_enable(data->regs, 0);

clk_disable_unprepare(data->clk);
}

static int hisi_thermal_get_temp(void *__data, int *temp)
Expand Down Expand Up @@ -297,9 +299,13 @@ static void hisi_thermal_toggle_sensor(struct hisi_thermal_sensor *sensor,

static int hisi_thermal_setup(struct hisi_thermal_data *data)
{
struct hisi_thermal_sensor *sensor;
struct hisi_thermal_sensor *sensor = &data->sensor;
int ret;

sensor = &data->sensor;
/* enable clock for tsensor */
ret = clk_prepare_enable(data->clk);
if (ret)
return ret;

/* disable module firstly */
hisi_thermal_reset_enable(data->regs, 0);
Expand Down Expand Up @@ -363,13 +369,6 @@ static int hisi_thermal_probe(struct platform_device *pdev)
return ret;
}

/* enable clock for thermal */
ret = clk_prepare_enable(data->clk);
if (ret) {
dev_err(&pdev->dev, "failed to enable thermal clk: %d\n", ret);
return ret;
}

ret = hisi_thermal_register_sensor(pdev, data,
&data->sensor,
HISI_DEFAULT_SENSOR);
Expand Down Expand Up @@ -405,7 +404,6 @@ static int hisi_thermal_remove(struct platform_device *pdev)

hisi_thermal_toggle_sensor(sensor, false);
hisi_thermal_disable_sensor(data);
clk_disable_unprepare(data->clk);

return 0;
}
Expand All @@ -417,23 +415,14 @@ static int hisi_thermal_suspend(struct device *dev)

hisi_thermal_disable_sensor(data);

clk_disable_unprepare(data->clk);

return 0;
}

static int hisi_thermal_resume(struct device *dev)
{
struct hisi_thermal_data *data = dev_get_drvdata(dev);
int ret;

ret = clk_prepare_enable(data->clk);
if (ret)
return ret;

hisi_thermal_setup(data);

return 0;
return hisi_thermal_setup(data);
}
#endif

Expand Down

0 comments on commit 943c0f6

Please sign in to comment.