1423e3ce3SKalle Valo #ifndef B43legacy_LEDS_H_ 2423e3ce3SKalle Valo #define B43legacy_LEDS_H_ 3423e3ce3SKalle Valo 4423e3ce3SKalle Valo struct b43legacy_wldev; 5423e3ce3SKalle Valo 6423e3ce3SKalle Valo #ifdef CONFIG_B43LEGACY_LEDS 7423e3ce3SKalle Valo 8423e3ce3SKalle Valo #include <linux/types.h> 9423e3ce3SKalle Valo #include <linux/leds.h> 10423e3ce3SKalle Valo 11423e3ce3SKalle Valo 12423e3ce3SKalle Valo #define B43legacy_LED_MAX_NAME_LEN 31 13423e3ce3SKalle Valo 14423e3ce3SKalle Valo struct b43legacy_led { 15423e3ce3SKalle Valo struct b43legacy_wldev *dev; 16423e3ce3SKalle Valo /* The LED class device */ 17423e3ce3SKalle Valo struct led_classdev led_dev; 18423e3ce3SKalle Valo /* The index number of the LED. */ 19423e3ce3SKalle Valo u8 index; 20423e3ce3SKalle Valo /* If activelow is true, the LED is ON if the 21423e3ce3SKalle Valo * bit is switched off. */ 22423e3ce3SKalle Valo bool activelow; 23423e3ce3SKalle Valo /* The unique name string for this LED device. */ 24423e3ce3SKalle Valo char name[B43legacy_LED_MAX_NAME_LEN + 1]; 25423e3ce3SKalle Valo }; 26423e3ce3SKalle Valo 27423e3ce3SKalle Valo #define B43legacy_LED_BEHAVIOUR 0x7F 28423e3ce3SKalle Valo #define B43legacy_LED_ACTIVELOW 0x80 29423e3ce3SKalle Valo /* LED behaviour values */ 30423e3ce3SKalle Valo enum b43legacy_led_behaviour { 31423e3ce3SKalle Valo B43legacy_LED_OFF, 32423e3ce3SKalle Valo B43legacy_LED_ON, 33423e3ce3SKalle Valo B43legacy_LED_ACTIVITY, 34423e3ce3SKalle Valo B43legacy_LED_RADIO_ALL, 35423e3ce3SKalle Valo B43legacy_LED_RADIO_A, 36423e3ce3SKalle Valo B43legacy_LED_RADIO_B, 37423e3ce3SKalle Valo B43legacy_LED_MODE_BG, 38423e3ce3SKalle Valo B43legacy_LED_TRANSFER, 39423e3ce3SKalle Valo B43legacy_LED_APTRANSFER, 40423e3ce3SKalle Valo B43legacy_LED_WEIRD, 41423e3ce3SKalle Valo B43legacy_LED_ASSOC, 42423e3ce3SKalle Valo B43legacy_LED_INACTIVE, 43423e3ce3SKalle Valo }; 44423e3ce3SKalle Valo 45423e3ce3SKalle Valo void b43legacy_leds_init(struct b43legacy_wldev *dev); 46423e3ce3SKalle Valo void b43legacy_leds_exit(struct b43legacy_wldev *dev); 47423e3ce3SKalle Valo 48423e3ce3SKalle Valo #else /* CONFIG_B43LEGACY_LEDS */ 49423e3ce3SKalle Valo /* LED support disabled */ 50423e3ce3SKalle Valo 51423e3ce3SKalle Valo struct b43legacy_led { 52423e3ce3SKalle Valo /* empty */ 53423e3ce3SKalle Valo }; 54423e3ce3SKalle Valo 55423e3ce3SKalle Valo static inline void b43legacy_leds_init(struct b43legacy_wldev *dev) 56423e3ce3SKalle Valo { 57423e3ce3SKalle Valo } 58423e3ce3SKalle Valo static inline void b43legacy_leds_exit(struct b43legacy_wldev *dev) 59423e3ce3SKalle Valo { 60423e3ce3SKalle Valo } 61423e3ce3SKalle Valo #endif /* CONFIG_B43LEGACY_LEDS */ 62423e3ce3SKalle Valo 63423e3ce3SKalle Valo #endif /* B43legacy_LEDS_H_ */ 64