Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 86123
b: refs/heads/master
c: b3ec6f9
h: refs/heads/master
i:
  86121: b5473dd
  86119: 420ca43
v: v3
  • Loading branch information
Henrique de Moraes Holschuh authored and Len Brown committed Feb 16, 2008
1 parent c81da24 commit 830284b
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d7c1d17dfed996e84212fc1ce617b2586dd70ec2
refs/heads/master: b3ec6f911a681f38e4630ef8bf20b3d3cb0f63c2
4 changes: 2 additions & 2 deletions trunk/Documentation/laptops/thinkpad-acpi.txt
Original file line number Diff line number Diff line change
Expand Up @@ -491,6 +491,8 @@ generate input device EV_KEY events.
Non hot-key ACPI HKEY event map:
0x5001 Lid closed
0x5002 Lid opened
0x5009 Tablet swivel: switched to tablet mode
0x500A Tablet swivel: switched to normal mode
0x7000 Radio Switch may have changed state

The above events are not propagated by the driver, except for legacy
Expand All @@ -505,8 +507,6 @@ The above events are never propagated by the driver.

0x3003 Bay ejection (see 0x2x05) complete, can sleep again
0x4003 Undocked (see 0x2x04), can sleep again
0x5009 Tablet swivel: switched to tablet mode
0x500A Tablet swivel: switched to normal mode
0x500B Tablet pen insterted into its storage bay
0x500C Tablet pen removed from its storage bay
0x5010 Brightness level changed (newer Lenovo BIOSes)
Expand Down
22 changes: 20 additions & 2 deletions trunk/drivers/misc/thinkpad_acpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1172,6 +1172,17 @@ static void tpacpi_input_send_radiosw(void)
mutex_unlock(&tpacpi_inputdev_send_mutex);
}

static void tpacpi_input_send_tabletsw(unsigned int state)
{
mutex_lock(&tpacpi_inputdev_send_mutex);

input_report_switch(tpacpi_inputdev,
SW_TABLET_MODE, !!state);
input_sync(tpacpi_inputdev);

mutex_unlock(&tpacpi_inputdev_send_mutex);
}

static void tpacpi_input_send_key(unsigned int scancode)
{
unsigned int keycode;
Expand Down Expand Up @@ -2020,6 +2031,10 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
set_bit(EV_SW, tpacpi_inputdev->evbit);
set_bit(SW_RADIO, tpacpi_inputdev->swbit);
}
if (thinkpad_id.vendor == PCI_VENDOR_ID_LENOVO) {
set_bit(EV_SW, tpacpi_inputdev->evbit);
set_bit(SW_TABLET_MODE, tpacpi_inputdev->swbit);
}

dbg_printk(TPACPI_DBG_INIT,
"enabling hot key handling\n");
Expand Down Expand Up @@ -2169,11 +2184,14 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event)
/* 0x5000-0x5FFF: human interface helpers */
switch (hkey) {
case 0x5010: /* Lenovo new BIOS: brightness changed */
case 0x5009: /* X61t: swivel up (tablet mode) */
case 0x500a: /* X61t: swivel down (normal mode) */
case 0x500b: /* X61t: tablet pen inserted into bay */
case 0x500c: /* X61t: tablet pen removed from bay */
break;
case 0x5009: /* X61t: swivel up (tablet mode) */
case 0x500a: /* X61t: swivel down (normal mode) */
tpacpi_input_send_tabletsw((hkey == 0x5009));
send_acpi_ev = 0;
break;
case 0x5001:
case 0x5002:
/* LID switch events. Do not propagate */
Expand Down

0 comments on commit 830284b

Please sign in to comment.