|
@@ -180,10 +180,15 @@ static int exynos_tmu_initialize(struct platform_device *pdev)
|
|
|
data->temp_error2 = ((trim_info >> reg->triminfo_85_shift) &
|
|
|
EXYNOS_TMU_TEMP_MASK);
|
|
|
|
|
|
- if ((pdata->min_efuse_value > data->temp_error1) ||
|
|
|
- (data->temp_error1 > pdata->max_efuse_value) ||
|
|
|
- (data->temp_error2 != 0))
|
|
|
- data->temp_error1 = pdata->efuse_value;
|
|
|
+ if (!data->temp_error1 ||
|
|
|
+ (pdata->min_efuse_value > data->temp_error1) ||
|
|
|
+ (data->temp_error1 > pdata->max_efuse_value))
|
|
|
+ data->temp_error1 = pdata->efuse_value & EXYNOS_TMU_TEMP_MASK;
|
|
|
+
|
|
|
+ if (!data->temp_error2)
|
|
|
+ data->temp_error2 =
|
|
|
+ (pdata->efuse_value >> reg->triminfo_85_shift) &
|
|
|
+ EXYNOS_TMU_TEMP_MASK;
|
|
|
|
|
|
if (pdata->max_trigger_level > MAX_THRESHOLD_LEVS) {
|
|
|
dev_err(&pdev->dev, "Invalid max trigger level\n");
|