|
@@ -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 -
|