• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/usb/gadget/

Lines Matching refs:loop

124 	[0].s = "loop input to output",
144 struct f_loopback *loop = func_to_loop(f);
155 loop->in_ep = usb_ep_autoconfig(cdev->gadget, &fs_loop_source_desc);
156 if (!loop->in_ep) {
162 loop->in_ep->driver_data = cdev; /* claim */
164 loop->out_ep = usb_ep_autoconfig(cdev->gadget, &fs_loop_sink_desc);
165 if (!loop->out_ep)
167 loop->out_ep->driver_data = cdev; /* claim */
180 f->name, loop->in_ep->name, loop->out_ep->name);
192 struct f_loopback *loop = ep->driver_data;
193 struct usb_composite_dev *cdev = loop->function.config->cdev;
199 if (ep == loop->out_ep) {
200 /* loop this OUT packet back IN to the host */
203 status = usb_ep_queue(loop->in_ep, req, GFP_ATOMIC);
208 ERROR(cdev, "can't loop %s to %s: %d\n",
209 ep->name, loop->in_ep->name,
215 status = usb_ep_queue(loop->out_ep, req, GFP_ATOMIC);
223 ERROR(cdev, "%s loop complete --> %d, %d/%d\n", ep->name,
240 static void disable_loopback(struct f_loopback *loop)
244 cdev = loop->function.config->cdev;
245 disable_endpoints(cdev, loop->in_ep, loop->out_ep);
246 VDBG(cdev, "%s disabled\n", loop->function.name);
250 enable_loopback(struct usb_composite_dev *cdev, struct f_loopback *loop)
264 ep = loop->in_ep;
268 ep->driver_data = loop;
271 ep = loop->out_ep;
275 ep = loop->in_ep;
280 ep->driver_data = loop;
302 DBG(cdev, "%s enabled\n", loop->function.name);
309 struct f_loopback *loop = func_to_loop(f);
313 if (loop->in_ep->driver_data)
314 disable_loopback(loop);
315 return enable_loopback(cdev, loop);
320 struct f_loopback *loop = func_to_loop(f);
322 disable_loopback(loop);
329 struct f_loopback *loop;
332 loop = kzalloc(sizeof *loop, GFP_KERNEL);
333 if (!loop)
336 loop->function.name = "loopback";
337 loop->function.descriptors = fs_loopback_descs;
338 loop->function.bind = loopback_bind;
339 loop->function.unbind = loopback_unbind;
340 loop->function.set_alt = loopback_set_alt;
341 loop->function.disable = loopback_disable;
343 status = usb_add_function(c, &loop->function);
345 kfree(loop);