瀏覽代碼

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__);