diff options
Diffstat (limited to 'drivers/hwmon/applesmc.c')
-rw-r--r-- | drivers/hwmon/applesmc.c | 56 |
1 files changed, 55 insertions, 1 deletions
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c index bc011da79e14..086c2a5cef0b 100644 --- a/drivers/hwmon/applesmc.c +++ b/drivers/hwmon/applesmc.c | |||
@@ -116,6 +116,21 @@ static const char* temperature_sensors_sets[][36] = { | |||
116 | /* Set 9: Macbook Pro 3,1 (Santa Rosa) */ | 116 | /* Set 9: Macbook Pro 3,1 (Santa Rosa) */ |
117 | { "TALP", "TB0T", "TC0D", "TC0P", "TG0D", "TG0H", "TTF0", "TW0P", | 117 | { "TALP", "TB0T", "TC0D", "TC0P", "TG0D", "TG0H", "TTF0", "TW0P", |
118 | "Th0H", "Th1H", "Th2H", "Tm0P", "Ts0P", NULL }, | 118 | "Th0H", "Th1H", "Th2H", "Tm0P", "Ts0P", NULL }, |
119 | /* Set 10: iMac 5,1 */ | ||
120 | { "TA0P", "TC0D", "TC0P", "TG0D", "TH0P", "TO0P", "Tm0P", NULL }, | ||
121 | /* Set 11: Macbook 5,1 */ | ||
122 | { "TB0T", "TB1T", "TB2T", "TB3T", "TC0D", "TC0P", "TN0D", "TN0P", | ||
123 | "TTF0", "Th0H", "Th1H", "ThFH", "Ts0P", "Ts0S", NULL }, | ||
124 | /* Set 12: Macbook Pro 5,1 */ | ||
125 | { "TB0T", "TB1T", "TB2T", "TB3T", "TC0D", "TC0F", "TC0P", "TG0D", | ||
126 | "TG0F", "TG0H", "TG0P", "TG0T", "TG1H", "TN0D", "TN0P", "TTF0", | ||
127 | "Th2H", "Tm0P", "Ts0P", "Ts0S", NULL }, | ||
128 | /* Set 13: iMac 8,1 */ | ||
129 | { "TA0P", "TC0D", "TC0H", "TC0P", "TG0D", "TG0H", "TG0P", "TH0P", | ||
130 | "TL0P", "TO0P", "TW0P", "Tm0P", "Tp0P", NULL }, | ||
131 | /* Set 14: iMac 6,1 */ | ||
132 | { "TA0P", "TC0D", "TC0H", "TC0P", "TG0D", "TG0H", "TG0P", "TH0P", | ||
133 | "TO0P", "Tp0P", NULL }, | ||
119 | }; | 134 | }; |
120 | 135 | ||
121 | /* List of keys used to read/write fan speeds */ | 136 | /* List of keys used to read/write fan speeds */ |
@@ -1268,7 +1283,7 @@ static __initdata struct dmi_match_data applesmc_dmi_data[] = { | |||
1268 | { .accelerometer = 0, .light = 0, .temperature_set = 4 }, | 1283 | { .accelerometer = 0, .light = 0, .temperature_set = 4 }, |
1269 | /* iMac: temperature set 5 */ | 1284 | /* iMac: temperature set 5 */ |
1270 | { .accelerometer = 0, .light = 0, .temperature_set = 5 }, | 1285 | { .accelerometer = 0, .light = 0, .temperature_set = 5 }, |
1271 | /* MacBook3: accelerometer and temperature set 6 */ | 1286 | /* MacBook3, MacBook4: accelerometer and temperature set 6 */ |
1272 | { .accelerometer = 1, .light = 0, .temperature_set = 6 }, | 1287 | { .accelerometer = 1, .light = 0, .temperature_set = 6 }, |
1273 | /* MacBook Air: accelerometer, backlight and temperature set 7 */ | 1288 | /* MacBook Air: accelerometer, backlight and temperature set 7 */ |
1274 | { .accelerometer = 1, .light = 1, .temperature_set = 7 }, | 1289 | { .accelerometer = 1, .light = 1, .temperature_set = 7 }, |
@@ -1276,6 +1291,16 @@ static __initdata struct dmi_match_data applesmc_dmi_data[] = { | |||
1276 | { .accelerometer = 1, .light = 1, .temperature_set = 8 }, | 1291 | { .accelerometer = 1, .light = 1, .temperature_set = 8 }, |
1277 | /* MacBook Pro 3: accelerometer, backlight and temperature set 9 */ | 1292 | /* MacBook Pro 3: accelerometer, backlight and temperature set 9 */ |
1278 | { .accelerometer = 1, .light = 1, .temperature_set = 9 }, | 1293 | { .accelerometer = 1, .light = 1, .temperature_set = 9 }, |
1294 | /* iMac 5: light sensor only, temperature set 10 */ | ||
1295 | { .accelerometer = 0, .light = 0, .temperature_set = 10 }, | ||
1296 | /* MacBook 5: accelerometer, backlight and temperature set 11 */ | ||
1297 | { .accelerometer = 1, .light = 1, .temperature_set = 11 }, | ||
1298 | /* MacBook Pro 5: accelerometer, backlight and temperature set 12 */ | ||
1299 | { .accelerometer = 1, .light = 1, .temperature_set = 12 }, | ||
1300 | /* iMac 8: light sensor only, temperature set 13 */ | ||
1301 | { .accelerometer = 0, .light = 0, .temperature_set = 13 }, | ||
1302 | /* iMac 6: light sensor only, temperature set 14 */ | ||
1303 | { .accelerometer = 0, .light = 0, .temperature_set = 14 }, | ||
1279 | }; | 1304 | }; |
1280 | 1305 | ||
1281 | /* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1". | 1306 | /* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1". |
@@ -1285,6 +1310,10 @@ static __initdata struct dmi_system_id applesmc_whitelist[] = { | |||
1285 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), | 1310 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), |
1286 | DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir") }, | 1311 | DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir") }, |
1287 | &applesmc_dmi_data[7]}, | 1312 | &applesmc_dmi_data[7]}, |
1313 | { applesmc_dmi_match, "Apple MacBook Pro 5", { | ||
1314 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), | ||
1315 | DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro5") }, | ||
1316 | &applesmc_dmi_data[12]}, | ||
1288 | { applesmc_dmi_match, "Apple MacBook Pro 4", { | 1317 | { applesmc_dmi_match, "Apple MacBook Pro 4", { |
1289 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), | 1318 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), |
1290 | DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro4") }, | 1319 | DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro4") }, |
@@ -1305,6 +1334,14 @@ static __initdata struct dmi_system_id applesmc_whitelist[] = { | |||
1305 | DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), | 1334 | DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), |
1306 | DMI_MATCH(DMI_PRODUCT_NAME,"MacBook3") }, | 1335 | DMI_MATCH(DMI_PRODUCT_NAME,"MacBook3") }, |
1307 | &applesmc_dmi_data[6]}, | 1336 | &applesmc_dmi_data[6]}, |
1337 | { applesmc_dmi_match, "Apple MacBook 4", { | ||
1338 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), | ||
1339 | DMI_MATCH(DMI_PRODUCT_NAME, "MacBook4") }, | ||
1340 | &applesmc_dmi_data[6]}, | ||
1341 | { applesmc_dmi_match, "Apple MacBook 5", { | ||
1342 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), | ||
1343 | DMI_MATCH(DMI_PRODUCT_NAME, "MacBook5") }, | ||
1344 | &applesmc_dmi_data[11]}, | ||
1308 | { applesmc_dmi_match, "Apple MacBook", { | 1345 | { applesmc_dmi_match, "Apple MacBook", { |
1309 | DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), | 1346 | DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), |
1310 | DMI_MATCH(DMI_PRODUCT_NAME,"MacBook") }, | 1347 | DMI_MATCH(DMI_PRODUCT_NAME,"MacBook") }, |
@@ -1317,6 +1354,22 @@ static __initdata struct dmi_system_id applesmc_whitelist[] = { | |||
1317 | DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), | 1354 | DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), |
1318 | DMI_MATCH(DMI_PRODUCT_NAME,"MacPro2") }, | 1355 | DMI_MATCH(DMI_PRODUCT_NAME,"MacPro2") }, |
1319 | &applesmc_dmi_data[4]}, | 1356 | &applesmc_dmi_data[4]}, |
1357 | { applesmc_dmi_match, "Apple MacPro", { | ||
1358 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), | ||
1359 | DMI_MATCH(DMI_PRODUCT_NAME, "MacPro") }, | ||
1360 | &applesmc_dmi_data[4]}, | ||
1361 | { applesmc_dmi_match, "Apple iMac 8", { | ||
1362 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), | ||
1363 | DMI_MATCH(DMI_PRODUCT_NAME, "iMac8") }, | ||
1364 | &applesmc_dmi_data[13]}, | ||
1365 | { applesmc_dmi_match, "Apple iMac 6", { | ||
1366 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), | ||
1367 | DMI_MATCH(DMI_PRODUCT_NAME, "iMac6") }, | ||
1368 | &applesmc_dmi_data[14]}, | ||
1369 | { applesmc_dmi_match, "Apple iMac 5", { | ||
1370 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), | ||
1371 | DMI_MATCH(DMI_PRODUCT_NAME, "iMac5") }, | ||
1372 | &applesmc_dmi_data[10]}, | ||
1320 | { applesmc_dmi_match, "Apple iMac", { | 1373 | { applesmc_dmi_match, "Apple iMac", { |
1321 | DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), | 1374 | DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), |
1322 | DMI_MATCH(DMI_PRODUCT_NAME,"iMac") }, | 1375 | DMI_MATCH(DMI_PRODUCT_NAME,"iMac") }, |
@@ -1511,3 +1564,4 @@ module_exit(applesmc_exit); | |||
1511 | MODULE_AUTHOR("Nicolas Boichat"); | 1564 | MODULE_AUTHOR("Nicolas Boichat"); |
1512 | MODULE_DESCRIPTION("Apple SMC"); | 1565 | MODULE_DESCRIPTION("Apple SMC"); |
1513 | MODULE_LICENSE("GPL v2"); | 1566 | MODULE_LICENSE("GPL v2"); |
1567 | MODULE_DEVICE_TABLE(dmi, applesmc_whitelist); | ||