diff options
author | Henrique de Moraes Holschuh <hmh@hmh.eng.br> | 2008-06-23 16:23:01 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-06-26 14:21:20 -0400 |
commit | 477576a073699783abb53ae14993d5d41c66301d (patch) | |
tree | bde28a746ff9ebbc7642f36828a6115bc4bc00e9 /net/rfkill | |
parent | 801e49af4c1a9b988ba0d25de2b368c99c3bf2b3 (diff) |
rfkill: add the WWAN radio type
Unfortunately, instead of adding a generic Wireless WAN type, a technology-
specific type (WiMAX) was added. That's useless for other WWAN devices,
such as EDGE, UMTS, X-RTT and other such radios.
Add a WWAN rfkill type for generic wireless WAN devices. No keys are added
as most devices really want to use KEY_WLAN for WWAN control (in a cycle of
none, WLAN, WWAN, WLAN+WWAN) and need no specific keycode added.
Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Cc: Iñaky Pérez-González <inaky.perez-gonzalez@intel.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/rfkill')
-rw-r--r-- | net/rfkill/rfkill-input.c | 4 | ||||
-rw-r--r-- | net/rfkill/rfkill.c | 3 |
2 files changed, 7 insertions, 0 deletions
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 | } |