• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/drivers/usb/wusbcore/

Lines Matching defs:wusbhc

4 #include "wusbhc.h"
7 int wusbhc_mmcie_create(struct wusbhc *wusbhc)
9 u8 mmcies = wusbhc->mmcies_max;
10 wusbhc->mmcie = kcalloc(mmcies, sizeof(wusbhc->mmcie[0]), GFP_KERNEL);
11 if (wusbhc->mmcie == NULL)
13 mutex_init(&wusbhc->mmcie_mutex);
18 void wusbhc_mmcie_destroy(struct wusbhc *wusbhc)
20 kfree(wusbhc->mmcie);
36 * Goes over the *whole* @wusbhc->mmcie array looking for (a) the
53 * NOTE: we can access wusbhc->wa_descr without locking because it is
56 int wusbhc_mmcie_set(struct wusbhc *wusbhc, u8 interval, u8 repeat_cnt,
63 mutex_lock(&wusbhc->mmcie_mutex);
67 handle = wusbhc->mmcies_max - 1;
70 dev_err(wusbhc->dev, "Special ordering case for WUIE ID 0x%x "
77 for (itr = 0; itr < wusbhc->mmcies_max - 1; itr++) {
78 if (wusbhc->mmcie[itr] == wuie) {
82 if (wusbhc->mmcie[itr] == NULL)
88 result = (wusbhc->mmcie_add)(wusbhc, interval, repeat_cnt, handle,
91 wusbhc->mmcie[handle] = wuie;
93 mutex_unlock(&wusbhc->mmcie_mutex);
103 void wusbhc_mmcie_rm(struct wusbhc *wusbhc, struct wuie_hdr *wuie)
108 mutex_lock(&wusbhc->mmcie_mutex);
109 for (itr = 0; itr < wusbhc->mmcies_max; itr++) {
110 if (wusbhc->mmcie[itr] == wuie) {
115 mutex_unlock(&wusbhc->mmcie_mutex);
119 result = (wusbhc->mmcie_rm)(wusbhc, handle);
121 wusbhc->mmcie[itr] = NULL;
122 mutex_unlock(&wusbhc->mmcie_mutex);
126 static int wusbhc_mmc_start(struct wusbhc *wusbhc)
130 mutex_lock(&wusbhc->mutex);
131 ret = wusbhc->start(wusbhc);
133 wusbhc->active = 1;
134 mutex_unlock(&wusbhc->mutex);
139 static void wusbhc_mmc_stop(struct wusbhc *wusbhc)
141 mutex_lock(&wusbhc->mutex);
142 wusbhc->active = 0;
143 wusbhc->stop(wusbhc, WUSB_CHANNEL_STOP_DELAY_MS);
144 mutex_unlock(&wusbhc->mutex);
149 * @wusbhc: the HC to start
154 int wusbhc_start(struct wusbhc *wusbhc)
157 struct device *dev = wusbhc->dev;
159 WARN_ON(wusbhc->wuie_host_info != NULL);
161 result = wusbhc_rsv_establish(wusbhc);
168 result = wusbhc_devconnect_start(wusbhc);
174 result = wusbhc_sec_start(wusbhc);
179 result = wusbhc->set_num_dnts(wusbhc, 0, 15);
184 result = wusbhc_mmc_start(wusbhc);
193 wusbhc_sec_stop(wusbhc);
196 wusbhc_devconnect_stop(wusbhc);
198 wusbhc_rsv_terminate(wusbhc);
205 * @wusbhc: the HC to stop
209 void wusbhc_stop(struct wusbhc *wusbhc)
211 wusbhc_mmc_stop(wusbhc);
212 wusbhc_sec_stop(wusbhc);
213 wusbhc_devconnect_stop(wusbhc);
214 wusbhc_rsv_terminate(wusbhc);
224 int wusbhc_chid_set(struct wusbhc *wusbhc, const struct wusb_ckhdid *chid)
231 mutex_lock(&wusbhc->mutex);
233 if (wusbhc->active) {
234 mutex_unlock(&wusbhc->mutex);
237 wusbhc->chid = *chid;
239 mutex_unlock(&wusbhc->mutex);
242 result = uwb_radio_start(&wusbhc->pal);
244 uwb_radio_stop(&wusbhc->pal);