aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/p54/p54.h
diff options
context:
space:
mode:
authorChristian Lamparter <chunkeey@web.de>2009-03-05 19:02:04 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-03-16 18:09:28 -0400
commitd0b45aef4f628e69f8da8c670d6879a8a02fe0f2 (patch)
treeb9e4a8c729d28413e68307b33f635488a4d083cf /drivers/net/wireless/p54/p54.h
parentefeada2c0aa1219b15787da48cfa282803e9d99e (diff)
p54: initial SoftLED support
This patch adds SoftLED support for all p54 devices. Signed-off-by: Christian Lamparter <chunkeey@web.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/p54/p54.h')
-rw-r--r--drivers/net/wireless/p54/p54.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/drivers/net/wireless/p54/p54.h b/drivers/net/wireless/p54/p54.h
index 071cbe965377..2dda5fe418b6 100644
--- a/drivers/net/wireless/p54/p54.h
+++ b/drivers/net/wireless/p54/p54.h
@@ -14,6 +14,10 @@
14 * published by the Free Software Foundation. 14 * published by the Free Software Foundation.
15 */ 15 */
16 16
17#ifdef CONFIG_MAC80211_LEDS
18#include <linux/leds.h>
19#endif /* CONFIG_MAC80211_LEDS */
20
17enum p54_control_frame_types { 21enum p54_control_frame_types {
18 P54_CONTROL_TYPE_SETUP = 0, 22 P54_CONTROL_TYPE_SETUP = 0,
19 P54_CONTROL_TYPE_SCAN, 23 P54_CONTROL_TYPE_SCAN,
@@ -112,6 +116,21 @@ enum fw_state {
112 FW_STATE_RESETTING, 116 FW_STATE_RESETTING,
113}; 117};
114 118
119#ifdef CONFIG_MAC80211_LEDS
120
121#define P54_LED_MAX_NAME_LEN 31
122
123struct p54_led_dev {
124 struct ieee80211_hw *hw_dev;
125 struct led_classdev led_dev;
126 char name[P54_LED_MAX_NAME_LEN + 1];
127
128 unsigned int index;
129 unsigned int registered;
130};
131
132#endif /* CONFIG_MAC80211_LEDS */
133
115struct p54_common { 134struct p54_common {
116 struct ieee80211_hw *hw; 135 struct ieee80211_hw *hw;
117 u32 rx_start; 136 u32 rx_start;
@@ -157,6 +176,12 @@ struct p54_common {
157 struct completion eeprom_comp; 176 struct completion eeprom_comp;
158 u8 privacy_caps; 177 u8 privacy_caps;
159 u8 rx_keycache_size; 178 u8 rx_keycache_size;
179 /* LED management */
180 #ifdef CONFIG_MAC80211_LEDS
181 struct p54_led_dev assoc_led;
182 struct p54_led_dev tx_led;
183 #endif /* CONFIG_MAC80211_LEDS */
184 u16 softled_state; /* bit field of glowing LEDs */
160}; 185};
161 186
162int p54_rx(struct ieee80211_hw *dev, struct sk_buff *skb); 187int p54_rx(struct ieee80211_hw *dev, struct sk_buff *skb);