Skip to content

Commit

Permalink
thermal: exynos: remove parsing of samsung, tmu_[first, second]_point…
Browse files Browse the repository at this point in the history
…_trim properties

All SoCs use the same values (25, 85) for trim points (except
Exynos5440 which currently specifices value 70 for the second trim
point -> it seems to be a mistake because documentation uses value
85 and two points based trimming has never been used by the driver
for this SoC anyway) so just make it explicit and remove parsing of
samsung,tmu_[first,second]_point_trim properties.

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]>
Reviewed-by: Daniel Lezcano <[email protected]>
Signed-off-by: Eduardo Valentin <[email protected]>
  • Loading branch information
bzolnier authored and Eduardo Valentin committed May 6, 2018
1 parent 9c933b1 commit 718b4ca
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 13 deletions.
20 changes: 9 additions & 11 deletions drivers/thermal/samsung/exynos_tmu.c
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,9 @@
#define EXYNOS7_EMUL_DATA_SHIFT 7
#define EXYNOS7_EMUL_DATA_MASK 0x1ff

#define EXYNOS_FIRST_POINT_TRIM 25
#define EXYNOS_SECOND_POINT_TRIM 85

#define MCELSIUS 1000
/**
* struct exynos_tmu_data : A structure to hold the private data of the TMU
Expand Down Expand Up @@ -251,11 +254,11 @@ static int temp_to_code(struct exynos_tmu_data *data, u8 temp)
struct exynos_tmu_platform_data *pdata = data->pdata;

if (pdata->cal_type == TYPE_ONE_POINT_TRIMMING)
return temp + data->temp_error1 - pdata->first_point_trim;
return temp + data->temp_error1 - EXYNOS_FIRST_POINT_TRIM;

return (temp - pdata->first_point_trim) *
return (temp - EXYNOS_FIRST_POINT_TRIM) *
(data->temp_error2 - data->temp_error1) /
(pdata->second_point_trim - pdata->first_point_trim) +
(EXYNOS_SECOND_POINT_TRIM - EXYNOS_FIRST_POINT_TRIM) +
data->temp_error1;
}

Expand All @@ -268,12 +271,12 @@ static int code_to_temp(struct exynos_tmu_data *data, u16 temp_code)
struct exynos_tmu_platform_data *pdata = data->pdata;

if (pdata->cal_type == TYPE_ONE_POINT_TRIMMING)
return temp_code - data->temp_error1 + pdata->first_point_trim;
return temp_code - data->temp_error1 + EXYNOS_FIRST_POINT_TRIM;

return (temp_code - data->temp_error1) *
(pdata->second_point_trim - pdata->first_point_trim) /
(EXYNOS_SECOND_POINT_TRIM - EXYNOS_FIRST_POINT_TRIM) /
(data->temp_error2 - data->temp_error1) +
pdata->first_point_trim;
EXYNOS_FIRST_POINT_TRIM;
}

static void sanitize_temp_error(struct exynos_tmu_data *data, u32 trim_info)
Expand Down Expand Up @@ -1142,11 +1145,6 @@ static int exynos_of_sensor_conf(struct device_node *np,
of_property_read_u32(np, "samsung,tmu_max_efuse_value",
&pdata->max_efuse_value);

of_property_read_u32(np, "samsung,tmu_first_point_trim", &value);
pdata->first_point_trim = (u8)value;
of_property_read_u32(np, "samsung,tmu_second_point_trim", &value);
pdata->second_point_trim = (u8)value;

of_property_read_u32(np, "samsung,tmu_cal_type", &pdata->cal_type);

of_node_put(np);
Expand Down
2 changes: 0 additions & 2 deletions drivers/thermal/samsung/exynos_tmu.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,6 @@ struct exynos_tmu_platform_data {
u32 efuse_value;
u32 min_efuse_value;
u32 max_efuse_value;
u8 first_point_trim;
u8 second_point_trim;

u32 cal_type;
};
Expand Down

0 comments on commit 718b4ca

Please sign in to comment.