cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

leds.h (1921B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef B43_LEDS_H_
      3#define B43_LEDS_H_
      4
      5struct b43_wl;
      6struct 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
     17struct 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
     34struct 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 */
     49enum 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
     64void b43_leds_register(struct b43_wldev *dev);
     65void b43_leds_unregister(struct b43_wl *wl);
     66void b43_leds_init(struct b43_wldev *dev);
     67void b43_leds_exit(struct b43_wldev *dev);
     68void b43_leds_stop(struct b43_wldev *dev);
     69
     70
     71#else /* CONFIG_B43_LEDS */
     72/* LED support disabled */
     73
     74struct b43_leds {
     75	/* empty */
     76};
     77
     78static inline void b43_leds_register(struct b43_wldev *dev)
     79{
     80}
     81static inline void b43_leds_unregister(struct b43_wl *wl)
     82{
     83}
     84static inline void b43_leds_init(struct b43_wldev *dev)
     85{
     86}
     87static inline void b43_leds_exit(struct b43_wldev *dev)
     88{
     89}
     90static inline void b43_leds_stop(struct b43_wldev *dev)
     91{
     92}
     93#endif /* CONFIG_B43_LEDS */
     94
     95#endif /* B43_LEDS_H_ */