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 bc011da79e1..086c2a5cef0 100644 --- a/drivers/hwmon/applesmc.c +++ b/drivers/hwmon/applesmc.c @@ -116,6 +116,21 @@ static const char* temperature_sensors_sets[][36] = {  /* Set 9: Macbook Pro 3,1 (Santa Rosa) */  	{ "TALP", "TB0T", "TC0D", "TC0P", "TG0D", "TG0H", "TTF0", "TW0P",  	  "Th0H", "Th1H", "Th2H", "Tm0P", "Ts0P", NULL }, +/* Set 10: iMac 5,1 */ +	{ "TA0P", "TC0D", "TC0P", "TG0D", "TH0P", "TO0P", "Tm0P", NULL }, +/* Set 11: Macbook 5,1 */ +	{ "TB0T", "TB1T", "TB2T", "TB3T", "TC0D", "TC0P", "TN0D", "TN0P", +	  "TTF0", "Th0H", "Th1H", "ThFH", "Ts0P", "Ts0S", NULL }, +/* Set 12: Macbook Pro 5,1 */ +	{ "TB0T", "TB1T", "TB2T", "TB3T", "TC0D", "TC0F", "TC0P", "TG0D", +	  "TG0F", "TG0H", "TG0P", "TG0T", "TG1H", "TN0D", "TN0P", "TTF0", +	  "Th2H", "Tm0P", "Ts0P", "Ts0S", NULL }, +/* Set 13: iMac 8,1 */ +	{ "TA0P", "TC0D", "TC0H", "TC0P", "TG0D", "TG0H", "TG0P", "TH0P", +	  "TL0P", "TO0P", "TW0P", "Tm0P", "Tp0P", NULL }, +/* Set 14: iMac 6,1 */ +	{ "TA0P", "TC0D", "TC0H", "TC0P", "TG0D", "TG0H", "TG0P", "TH0P", +	  "TO0P", "Tp0P", NULL },  };  /* List of keys used to read/write fan speeds */ @@ -1268,7 +1283,7 @@ static __initdata struct dmi_match_data applesmc_dmi_data[] = {  	{ .accelerometer = 0, .light = 0, .temperature_set = 4 },  /* iMac: temperature set 5 */  	{ .accelerometer = 0, .light = 0, .temperature_set = 5 }, -/* MacBook3: accelerometer and temperature set 6 */ +/* MacBook3, MacBook4: accelerometer and temperature set 6 */  	{ .accelerometer = 1, .light = 0, .temperature_set = 6 },  /* MacBook Air: accelerometer, backlight and temperature set 7 */  	{ .accelerometer = 1, .light = 1, .temperature_set = 7 }, @@ -1276,6 +1291,16 @@ static __initdata struct dmi_match_data applesmc_dmi_data[] = {  	{ .accelerometer = 1, .light = 1, .temperature_set = 8 },  /* MacBook Pro 3: accelerometer, backlight and temperature set 9 */  	{ .accelerometer = 1, .light = 1, .temperature_set = 9 }, +/* iMac 5: light sensor only, temperature set 10 */ +	{ .accelerometer = 0, .light = 0, .temperature_set = 10 }, +/* MacBook 5: accelerometer, backlight and temperature set 11 */ +	{ .accelerometer = 1, .light = 1, .temperature_set = 11 }, +/* MacBook Pro 5: accelerometer, backlight and temperature set 12 */ +	{ .accelerometer = 1, .light = 1, .temperature_set = 12 }, +/* iMac 8: light sensor only, temperature set 13 */ +	{ .accelerometer = 0, .light = 0, .temperature_set = 13 }, +/* iMac 6: light sensor only, temperature set 14 */ +	{ .accelerometer = 0, .light = 0, .temperature_set = 14 },  };  /* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1". @@ -1285,6 +1310,10 @@ static __initdata struct dmi_system_id applesmc_whitelist[] = {  	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),  	  DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir") },  		&applesmc_dmi_data[7]}, +	{ applesmc_dmi_match, "Apple MacBook Pro 5", { +	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), +	  DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro5") }, +		&applesmc_dmi_data[12]},  	{ applesmc_dmi_match, "Apple MacBook Pro 4", {  	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),  	  DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro4") }, @@ -1305,6 +1334,14 @@ static __initdata struct dmi_system_id applesmc_whitelist[] = {  	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),  	  DMI_MATCH(DMI_PRODUCT_NAME,"MacBook3") },  		&applesmc_dmi_data[6]}, +	{ applesmc_dmi_match, "Apple MacBook 4", { +	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), +	  DMI_MATCH(DMI_PRODUCT_NAME, "MacBook4") }, +		&applesmc_dmi_data[6]}, +	{ applesmc_dmi_match, "Apple MacBook 5", { +	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), +	  DMI_MATCH(DMI_PRODUCT_NAME, "MacBook5") }, +		&applesmc_dmi_data[11]},  	{ applesmc_dmi_match, "Apple MacBook", {  	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),  	  DMI_MATCH(DMI_PRODUCT_NAME,"MacBook") }, @@ -1317,6 +1354,22 @@ static __initdata struct dmi_system_id applesmc_whitelist[] = {  	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),  	  DMI_MATCH(DMI_PRODUCT_NAME,"MacPro2") },  		&applesmc_dmi_data[4]}, +	{ applesmc_dmi_match, "Apple MacPro", { +	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), +	  DMI_MATCH(DMI_PRODUCT_NAME, "MacPro") }, +		&applesmc_dmi_data[4]}, +	{ applesmc_dmi_match, "Apple iMac 8", { +	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), +	  DMI_MATCH(DMI_PRODUCT_NAME, "iMac8") }, +		&applesmc_dmi_data[13]}, +	{ applesmc_dmi_match, "Apple iMac 6", { +	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), +	  DMI_MATCH(DMI_PRODUCT_NAME, "iMac6") }, +		&applesmc_dmi_data[14]}, +	{ applesmc_dmi_match, "Apple iMac 5", { +	  DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), +	  DMI_MATCH(DMI_PRODUCT_NAME, "iMac5") }, +		&applesmc_dmi_data[10]},  	{ applesmc_dmi_match, "Apple iMac", {  	  DMI_MATCH(DMI_BOARD_VENDOR,"Apple"),  	  DMI_MATCH(DMI_PRODUCT_NAME,"iMac") }, @@ -1511,3 +1564,4 @@ module_exit(applesmc_exit);  MODULE_AUTHOR("Nicolas Boichat");  MODULE_DESCRIPTION("Apple SMC");  MODULE_LICENSE("GPL v2"); +MODULE_DEVICE_TABLE(dmi, applesmc_whitelist);  |