Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
anyone have a ThinkPad T400/T500 with cellular modem?
Hi,
I'd be curious what a kernel with the attached patch makes visible
upon hitting Fn-F6. It ought to toggle the cellular modem aka
wireless WAN on/off, fun question is what device will pop up.
I've only got the 'option', not the actual electronics; if you don't
have the card nothing happens, so the trouble you get when you have
one ought to be limited. :)
regards,
spz
--
spz%serpens.de@localhost (S.P.Zeidler)
Index: sys/dev/acpi/thinkpad_acpi.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/thinkpad_acpi.c,v
retrieving revision 1.21
diff -u -u -r1.21 thinkpad_acpi.c
--- sys/dev/acpi/thinkpad_acpi.c 29 Nov 2009 21:32:50 -0000 1.21
+++ sys/dev/acpi/thinkpad_acpi.c 6 Jan 2010 16:03:11 -0000
@@ -83,7 +83,7 @@
#define THINKPAD_NOTIFY_BatteryInfo 0x003
#define THINKPAD_NOTIFY_SleepButton 0x004
#define THINKPAD_NOTIFY_WirelessSwitch 0x005
-#define THINKPAD_NOTIFY_FnF6 0x006
+#define THINKPAD_NOTIFY_wWANSwitch 0x006
#define THINKPAD_NOTIFY_DisplayCycle 0x007
#define THINKPAD_NOTIFY_PointerSwitch 0x008
#define THINKPAD_NOTIFY_EjectButton 0x009
@@ -120,6 +120,7 @@
static void thinkpad_fan_refresh(struct sysmon_envsys *, envsys_data_t *);
static void thinkpad_wireless_toggle(thinkpad_softc_t *);
+static void thinkpad_wwan_toggle(thinkpad_softc_t *);
static bool thinkpad_resume(device_t PMF_FN_PROTO);
static void thinkpad_brightness_up(device_t);
@@ -324,6 +325,9 @@
case THINKPAD_NOTIFY_WirelessSwitch:
thinkpad_wireless_toggle(sc);
break;
+ case THINKPAD_NOTIFY_wWANSwitch:
+ thinkpad_wwan_toggle(sc);
+ break;
case THINKPAD_NOTIFY_SleepButton:
if (sc->sc_smpsw_valid == false)
break;
@@ -381,7 +385,6 @@
PSWITCH_EVENT_PRESSED);
break;
case THINKPAD_NOTIFY_FnF1:
- case THINKPAD_NOTIFY_FnF6:
case THINKPAD_NOTIFY_PointerSwitch:
case THINKPAD_NOTIFY_FnF10:
case THINKPAD_NOTIFY_FnF11:
@@ -558,6 +561,13 @@
(void)AcpiEvaluateObject(sc->sc_node->ad_handle, "BTGL", NULL, NULL);
}
+static void
+thinkpad_wwan_toggle(thinkpad_softc_t *sc)
+{
+ /* Ignore return value, as the hardware may not support wireless WAN */
+ (void)AcpiEvaluateObject(sc->sc_node->ad_handle, "WTGL", NULL, NULL);
+}
+
static uint8_t
thinkpad_brightness_read(thinkpad_softc_t *sc)
{
Home |
Main Index |
Thread Index |
Old Index