Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
net
wireless
b43
leds.h
Go to the documentation of this file.
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_ */
Generated on Thu Jan 10 2013 13:06:18 for Linux Kernel by
1.8.2