Commit 6d9eb7eb authored by Dedy Lansky's avatar Dedy Lansky Committed by Kalle Valo

wil6210: fix temperature debugfs

For negative temperatures, "temp" debugfs is showing wrong values.
Use signed types so proper calculations is done for sub zero
temperatures.
Signed-off-by: default avatarDedy Lansky <dlansky@codeaurora.org>
Signed-off-by: default avatarMaya Erez <merez@codeaurora.org>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent a24a3d6a
...@@ -1388,7 +1388,7 @@ static const struct file_operations fops_bf = { ...@@ -1388,7 +1388,7 @@ static const struct file_operations fops_bf = {
}; };
/*---------temp------------*/ /*---------temp------------*/
static void print_temp(struct seq_file *s, const char *prefix, u32 t) static void print_temp(struct seq_file *s, const char *prefix, s32 t)
{ {
switch (t) { switch (t) {
case 0: case 0:
...@@ -1396,7 +1396,8 @@ static void print_temp(struct seq_file *s, const char *prefix, u32 t) ...@@ -1396,7 +1396,8 @@ static void print_temp(struct seq_file *s, const char *prefix, u32 t)
seq_printf(s, "%s N/A\n", prefix); seq_printf(s, "%s N/A\n", prefix);
break; break;
default: default:
seq_printf(s, "%s %d.%03d\n", prefix, t / 1000, t % 1000); seq_printf(s, "%s %s%d.%03d\n", prefix, (t < 0 ? "-" : ""),
abs(t / 1000), abs(t % 1000));
break; break;
} }
} }
...@@ -1404,7 +1405,7 @@ static void print_temp(struct seq_file *s, const char *prefix, u32 t) ...@@ -1404,7 +1405,7 @@ static void print_temp(struct seq_file *s, const char *prefix, u32 t)
static int wil_temp_debugfs_show(struct seq_file *s, void *data) static int wil_temp_debugfs_show(struct seq_file *s, void *data)
{ {
struct wil6210_priv *wil = s->private; struct wil6210_priv *wil = s->private;
u32 t_m, t_r; s32 t_m, t_r;
int rc = wmi_get_temperature(wil, &t_m, &t_r); int rc = wmi_get_temperature(wil, &t_m, &t_r);
if (rc) { if (rc) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment