Browse Source

ASoC: wsa881x: Update temperature value during device down

when wsa881x device is down, reading temperature from driver
returns error. Instead of propagating the error, return the
cached temperature value to the thermal framework to avoid
iterative calls to read the temperature that results in
excessive logging.

Change-Id: I529c83eafec63004c2469bf16a0b53bd5accbdbb
Signed-off-by: Sudheer Papothi <[email protected]>
Sudheer Papothi 6 năm trước cách đây
mục cha
commit
4b9d12f1e9
1 tập tin đã thay đổi với 5 bổ sung3 xóa
  1. 5 3
      asoc/codecs/wsa881x-temp-sensor.c

+ 5 - 3
asoc/codecs/wsa881x-temp-sensor.c

@@ -80,9 +80,11 @@ temp_retry:
 	if (pdata->wsa_temp_reg_read) {
 		ret = pdata->wsa_temp_reg_read(codec, &reg);
 		if (ret) {
-			pr_err("%s: temperature register read failed: %d\n",
-				__func__, ret);
-			return ret;
+			pr_err("%s: temp read failed: %d, current temp: %d\n",
+				__func__, ret, pdata->curr_temp);
+			if (temp)
+				*temp = pdata->curr_temp;
+			return 0;
 		}
 	} else {
 		pr_err("%s: wsa_temp_reg_read is NULL\n", __func__);