aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoberto De Ioris <roberto@unbit.it>2008-08-15 03:40:30 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-08-15 11:35:43 -0400
commit9f86f28df14e06b12908d6475ee2462f0555bf34 (patch)
tree5bdea314d60d61d8261cb95e2692c362fcd85892
parentfdfaa4833f984c6f8d44afb1fed6c0c775e6e67b (diff)
applesmc: support for Intel iMac
This adds support for fans and temperature sensors on intel iMac. Tested on iMac 24" 2.8ghz (iMac8,1), it supports the following sensors: cpu A ambient gpu gpu diode gpu heatsink hd bay 1 memory controller optical drive power Signed-off-by: Roberto De Ioris <roberto@unbit.it> Cc: Nicolas Boichat <nicolas@boichat.ch> Cc: Jean Delvare <khali@linux-fr.org> Cc: Mark M. Hoffman <mhoffman@lightlink.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/hwmon/applesmc.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index aacc0c4b809c..52d842b48fae 100644
--- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c
@@ -98,6 +98,9 @@ static const char* temperature_sensors_sets[][36] = {
98 "TH1P", "TH2P", "TH3P", "TMAP", "TMAS", "TMBS", "TM0P", "TM0S", 98 "TH1P", "TH2P", "TH3P", "TMAP", "TMAS", "TMBS", "TM0P", "TM0S",
99 "TM1P", "TM1S", "TM2P", "TM2S", "TM3S", "TM8P", "TM8S", "TM9P", 99 "TM1P", "TM1S", "TM2P", "TM2S", "TM3S", "TM8P", "TM8S", "TM9P",
100 "TM9S", "TN0H", "TS0C", NULL }, 100 "TM9S", "TN0H", "TS0C", NULL },
101/* Set 5: iMac */
102 { "TC0D", "TA0P", "TG0P", "TG0D", "TG0H", "TH0P", "Tm0P", "TO0P",
103 "Tp0C", NULL },
101}; 104};
102 105
103/* List of keys used to read/write fan speeds */ 106/* List of keys used to read/write fan speeds */
@@ -1223,6 +1226,8 @@ static __initdata struct dmi_match_data applesmc_dmi_data[] = {
1223 { .accelerometer = 0, .light = 0, .temperature_set = 3 }, 1226 { .accelerometer = 0, .light = 0, .temperature_set = 3 },
1224/* MacPro: temperature set 4 */ 1227/* MacPro: temperature set 4 */
1225 { .accelerometer = 0, .light = 0, .temperature_set = 4 }, 1228 { .accelerometer = 0, .light = 0, .temperature_set = 4 },
1229/* iMac: temperature set 5 */
1230 { .accelerometer = 0, .light = 0, .temperature_set = 5 },
1226}; 1231};
1227 1232
1228/* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1". 1233/* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1".
@@ -1248,6 +1253,10 @@ static __initdata struct dmi_system_id applesmc_whitelist[] = {
1248 DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), 1253 DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
1249 DMI_MATCH(DMI_PRODUCT_NAME,"MacPro2") }, 1254 DMI_MATCH(DMI_PRODUCT_NAME,"MacPro2") },
1250 (void*)&applesmc_dmi_data[4]}, 1255 (void*)&applesmc_dmi_data[4]},
1256 { applesmc_dmi_match, "Apple iMac", {
1257 DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),
1258 DMI_MATCH(DMI_PRODUCT_NAME,"iMac") },
1259 (void*)&applesmc_dmi_data[5]},
1251 { .ident = NULL } 1260 { .ident = NULL }
1252}; 1261};
1253 1262