eeepc-laptop: add rfkill support for the 3G modem in Eee PC 901 Go
authorCorentin Chary <corentincj@iksaif.net>
Thu, 25 Jun 2009 11:25:42 +0000 (13:25 +0200)
committerLen Brown <len.brown@intel.com>
Fri, 26 Jun 2009 04:23:41 +0000 (00:23 -0400)
Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/platform/x86/eeepc-laptop.c

index f5d8473..ec560f1 100644 (file)
@@ -141,6 +141,7 @@ struct eeepc_hotk {
        u16 *keycode_map;
        struct rfkill *wlan_rfkill;
        struct rfkill *bluetooth_rfkill;
+       struct rfkill *wwan3g_rfkill;
        struct hotplug_slot *hotplug_slot;
 };
 
@@ -1023,6 +1024,8 @@ static void eeepc_rfkill_exit(void)
                rfkill_unregister(ehotk->wlan_rfkill);
        if (ehotk->bluetooth_rfkill)
                rfkill_unregister(ehotk->bluetooth_rfkill);
+       if (ehotk->wwan3g_rfkill)
+               rfkill_unregister(ehotk->wwan3g_rfkill);
        if (ehotk->hotplug_slot)
                pci_hp_deregister(ehotk->hotplug_slot);
 }
@@ -1107,6 +1110,13 @@ static int eeepc_rfkill_init(struct device *dev)
        if (result && result != -ENODEV)
                goto exit;
 
+       result = eeepc_new_rfkill(&ehotk->wwan3g_rfkill,
+                                 "eeepc-wwan3g", dev,
+                                 RFKILL_TYPE_WWAN, CM_ASL_3G);
+
+       if (result && result != -ENODEV)
+               goto exit;
+
        result = eeepc_setup_pci_hotplug();
        /*
         * If we get -EBUSY then something else is handling the PCI hotplug -