• Home
  • Raw
  • Download

Lines Matching refs:ar

43 int carl9170_led_set_state(struct ar9170 *ar, const u32 led_state)  in carl9170_led_set_state()  argument
45 return carl9170_write_reg(ar, AR9170_GPIO_REG_PORT_DATA, led_state); in carl9170_led_set_state()
48 int carl9170_led_init(struct ar9170 *ar) in carl9170_led_init() argument
54 err = carl9170_write_reg(ar, AR9170_GPIO_REG_PORT_TYPE, 3); in carl9170_led_init()
59 err = carl9170_led_set_state(ar, 0); in carl9170_led_init()
68 struct ar9170 *ar = container_of(work, struct ar9170, led_work.work); in carl9170_led_update() local
73 if (!IS_ACCEPTING_CMD(ar)) in carl9170_led_update()
76 mutex_lock(&ar->mutex); in carl9170_led_update()
78 if (ar->leds[i].registered) { in carl9170_led_update()
79 if (ar->leds[i].last_state || in carl9170_led_update()
80 ar->leds[i].toggled) { in carl9170_led_update()
82 if (ar->leds[i].toggled) in carl9170_led_update()
83 tmp = 70 + 200 / (ar->leds[i].toggled); in carl9170_led_update()
89 ar->leds[i].toggled = 0; in carl9170_led_update()
95 carl9170_led_set_state(ar, led_val); in carl9170_led_update()
96 mutex_unlock(&ar->mutex); in carl9170_led_update()
101 ieee80211_queue_delayed_work(ar->hw, in carl9170_led_update()
102 &ar->led_work, in carl9170_led_update()
110 struct ar9170 *ar = arl->ar; in carl9170_led_set_brightness() local
120 if (likely(IS_ACCEPTING_CMD(ar) && arl->toggled)) in carl9170_led_set_brightness()
121 ieee80211_queue_delayed_work(ar->hw, &ar->led_work, HZ / 10); in carl9170_led_set_brightness()
124 static int carl9170_led_register_led(struct ar9170 *ar, int i, char *name, in carl9170_led_register_led() argument
129 snprintf(ar->leds[i].name, sizeof(ar->leds[i].name), in carl9170_led_register_led()
130 "carl9170-%s::%s", wiphy_name(ar->hw->wiphy), name); in carl9170_led_register_led()
132 ar->leds[i].ar = ar; in carl9170_led_register_led()
133 ar->leds[i].l.name = ar->leds[i].name; in carl9170_led_register_led()
134 ar->leds[i].l.brightness_set = carl9170_led_set_brightness; in carl9170_led_register_led()
135 ar->leds[i].l.brightness = 0; in carl9170_led_register_led()
136 ar->leds[i].l.default_trigger = trigger; in carl9170_led_register_led()
138 err = led_classdev_register(wiphy_dev(ar->hw->wiphy), in carl9170_led_register_led()
139 &ar->leds[i].l); in carl9170_led_register_led()
141 wiphy_err(ar->hw->wiphy, "failed to register %s LED (%d).\n", in carl9170_led_register_led()
142 ar->leds[i].name, err); in carl9170_led_register_led()
144 ar->leds[i].registered = true; in carl9170_led_register_led()
150 void carl9170_led_unregister(struct ar9170 *ar) in carl9170_led_unregister() argument
155 if (ar->leds[i].registered) { in carl9170_led_unregister()
156 led_classdev_unregister(&ar->leds[i].l); in carl9170_led_unregister()
157 ar->leds[i].registered = false; in carl9170_led_unregister()
158 ar->leds[i].toggled = 0; in carl9170_led_unregister()
161 cancel_delayed_work_sync(&ar->led_work); in carl9170_led_unregister()
164 int carl9170_led_register(struct ar9170 *ar) in carl9170_led_register() argument
168 INIT_DELAYED_WORK(&ar->led_work, carl9170_led_update); in carl9170_led_register()
170 err = carl9170_led_register_led(ar, 0, "tx", in carl9170_led_register()
171 ieee80211_get_tx_led_name(ar->hw)); in carl9170_led_register()
175 if (ar->features & CARL9170_ONE_LED) in carl9170_led_register()
178 err = carl9170_led_register_led(ar, 1, "assoc", in carl9170_led_register()
179 ieee80211_get_assoc_led_name(ar->hw)); in carl9170_led_register()
186 carl9170_led_unregister(ar); in carl9170_led_register()