On Sun, 31 Mar 2013 at 12:49:22 -0400, Brian Callahan wrote:
> Hi tech --
>
> I just discovered that my Thinkpad (Edge E420) sends a 0x6040 event when the
> power cable is connected or removed.
My X230 generates this as well. When I looked at Linux's driver a
while ago it says that 0x6040 is THINKPAD_POWER_CHANGED and 0x6030
that older models generate is actually
THINKPAD_THERMAL_TABLE_CHANGED. I don't know whether these actually
matter, especially since we're ignoring all of them anyway.
But here is what I have in my tree that ignores 0x6040 and
groups/sorts all of the ignored events together.
Index: dev/acpi/acpithinkpad.c
===
RCS file: /cvs/src/sys/dev/acpi/acpithinkpad.c,v
retrieving revision 1.29
diff -u -p -u -p -r1.29 acpithinkpad.c
--- dev/acpi/acpithinkpad.c 22 Mar 2013 22:15:01 - 1.29
+++ dev/acpi/acpithinkpad.c 1 Apr 2013 03:00:25 -
@@ -73,7 +73,8 @@
#defineTHINKPAD_BRIGHTNESS_CHANGED 0x5010
#defineTHINKPAD_TABLET_PEN_INSERTED0x500b
#defineTHINKPAD_TABLET_PEN_REMOVED 0x500c
-#defineTHINKPAD_POWER_CHANGED 0x6030
+#defineTHINKPAD_THERMAL_TABLE_CHANGED 0x6030
+#defineTHINKPAD_POWER_CHANGED 0x6040
#defineTHINKPAD_BACKLIGHT_CHANGED 0x6050
#defineTHINKPAD_SWITCH_WIRELESS0x7000
@@ -301,18 +302,6 @@ thinkpad_hotkey(struct aml_node *node, i
#endif
handled = 1;
break;
- case THINKPAD_BUTTON_HIBERNATE:
- case THINKPAD_BUTTON_FN_F1:
- case THINKPAD_BUTTON_LOCK_SCREEN:
- case THINKPAD_BUTTON_BATTERY_INFO:
- case THINKPAD_BUTTON_FN_F6:
- case THINKPAD_BUTTON_EXTERNAL_SCREEN:
- case THINKPAD_BUTTON_POINTER_SWITCH:
- case THINKPAD_BUTTON_EJECT:
- case THINKPAD_BUTTON_THINKLIGHT:
- case THINKPAD_BUTTON_FN_SPACE:
- handled = 1;
- break;
case THINKPAD_BUTTON_VOLUME_MUTE:
thinkpad_volume_mute(sc);
handled = 1;
@@ -332,24 +321,29 @@ thinkpad_hotkey(struct aml_node *node, i
#endif
handled = 1;
break;
- case THINKPAD_BUTTON_THINKVANTAGE:
+ case THINKPAD_BACKLIGHT_CHANGED:
+ case THINKPAD_BRIGHTNESS_CHANGED:
+ case THINKPAD_BUTTON_BATTERY_INFO:
+ case THINKPAD_BUTTON_EJECT:
+ case THINKPAD_BUTTON_EXTERNAL_SCREEN:
case THINKPAD_BUTTON_FN_F11:
- handled = 1;
- break;
- case THINKPAD_LID_OPEN:
+ case THINKPAD_BUTTON_FN_F1:
+ case THINKPAD_BUTTON_FN_F6:
+ case THINKPAD_BUTTON_FN_SPACE:
+ case THINKPAD_BUTTON_HIBERNATE:
+ case THINKPAD_BUTTON_LOCK_SCREEN:
+ case THINKPAD_BUTTON_POINTER_SWITCH:
+ case THINKPAD_BUTTON_THINKLIGHT:
+ case THINKPAD_BUTTON_THINKVANTAGE:
case THINKPAD_LID_CLOSED:
- case THINKPAD_TABLET_SCREEN_NORMAL:
- case THINKPAD_TABLET_SCREEN_ROTATED:
- case THINKPAD_BRIGHTNESS_CHANGED:
- case THINKPAD_TABLET_PEN_INSERTED:
- case THINKPAD_TABLET_PEN_REMOVED:
- handled = 1;
- break;
+ case THINKPAD_LID_OPEN:
case THINKPAD_POWER_CHANGED:
- case THINKPAD_BACKLIGHT_CHANGED:
- handled = 1;
- break;
case THINKPAD_SWITCH_WIRELESS:
+ case THINKPAD_TABLET_PEN_INSERTED:
+ case THINKPAD_TABLET_PEN_REMOVED:
+ case THINKPAD_TABLET_SCREEN_NORMAL:
+ case THINKPAD_TABLET_SCREEN_ROTATED:
+ case THINKPAD_THERMAL_TABLE_CHANGED:
handled = 1;
break;
default: