|
@@ -666,8 +666,14 @@ static int exynos_get_temp(void *p, int *temp)
|
|
|
struct exynos_tmu_data *data = p;
|
|
|
int value, ret = 0;
|
|
|
|
|
|
- if (!data || !data->tmu_read || !data->enabled)
|
|
|
+ if (!data || !data->tmu_read)
|
|
|
return -EINVAL;
|
|
|
+ else if (!data->enabled)
|
|
|
+ /*
|
|
|
+ * Called too early, probably
|
|
|
+ * from thermal_zone_of_sensor_register().
|
|
|
+ */
|
|
|
+ return -EAGAIN;
|
|
|
|
|
|
mutex_lock(&data->lock);
|
|
|
clk_enable(data->clk);
|