Lines Matching refs:tpt_trig
247 struct tpt_led_trigger *tpt_trig)
251 traffic = tpt_trig->tx_bytes + tpt_trig->rx_bytes;
253 delta = traffic - tpt_trig->prev_traffic;
254 tpt_trig->prev_traffic = traffic;
260 struct tpt_led_trigger *tpt_trig = from_timer(tpt_trig, t, timer);
261 struct ieee80211_local *local = tpt_trig->local;
266 if (!tpt_trig->running)
269 mod_timer(&tpt_trig->timer, round_jiffies(jiffies + HZ));
271 tpt = tpt_trig_traffic(local, tpt_trig);
277 for (i = tpt_trig->blink_table_len - 1; i >= 0; i--) {
278 if (tpt_trig->blink_table[i].throughput < 0 ||
279 tpt > tpt_trig->blink_table[i].throughput) {
280 off = tpt_trig->blink_table[i].blink_time / 2;
281 on = tpt_trig->blink_table[i].blink_time - off;
299 struct tpt_led_trigger *tpt_trig;
304 tpt_trig = kzalloc(sizeof(struct tpt_led_trigger), GFP_KERNEL);
305 if (!tpt_trig)
308 snprintf(tpt_trig->name, sizeof(tpt_trig->name),
311 local->tpt_led.name = tpt_trig->name;
313 tpt_trig->blink_table = blink_table;
314 tpt_trig->blink_table_len = blink_table_len;
315 tpt_trig->want = flags;
316 tpt_trig->local = local;
318 timer_setup(&tpt_trig->timer, tpt_trig_timer, 0);
320 local->tpt_led_trigger = tpt_trig;
322 return tpt_trig->name;
328 struct tpt_led_trigger *tpt_trig = local->tpt_led_trigger;
330 if (tpt_trig->running)
334 tpt_trig_traffic(local, tpt_trig);
335 tpt_trig->running = true;
337 tpt_trig_timer(&tpt_trig->timer);
338 mod_timer(&tpt_trig->timer, round_jiffies(jiffies + HZ));
343 struct tpt_led_trigger *tpt_trig = local->tpt_led_trigger;
346 if (!tpt_trig->running)
349 tpt_trig->running = false;
350 del_timer_sync(&tpt_trig->timer);
361 struct tpt_led_trigger *tpt_trig = local->tpt_led_trigger;
366 if (!tpt_trig)
369 tpt_trig->active &= ~types_off;
370 tpt_trig->active |= types_on;
378 allowed = tpt_trig->active & IEEE80211_TPT_LEDTRIG_FL_RADIO;
380 if (!allowed || !(tpt_trig->active & tpt_trig->want))