diff options
author | Iñaky Pérez-González <inaky.perez-gonzalez@intel.com> | 2008-01-23 16:40:27 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-31 22:26:46 -0500 |
commit | 303d9bf6bb64ead8e3f1d7e29904a4025502e591 (patch) | |
tree | c33cc180a0f5084bcb1c2e8921cab35eb9aea476 /net/rfkill | |
parent | 09552ccd8277e6382097e93a40f7311a09449367 (diff) |
rfkill: add the WiMAX radio type
Teach rfkill about wimax radios.
Had to define a KEY_WIMAX as a 'key for disabling only wimax radios',
as other radio technologies have. This makes sense as hardware has
specific keys for disabling specific radios.
The RFKILL enabling part is, otherwise, a copy and paste of any other
radio technology.
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rfkill')
-rw-r--r-- | net/rfkill/rfkill-input.c | 9 | ||||
-rw-r--r-- | net/rfkill/rfkill.c | 3 |
2 files changed, 12 insertions, 0 deletions
diff --git a/net/rfkill/rfkill-input.c b/net/rfkill/rfkill-input.c index d1e9d68f8ba0..e4b051dbed61 100644 --- a/net/rfkill/rfkill-input.c +++ b/net/rfkill/rfkill-input.c | |||
@@ -84,6 +84,7 @@ static void rfkill_schedule_toggle(struct rfkill_task *task) | |||
84 | static DEFINE_RFKILL_TASK(rfkill_wlan, RFKILL_TYPE_WLAN); | 84 | static DEFINE_RFKILL_TASK(rfkill_wlan, RFKILL_TYPE_WLAN); |
85 | static DEFINE_RFKILL_TASK(rfkill_bt, RFKILL_TYPE_BLUETOOTH); | 85 | static DEFINE_RFKILL_TASK(rfkill_bt, RFKILL_TYPE_BLUETOOTH); |
86 | static DEFINE_RFKILL_TASK(rfkill_uwb, RFKILL_TYPE_UWB); | 86 | static DEFINE_RFKILL_TASK(rfkill_uwb, RFKILL_TYPE_UWB); |
87 | static DEFINE_RFKILL_TASK(rfkill_wimax, RFKILL_TYPE_WIMAX); | ||
87 | 88 | ||
88 | static void rfkill_event(struct input_handle *handle, unsigned int type, | 89 | static void rfkill_event(struct input_handle *handle, unsigned int type, |
89 | unsigned int code, int down) | 90 | unsigned int code, int down) |
@@ -99,6 +100,9 @@ static void rfkill_event(struct input_handle *handle, unsigned int type, | |||
99 | case KEY_UWB: | 100 | case KEY_UWB: |
100 | rfkill_schedule_toggle(&rfkill_uwb); | 101 | rfkill_schedule_toggle(&rfkill_uwb); |
101 | break; | 102 | break; |
103 | case KEY_WIMAX: | ||
104 | rfkill_schedule_toggle(&rfkill_wimax); | ||
105 | break; | ||
102 | default: | 106 | default: |
103 | break; | 107 | break; |
104 | } | 108 | } |
@@ -159,6 +163,11 @@ static const struct input_device_id rfkill_ids[] = { | |||
159 | .evbit = { BIT_MASK(EV_KEY) }, | 163 | .evbit = { BIT_MASK(EV_KEY) }, |
160 | .keybit = { [BIT_WORD(KEY_UWB)] = BIT_MASK(KEY_UWB) }, | 164 | .keybit = { [BIT_WORD(KEY_UWB)] = BIT_MASK(KEY_UWB) }, |
161 | }, | 165 | }, |
166 | { | ||
167 | .flags = INPUT_DEVICE_ID_MATCH_EVBIT | INPUT_DEVICE_ID_MATCH_KEYBIT, | ||
168 | .evbit = { BIT_MASK(EV_KEY) }, | ||
169 | .keybit = { [BIT_WORD(KEY_WIMAX)] = BIT_MASK(KEY_WIMAX) }, | ||
170 | }, | ||
162 | { } | 171 | { } |
163 | }; | 172 | }; |
164 | 173 | ||
diff --git a/net/rfkill/rfkill.c b/net/rfkill/rfkill.c index d06d338812e9..6562f868e82f 100644 --- a/net/rfkill/rfkill.c +++ b/net/rfkill/rfkill.c | |||
@@ -126,6 +126,9 @@ static ssize_t rfkill_type_show(struct device *dev, | |||
126 | case RFKILL_TYPE_UWB: | 126 | case RFKILL_TYPE_UWB: |
127 | type = "ultrawideband"; | 127 | type = "ultrawideband"; |
128 | break; | 128 | break; |
129 | case RFKILL_TYPE_WIMAX: | ||
130 | type = "wimax"; | ||
131 | break; | ||
129 | default: | 132 | default: |
130 | BUG(); | 133 | BUG(); |
131 | } | 134 | } |