rt2x00: Remove MAC80211_LEDS dependency

Implement triggers inside rt2x00 itself based
on input from mac80211. This replaces the method
of using the mac80211 trigger events which do
not work for USB drivers due to the scheduling
requirement.

After this patch RT2500USB_LEDS and RT73USB_LEDS
no longer need to be tagged as broken since they
now support LED handling again without having to
check for in_atomic().

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff --git a/drivers/net/wireless/rt2x00/rt2x00leds.h b/drivers/net/wireless/rt2x00/rt2x00leds.h
index 11e71e9..9df4a49bd 100644
--- a/drivers/net/wireless/rt2x00/rt2x00leds.h
+++ b/drivers/net/wireless/rt2x00/rt2x00leds.h
@@ -26,18 +26,10 @@
 #ifndef RT2X00LEDS_H
 #define RT2X00LEDS_H
 
-/*
-* Flags used by driver to indicate which
- * which led types are supported.
- */
-#define LED_SUPPORT_RADIO	0x000001
-#define LED_SUPPORT_ASSOC	0x000002
-#define LED_SUPPORT_ACTIVITY	0x000004
-#define LED_SUPPORT_QUALITY	0x000008
-
 enum led_type {
 	LED_TYPE_RADIO,
 	LED_TYPE_ASSOC,
+	LED_TYPE_ACTIVITY,
 	LED_TYPE_QUALITY,
 };
 
@@ -48,14 +40,9 @@
 	struct led_classdev led_dev;
 
 	enum led_type type;
-	unsigned int registered;
-};
-
-struct rt2x00_trigger {
-	struct led_trigger trigger;
-
-	enum led_type type;
-	unsigned int registered;
+	unsigned int flags;
+#define LED_INITIALIZED		( 1 << 0 )
+#define LED_REGISTERED		( 1 << 1 )
 };
 
 #endif /* CONFIG_RT2X00_LIB_LEDS */