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