diff options
Diffstat (limited to 'sys-kernel/mactel-linux-sources/files/mactel-patches-r138/applesmc-add-macbook-temperature-keys.patch')
-rw-r--r-- | sys-kernel/mactel-linux-sources/files/mactel-patches-r138/applesmc-add-macbook-temperature-keys.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/sys-kernel/mactel-linux-sources/files/mactel-patches-r138/applesmc-add-macbook-temperature-keys.patch b/sys-kernel/mactel-linux-sources/files/mactel-patches-r138/applesmc-add-macbook-temperature-keys.patch new file mode 100644 index 0000000..6f7caf4 --- /dev/null +++ b/sys-kernel/mactel-linux-sources/files/mactel-patches-r138/applesmc-add-macbook-temperature-keys.patch @@ -0,0 +1,46 @@ +Fix AppleSMC registers on non-pro Macbooks. + +From: Martin Szulecki <mactel@sukimashita.com> + + +--- + + drivers/hwmon/applesmc.c | 14 +++++++++----- + 1 files changed, 9 insertions(+), 5 deletions(-) + +diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c +index eb81a64..cea8d78 100644 +--- a/drivers/hwmon/applesmc.c ++++ b/drivers/hwmon/applesmc.c +@@ -79,11 +79,15 @@ + + /* + * Temperature sensors keys (sp78 - 2 bytes). +- * First set for Macbook(Pro), second for Macmini. + */ + static const char* temperature_sensors_sets[][13] = { ++/* Set 0: Macbook Pro */ + { "TA0P", "TB0T", "TC0D", "TC0P", "TG0H", "TG0P", "TG0T", "Th0H", + "Th1H", "Tm0P", "Ts0P", "Ts1P", NULL }, ++/* Set 1: Macbook set */ ++ { "TB0T", "TC0D", "TC0P", "TM0P", "TN0P", "TN1P", "Th0H", "Th0S", ++ "Th1H", "Ts0P", NULL }, ++/* Set 2: Macmini set */ + { "TC0D", "TC0P", NULL } + }; + +@@ -1129,10 +1133,10 @@ static void applesmc_release_accelerometer(void) + static __initdata struct dmi_match_data applesmc_dmi_data[] = { + /* MacBook Pro: accelerometer, backlight and temperature set 0 */ + { .accelerometer = 1, .light = 1, .temperature_set = 0 }, +-/* MacBook: accelerometer and temperature set 0 */ +- { .accelerometer = 1, .light = 0, .temperature_set = 0 }, +-/* MacBook: temperature set 1 */ +- { .accelerometer = 0, .light = 0, .temperature_set = 1 } ++/* MacBook: accelerometer and temperature set 1 */ ++ { .accelerometer = 1, .light = 0, .temperature_set = 1 }, ++/* MacMini: temperature set 2 */ ++ { .accelerometer = 0, .light = 0, .temperature_set = 2 }, + }; + + /* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1". |