hwmon:Update EC Chip driver for Lenovo ThinkStation motherboards
Subsystems (2)
PATCH 1/1 hwmon:Update EC Chip driver for Lenovo ThinkStation motherboards
This fixes differences for the P8 system that was initially set to the same thermal values as the P7, also adds in the PSU sensor for all of the supported systems
Signed-off-by David Ober <[email protected]>
Signed-off-by David Ober <[email protected]>
--- drivers/hwmon/lenovo-ec-sensors.c | 34 +++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-)
drivers/hwmon/lenovo-ec-sensors.c +30 -4
@@ -66,7 +66,7 @@ enum systems { LENOVO_P8, }; -static int px_temp_map[] = {0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,15 }; +static int px_temp_map[] = {0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,31 ,32 };static const char *const lenovo_px_ec_temp_label[] = {"CPU1" ,
@@ -84,9 +84,29 @@ static const char * const lenovo_px_ec_temp_label[] = {"PCI_Z3" ,"PCI_Z4" ,"AMB" , +"PSU1" , + "PSU2", }; -static int gen_temp_map[] = {0 ,2 ,3 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,15 }; +static int p8_temp_map[] = {0 ,1 ,2 ,8 ,9 ,13 ,14 ,15 ,16 ,17 ,19 ,20 ,33 }; + +static const char *const lenovo_p8_ec_temp_label[] = { +"CPU1" , +"CPU_DIMM_BANK1" , +"CPU_DIMM_BANK2" , +"M2_Z2R" , +"M2_Z3R" , +"DIMM_RIGHT" , +"DIMM_LEFT" , +"PCI_Z1" , +"PCI_Z2" , +"PCI_Z3" , +"AMB" , +"REAR_VR" , +"PSU" , +}; + +static int gen_temp_map[] = {0 ,2 ,3 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,31 };static const char *const lenovo_gen_ec_temp_label[] = { "CPU1",
@@ -101,6 +121,7 @@ static const char * const lenovo_gen_ec_temp_label[] = {"PCI_Z3" ,"PCI_Z4" ,"AMB" , + "PSU", };static int px_fan_map[] = {0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,15 };
@@ -293,6 +314,8 @@ static const struct hwmon_channel_info *lenovo_ec_hwmon_info_px[] = { HWMON_T_INPUT | HWMON_T_LABEL, HWMON_T_INPUT | HWMON_T_LABEL, HWMON_T_INPUT | HWMON_T_LABEL, + HWMON_T_INPUT | HWMON_T_LABEL, + HWMON_T_INPUT | HWMON_T_LABEL, HWMON_T_INPUT | HWMON_T_LABEL), HWMON_CHANNEL_INFO(fan, HWMON_F_INPUT | HWMON_F_LABEL | HWMON_F_MAX,
@@ -327,6 +350,7 @@ static const struct hwmon_channel_info *lenovo_ec_hwmon_info_p8[] = { HWMON_T_INPUT | HWMON_T_LABEL, HWMON_T_INPUT | HWMON_T_LABEL, HWMON_T_INPUT | HWMON_T_LABEL, + HWMON_T_INPUT | HWMON_T_LABEL, HWMON_T_INPUT | HWMON_T_LABEL), HWMON_CHANNEL_INFO(fan, HWMON_F_INPUT | HWMON_F_LABEL | HWMON_F_MAX,
@@ -359,6 +383,7 @@ static const struct hwmon_channel_info *lenovo_ec_hwmon_info_p7[] = { HWMON_T_INPUT | HWMON_T_LABEL, HWMON_T_INPUT | HWMON_T_LABEL, HWMON_T_INPUT | HWMON_T_LABEL, + HWMON_T_INPUT | HWMON_T_LABEL, HWMON_T_INPUT | HWMON_T_LABEL), HWMON_CHANNEL_INFO(fan, HWMON_F_INPUT | HWMON_F_LABEL | HWMON_F_MAX,
@@ -388,6 +413,7 @@ static const struct hwmon_channel_info *lenovo_ec_hwmon_info_p5[] = { HWMON_T_INPUT | HWMON_T_LABEL, HWMON_T_INPUT | HWMON_T_LABEL, HWMON_T_INPUT | HWMON_T_LABEL, + HWMON_T_INPUT | HWMON_T_LABEL, HWMON_T_INPUT | HWMON_T_LABEL), HWMON_CHANNEL_INFO(fan, HWMON_F_INPUT | HWMON_F_LABEL | HWMON_F_MAX,
@@ -545,9 +571,9 @@ static int lenovo_ec_probe(struct platform_device *pdev)break ;case 3 : ec_data->fan_labels = p8_ec_fan_label; - ec_data->temp_labels = lenovo_gen_ec_temp_label; + ec_data->temp_labels = lenovo_p8_ec_temp_label; ec_data->fan_map = p8_fan_map; - ec_data->temp_map = gen_temp_map; + ec_data->temp_map = p8_temp_map; lenovo_ec_chip_info.info = lenovo_ec_hwmon_info_p8;break ;default :
Signature · 1 line
2.34.1
Quoted 6 lines · David Ober
This fixes differences for the P8 system that was initially set to the same thermal values as the P7, also adds in the PSU sensor for all of the supported systems
Signed-off-by David Ober <[email protected]>Signed-off-by David Ober <[email protected]>
Applied.
Guenter