~ubuntu-branches/ubuntu/natty/linux-backports-modules-2.6.38/natty-proposed

« back to all changes in this revision

Viewing changes to updates/cw-2.6.39/drivers/net/wireless/b43/leds.h

  • Committer: Bazaar Package Importer
  • Author(s): Tim Gardner, Tim Gardner
  • Date: 2011-06-08 10:44:09 UTC
  • Revision ID: james.westby@ubuntu.com-20110608104409-fnl8carkdo15bwsz
Tags: 2.6.38-10.6
[ Tim Gardner ]

Shorten compat-wireless package name to cw to accomodate
CDROM file name length restrictions.

Show diffs side-by-side

added added

removed removed

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