Lines Matching defs:ar

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