#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 */
/* 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)