소스 검색

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 년 전
부모
커밋
4b9d12f1e9
1개의 변경된 파일5개의 추가작업 그리고 3개의 파일을 삭제
  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__);