linux/net/mac80211/led.h
<<
>>
Prefs
   1/*
   2 * Copyright 2006, Johannes Berg <johannes@sipsolutions.net>
   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
  15void ieee80211_led_rx(struct ieee80211_local *local);
  16void ieee80211_led_tx(struct ieee80211_local *local, int q);
  17void ieee80211_led_assoc(struct ieee80211_local *local,
  18                         bool associated);
  19void ieee80211_led_radio(struct ieee80211_local *local,
  20                         bool enabled);
  21void ieee80211_led_names(struct ieee80211_local *local);
  22void ieee80211_led_init(struct ieee80211_local *local);
  23void ieee80211_led_exit(struct ieee80211_local *local);
  24void ieee80211_mod_tpt_led_trig(struct ieee80211_local *local,
  25                                unsigned int types_on, unsigned int types_off);
  26#else
  27static inline void ieee80211_led_rx(struct ieee80211_local *local)
  28{
  29}
  30static inline void ieee80211_led_tx(struct ieee80211_local *local, int q)
  31{
  32}
  33static inline void ieee80211_led_assoc(struct ieee80211_local *local,
  34                                       bool associated)
  35{
  36}
  37static inline void ieee80211_led_radio(struct ieee80211_local *local,
  38                                       bool enabled)
  39{
  40}
  41static inline void ieee80211_led_names(struct ieee80211_local *local)
  42{
  43}
  44static inline void ieee80211_led_init(struct ieee80211_local *local)
  45{
  46}
  47static inline void ieee80211_led_exit(struct ieee80211_local *local)
  48{
  49}
  50static 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
  57static inline void
  58ieee80211_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
  66static inline void
  67ieee80211_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