Lines Matching refs:wa

117 	struct wahc *wa;  member
249 extern int wa_create(struct wahc *wa, struct usb_interface *iface,
251 extern void __wa_destroy(struct wahc *wa);
252 extern int wa_dti_start(struct wahc *wa);
253 void wa_reset_all(struct wahc *wa);
270 static inline int wa_nep_arm(struct wahc *wa, gfp_t gfp_mask) in wa_nep_arm() argument
272 struct urb *urb = wa->nep_urb; in wa_nep_arm()
273 urb->transfer_buffer = wa->nep_buffer; in wa_nep_arm()
274 urb->transfer_buffer_length = wa->nep_buffer_size; in wa_nep_arm()
278 static inline void wa_nep_disarm(struct wahc *wa) in wa_nep_disarm() argument
280 usb_kill_urb(wa->nep_urb); in wa_nep_disarm()
285 static inline void wa_rpipe_init(struct wahc *wa) in wa_rpipe_init() argument
287 INIT_LIST_HEAD(&wa->rpipe_delayed_list); in wa_rpipe_init()
288 spin_lock_init(&wa->rpipe_lock); in wa_rpipe_init()
289 mutex_init(&wa->rpipe_mutex); in wa_rpipe_init()
292 static inline void wa_init(struct wahc *wa) in wa_init() argument
296 edc_init(&wa->nep_edc); in wa_init()
297 atomic_set(&wa->notifs_queued, 0); in wa_init()
298 wa->dti_state = WA_DTI_TRANSFER_RESULT_PENDING; in wa_init()
299 wa_rpipe_init(wa); in wa_init()
300 edc_init(&wa->dti_edc); in wa_init()
301 INIT_LIST_HEAD(&wa->xfer_list); in wa_init()
302 INIT_LIST_HEAD(&wa->xfer_delayed_list); in wa_init()
303 INIT_LIST_HEAD(&wa->xfer_errored_list); in wa_init()
304 spin_lock_init(&wa->xfer_list_lock); in wa_init()
305 INIT_WORK(&wa->xfer_enqueue_work, wa_urb_enqueue_run); in wa_init()
306 INIT_WORK(&wa->xfer_error_work, wa_process_errored_transfers_run); in wa_init()
307 wa->dto_in_use = 0; in wa_init()
308 atomic_set(&wa->xfer_id_count, 1); in wa_init()
311 usb_init_urb(&(wa->buf_in_urbs[index])); in wa_init()
312 wa->active_buf_in_urbs = 0; in wa_init()
372 static inline struct wahc *wa_get(struct wahc *wa) in wa_get() argument
374 usb_get_intf(wa->usb_iface); in wa_get()
375 return wa; in wa_get()
378 static inline void wa_put(struct wahc *wa) in wa_put() argument
380 usb_put_intf(wa->usb_iface); in wa_put()
384 static inline int __wa_feature(struct wahc *wa, unsigned op, u16 feature) in __wa_feature() argument
386 return usb_control_msg(wa->usb_dev, usb_sndctrlpipe(wa->usb_dev, 0), in __wa_feature()
390 wa->usb_iface->cur_altsetting->desc.bInterfaceNumber, in __wa_feature()
395 static inline int __wa_set_feature(struct wahc *wa, u16 feature) in __wa_set_feature() argument
397 return __wa_feature(wa, 1, feature); in __wa_set_feature()
401 static inline int __wa_clear_feature(struct wahc *wa, u16 feature) in __wa_clear_feature() argument
403 return __wa_feature(wa, 0, feature); in __wa_clear_feature()
417 s32 __wa_get_status(struct wahc *wa) in __wa_get_status() argument
421 wa->usb_dev, usb_rcvctrlpipe(wa->usb_dev, 0), in __wa_get_status()
424 0, wa->usb_iface->cur_altsetting->desc.bInterfaceNumber, in __wa_get_status()
425 &wa->status, sizeof(wa->status), USB_CTRL_GET_TIMEOUT); in __wa_get_status()
427 result = wa->status; in __wa_get_status()
444 static inline s32 __wa_wait_status(struct wahc *wa, u32 mask, u32 value) in __wa_wait_status() argument
450 result = __wa_get_status(wa); in __wa_wait_status()
463 static inline int __wa_stop(struct wahc *wa) in __wa_stop() argument
466 struct device *dev = &wa->usb_iface->dev; in __wa_stop()
468 result = __wa_clear_feature(wa, WA_ENABLE); in __wa_stop()
473 result = __wa_wait_status(wa, WA_ENABLE, 0); in __wa_stop()