The fix is only almost right except that the DMI matches are wrong: The X40 and X41 are pre-Lenovo, so the following patch is needed:
diff --git a/ubuntu/hwmon/hdaps_ec.c b/ubuntu/hwmon/hdaps_ec.c index ce68a5a..9853562 100644 --- a/ubuntu/hwmon/hdaps_ec.c +++ b/ubuntu/hwmon/hdaps_ec.c @@ -791,8 +791,8 @@ struct dmi_system_id __initdata hdaps_whitelist[] = { HDAPS_DMI_MATCH_INVERT("IBM", "ThinkPad T42p", HDAPS_ORIENT_INVERT_XY), HDAPS_DMI_MATCH_INVERT("LENOVO", "ThinkPad T60", HDAPS_ORIENT_INVERT_XY), HDAPS_DMI_MATCH_INVERT("LENOVO", "ThinkPad T61", HDAPS_ORIENT_INVERT_XY), - HDAPS_DMI_MATCH_INVERT("LENOVO", "ThinkPad X40", HDAPS_ORIENT_INVERT_Y), - HDAPS_DMI_MATCH_INVERT("LENOVO", "ThinkPad X41", HDAPS_ORIENT_INVERT_Y), + HDAPS_DMI_MATCH_INVERT("IBM", "ThinkPad X40", HDAPS_ORIENT_INVERT_Y), + HDAPS_DMI_MATCH_INVERT("IBM", "ThinkPad X41", HDAPS_ORIENT_INVERT_Y), HDAPS_DMI_MATCH_INVERT("LENOVO", "ThinkPad X60 Tablet", HDAPS_ORIENT_INVERT_Y), HDAPS_DMI_MATCH_INVERT("LENOVO", "ThinkPad X60s", HDAPS_ORIENT_INVERT_Y), HDAPS_DMI_MATCH_INVERT("LENOVO", "ThinkPad X60", HDAPS_ORIENT_SWAP | HDAPS_ORIENT_INVERT_X),
The fix is only almost right except that the DMI matches are wrong: The X40 and X41 are pre-Lenovo, so the following patch is needed:
diff --git a/ubuntu/ hwmon/hdaps_ ec.c b/ubuntu/ hwmon/hdaps_ ec.c hwmon/hdaps_ ec.c hwmon/hdaps_ ec.c DMI_MATCH_ INVERT( "IBM", "ThinkPad T42p", HDAPS_ORIENT_ INVERT_ XY), DMI_MATCH_ INVERT( "LENOVO" , "ThinkPad T60", HDAPS_ORIENT_ INVERT_ XY), DMI_MATCH_ INVERT( "LENOVO" , "ThinkPad T61", HDAPS_ORIENT_ INVERT_ XY), MATCH_INVERT( "LENOVO" , "ThinkPad X40", HDAPS_ORIENT_ INVERT_ Y), MATCH_INVERT( "LENOVO" , "ThinkPad X41", HDAPS_ORIENT_ INVERT_ Y), MATCH_INVERT( "IBM", "ThinkPad X40", HDAPS_ORIENT_ INVERT_ Y), MATCH_INVERT( "IBM", "ThinkPad X41", HDAPS_ORIENT_ INVERT_ Y), DMI_MATCH_ INVERT( "LENOVO" , "ThinkPad X60 Tablet", HDAPS_ORIENT_ INVERT_ Y), DMI_MATCH_ INVERT( "LENOVO" , "ThinkPad X60s", HDAPS_ORIENT_ INVERT_ Y), DMI_MATCH_ INVERT( "LENOVO" , "ThinkPad X60", HDAPS_ORIENT_SWAP | HDAPS_ORIENT_ INVERT_ X),
index ce68a5a..9853562 100644
--- a/ubuntu/
+++ b/ubuntu/
@@ -791,8 +791,8 @@ struct dmi_system_id __initdata hdaps_whitelist[] = {
HDAPS_
HDAPS_
HDAPS_
- HDAPS_DMI_
- HDAPS_DMI_
+ HDAPS_DMI_
+ HDAPS_DMI_
HDAPS_
HDAPS_
HDAPS_