diff options
-rw-r--r-- | include/linux/rfkill.h | 2 | ||||
-rw-r--r-- | net/rfkill/rfkill-input.c | 4 | ||||
-rw-r--r-- | net/rfkill/rfkill.c | 3 |
3 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/rfkill.h b/include/linux/rfkill.h index 844e96114861..c0cab7d37828 100644 --- a/include/linux/rfkill.h +++ b/include/linux/rfkill.h | |||
@@ -34,12 +34,14 @@ | |||
34 | * RFKILL_TYPE_BLUETOOTH: switch is on a bluetooth device. | 34 | * RFKILL_TYPE_BLUETOOTH: switch is on a bluetooth device. |
35 | * RFKILL_TYPE_UWB: switch is on a ultra wideband device. | 35 | * RFKILL_TYPE_UWB: switch is on a ultra wideband device. |
36 | * RFKILL_TYPE_WIMAX: switch is on a WiMAX device. | 36 | * RFKILL_TYPE_WIMAX: switch is on a WiMAX device. |
37 | * RFKILL_TYPE_WWAN: switch is on a wireless WAN device. | ||
37 | */ | 38 | */ |
38 | enum rfkill_type { | 39 | enum rfkill_type { |
39 | RFKILL_TYPE_WLAN , | 40 | RFKILL_TYPE_WLAN , |
40 | RFKILL_TYPE_BLUETOOTH, | 41 | RFKILL_TYPE_BLUETOOTH, |
41 | RFKILL_TYPE_UWB, | 42 | RFKILL_TYPE_UWB, |
42 | RFKILL_TYPE_WIMAX, | 43 | RFKILL_TYPE_WIMAX, |
44 | RFKILL_TYPE_WWAN, | ||
43 | RFKILL_TYPE_MAX, | 45 | RFKILL_TYPE_MAX, |
44 | }; | 46 | }; |
45 | 47 | ||
diff --git a/net/rfkill/rfkill-input.c b/net/rfkill/rfkill-input.c index 9d6c9255bf2c..29c13d308b31 100644 --- a/net/rfkill/rfkill-input.c +++ b/net/rfkill/rfkill-input.c | |||
@@ -101,6 +101,7 @@ static DEFINE_RFKILL_TASK(rfkill_wlan, RFKILL_TYPE_WLAN); | |||
101 | static DEFINE_RFKILL_TASK(rfkill_bt, RFKILL_TYPE_BLUETOOTH); | 101 | static DEFINE_RFKILL_TASK(rfkill_bt, RFKILL_TYPE_BLUETOOTH); |
102 | static DEFINE_RFKILL_TASK(rfkill_uwb, RFKILL_TYPE_UWB); | 102 | static DEFINE_RFKILL_TASK(rfkill_uwb, RFKILL_TYPE_UWB); |
103 | static DEFINE_RFKILL_TASK(rfkill_wimax, RFKILL_TYPE_WIMAX); | 103 | static DEFINE_RFKILL_TASK(rfkill_wimax, RFKILL_TYPE_WIMAX); |
104 | static DEFINE_RFKILL_TASK(rfkill_wwan, RFKILL_TYPE_WWAN); | ||
104 | 105 | ||
105 | static void rfkill_event(struct input_handle *handle, unsigned int type, | 106 | static void rfkill_event(struct input_handle *handle, unsigned int type, |
106 | unsigned int code, int data) | 107 | unsigned int code, int data) |
@@ -126,6 +127,9 @@ static void rfkill_event(struct input_handle *handle, unsigned int type, | |||
126 | switch (code) { | 127 | switch (code) { |
127 | case SW_RFKILL_ALL: | 128 | case SW_RFKILL_ALL: |
128 | /* EVERY radio type. data != 0 means radios ON */ | 129 | /* EVERY radio type. data != 0 means radios ON */ |
130 | rfkill_schedule_set(&rfkill_wwan, | ||
131 | (data)? RFKILL_STATE_ON: | ||
132 | RFKILL_STATE_OFF); | ||
129 | rfkill_schedule_set(&rfkill_wimax, | 133 | rfkill_schedule_set(&rfkill_wimax, |
130 | (data)? RFKILL_STATE_ON: | 134 | (data)? RFKILL_STATE_ON: |
131 | RFKILL_STATE_OFF); | 135 | RFKILL_STATE_OFF); |
diff --git a/net/rfkill/rfkill.c b/net/rfkill/rfkill.c index 4ae4486c77ea..79f3bbb027ff 100644 --- a/net/rfkill/rfkill.c +++ b/net/rfkill/rfkill.c | |||
@@ -180,6 +180,9 @@ static ssize_t rfkill_type_show(struct device *dev, | |||
180 | case RFKILL_TYPE_WIMAX: | 180 | case RFKILL_TYPE_WIMAX: |
181 | type = "wimax"; | 181 | type = "wimax"; |
182 | break; | 182 | break; |
183 | case RFKILL_TYPE_WWAN: | ||
184 | type = "wwan"; | ||
185 | break; | ||
183 | default: | 186 | default: |
184 | BUG(); | 187 | BUG(); |
185 | } | 188 | } |