root/drivers/net/wireless/broadcom/b43/leds.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. b43_leds_register
  2. b43_leds_unregister
  3. b43_leds_init
  4. b43_leds_exit
  5. b43_leds_stop

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef B43_LEDS_H_
   3 #define B43_LEDS_H_
   4 
   5 struct b43_wl;
   6 struct b43_wldev;
   7 
   8 #ifdef CONFIG_B43_LEDS
   9 
  10 #include <linux/types.h>
  11 #include <linux/leds.h>
  12 #include <linux/workqueue.h>
  13 
  14 
  15 #define B43_LED_MAX_NAME_LEN    31
  16 
  17 struct b43_led {
  18         struct b43_wl *wl;
  19         /* The LED class device */
  20         struct led_classdev led_dev;
  21         /* The index number of the LED. */
  22         u8 index;
  23         /* If activelow is true, the LED is ON if the
  24          * bit is switched off. */
  25         bool activelow;
  26         /* The unique name string for this LED device. */
  27         char name[B43_LED_MAX_NAME_LEN + 1];
  28         /* The current status of the LED. This is updated locklessly. */
  29         atomic_t state;
  30         /* The active state in hardware. */
  31         bool hw_state;
  32 };
  33 
  34 struct b43_leds {
  35         struct b43_led led_tx;
  36         struct b43_led led_rx;
  37         struct b43_led led_radio;
  38         struct b43_led led_assoc;
  39 
  40         bool stop;
  41         struct work_struct work;
  42 };
  43 
  44 #define B43_MAX_NR_LEDS                 4
  45 
  46 #define B43_LED_BEHAVIOUR               0x7F
  47 #define B43_LED_ACTIVELOW               0x80
  48 /* LED behaviour values */
  49 enum b43_led_behaviour {
  50         B43_LED_OFF,
  51         B43_LED_ON,
  52         B43_LED_ACTIVITY,
  53         B43_LED_RADIO_ALL,
  54         B43_LED_RADIO_A,
  55         B43_LED_RADIO_B,
  56         B43_LED_MODE_BG,
  57         B43_LED_TRANSFER,
  58         B43_LED_APTRANSFER,
  59         B43_LED_WEIRD,          //FIXME
  60         B43_LED_ASSOC,
  61         B43_LED_INACTIVE,
  62 };
  63 
  64 void b43_leds_register(struct b43_wldev *dev);
  65 void b43_leds_unregister(struct b43_wl *wl);
  66 void b43_leds_init(struct b43_wldev *dev);
  67 void b43_leds_exit(struct b43_wldev *dev);
  68 void b43_leds_stop(struct b43_wldev *dev);
  69 
  70 
  71 #else /* CONFIG_B43_LEDS */
  72 /* LED support disabled */
  73 
  74 struct b43_leds {
  75         /* empty */
  76 };
  77 
  78 static inline void b43_leds_register(struct b43_wldev *dev)
  79 {
  80 }
  81 static inline void b43_leds_unregister(struct b43_wl *wl)
  82 {
  83 }
  84 static inline void b43_leds_init(struct b43_wldev *dev)
  85 {
  86 }
  87 static inline void b43_leds_exit(struct b43_wldev *dev)
  88 {
  89 }
  90 static inline void b43_leds_stop(struct b43_wldev *dev)
  91 {
  92 }
  93 #endif /* CONFIG_B43_LEDS */
  94 
  95 #endif /* B43_LEDS_H_ */

/* [<][>][^][v][top][bottom][index][help] */