Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/net/mac80211/led.h
15109 views
1
/*
2
* Copyright 2006, Johannes Berg <[email protected]>
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation.
7
*/
8
9
#include <linux/list.h>
10
#include <linux/spinlock.h>
11
#include <linux/leds.h>
12
#include "ieee80211_i.h"
13
14
#ifdef CONFIG_MAC80211_LEDS
15
void ieee80211_led_rx(struct ieee80211_local *local);
16
void ieee80211_led_tx(struct ieee80211_local *local, int q);
17
void ieee80211_led_assoc(struct ieee80211_local *local,
18
bool associated);
19
void ieee80211_led_radio(struct ieee80211_local *local,
20
bool enabled);
21
void ieee80211_led_names(struct ieee80211_local *local);
22
void ieee80211_led_init(struct ieee80211_local *local);
23
void ieee80211_led_exit(struct ieee80211_local *local);
24
void ieee80211_mod_tpt_led_trig(struct ieee80211_local *local,
25
unsigned int types_on, unsigned int types_off);
26
#else
27
static inline void ieee80211_led_rx(struct ieee80211_local *local)
28
{
29
}
30
static inline void ieee80211_led_tx(struct ieee80211_local *local, int q)
31
{
32
}
33
static inline void ieee80211_led_assoc(struct ieee80211_local *local,
34
bool associated)
35
{
36
}
37
static inline void ieee80211_led_radio(struct ieee80211_local *local,
38
bool enabled)
39
{
40
}
41
static inline void ieee80211_led_names(struct ieee80211_local *local)
42
{
43
}
44
static inline void ieee80211_led_init(struct ieee80211_local *local)
45
{
46
}
47
static inline void ieee80211_led_exit(struct ieee80211_local *local)
48
{
49
}
50
static inline void ieee80211_mod_tpt_led_trig(struct ieee80211_local *local,
51
unsigned int types_on,
52
unsigned int types_off)
53
{
54
}
55
#endif
56
57
static inline void
58
ieee80211_tpt_led_trig_tx(struct ieee80211_local *local, __le16 fc, int bytes)
59
{
60
#ifdef CONFIG_MAC80211_LEDS
61
if (local->tpt_led_trigger && ieee80211_is_data(fc))
62
local->tpt_led_trigger->tx_bytes += bytes;
63
#endif
64
}
65
66
static inline void
67
ieee80211_tpt_led_trig_rx(struct ieee80211_local *local, __le16 fc, int bytes)
68
{
69
#ifdef CONFIG_MAC80211_LEDS
70
if (local->tpt_led_trigger && ieee80211_is_data(fc))
71
local->tpt_led_trigger->rx_bytes += bytes;
72
#endif
73
}
74
75