rfkill: rewrite
[safe/jmp/linux-2.6] / drivers / net / wireless / b43legacy / rfkill.h
index 388ee0b..adffc50 100644 (file)
@@ -6,22 +6,24 @@ struct b43legacy_wldev;
 #ifdef CONFIG_B43LEGACY_RFKILL
 
 #include <linux/rfkill.h>
-#include <linux/workqueue.h>
+
 
 
 struct b43legacy_rfkill {
        /* The RFKILL subsystem data structure */
        struct rfkill *rfkill;
+       /* Did initialization succeed? Used for freeing. */
+       bool registered;
        /* The unique name of this rfkill switch */
-       char name[32];
-       /* Workqueue for asynchronous notification. */
-       struct work_struct notify_work;
+       char name[sizeof("b43legacy-phy4294967295")];
 };
 
+/* The init function returns void, because we are not interested
+ * in failing the b43 init process when rfkill init failed. */
 void b43legacy_rfkill_init(struct b43legacy_wldev *dev);
 void b43legacy_rfkill_exit(struct b43legacy_wldev *dev);
-void b43legacy_rfkill_toggled(struct b43legacy_wldev *dev, bool on);
-char *b43legacy_rfkill_led_name(struct b43legacy_wldev *dev);
+
+const char *b43legacy_rfkill_led_name(struct b43legacy_wldev *dev);
 
 
 #else /* CONFIG_B43LEGACY_RFKILL */
@@ -31,14 +33,16 @@ struct b43legacy_rfkill {
        /* empty */
 };
 
-static inline void b43legacy_rfkill_init(struct b43legacy_wldev *dev)
+static inline void b43legacy_rfkill_alloc(struct b43legacy_wldev *dev)
 {
 }
-static inline void b43legacy_rfkill_exit(struct b43legacy_wldev *dev)
+static inline void b43legacy_rfkill_free(struct b43legacy_wldev *dev)
 {
 }
-static inline void b43legacy_rfkill_toggled(struct b43legacy_wldev *dev,
-                                           bool on)
+static inline void b43legacy_rfkill_init(struct b43legacy_wldev *dev)
+{
+}
+static inline void b43legacy_rfkill_exit(struct b43legacy_wldev *dev)
 {
 }
 static inline char *b43legacy_rfkill_led_name(struct b43legacy_wldev *dev)