Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dcdea261 authored by Henrik Rydberg's avatar Henrik Rydberg Committed by Guenter Roeck
Browse files

hwmon: (applesmc) Handle new temperature format



The recent Macbooks have temperature registers of a new type.
This patch adds the logic to handle them.

Signed-off-by: default avatarHenrik Rydberg <rydberg@euromail.se>
Signed-off-by: default avatarGuenter Roeck <guenter.roeck@ericsson.com>
parent 9792dadf
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -734,13 +734,19 @@ static ssize_t applesmc_show_temperature(struct device *dev,
	entry = applesmc_get_entry_by_index(index);
	if (IS_ERR(entry))
		return PTR_ERR(entry);
	if (entry->len > 2)
		return -EINVAL;

	ret = applesmc_read_entry(entry, buffer, 2);
	ret = applesmc_read_entry(entry, buffer, entry->len);
	if (ret)
		return ret;

	if (entry->len == 2) {
		temp = buffer[0] * 1000;
		temp += (buffer[1] >> 6) * 250;
	} else {
		temp = buffer[0] * 4000;
	}

	return snprintf(sysfsbuf, PAGE_SIZE, "%u\n", temp);
}