Lines Matching defs:req

94 static void f_midi_transmit(struct f_midi *midi, struct usb_request *req);
197 struct usb_request *req;
199 req = usb_ep_alloc_request(ep, GFP_ATOMIC);
200 if (req) {
201 req->length = length;
202 req->buf = kmalloc(length, GFP_ATOMIC);
203 if (!req->buf) {
204 usb_ep_free_request(ep, req);
205 req = NULL;
208 return req;
211 static void free_ep_req(struct usb_ep *ep, struct usb_request *req)
213 kfree(req->buf);
214 usb_ep_free_request(ep, req);
240 static void f_midi_handle_out_data(struct usb_ep *ep, struct usb_request *req)
243 u8 *buf = req->buf;
245 for (i = 0; i + 3 < req->actual; i += 4)
254 f_midi_complete(struct usb_ep *ep, struct usb_request *req)
258 int status = req->status;
263 /* We received stuff. req is queued again, below */
264 f_midi_handle_out_data(ep, req);
267 * f_midi_transmit eats req, don't queue it again. */
268 f_midi_transmit(midi, req);
278 req->actual, req->length);
280 f_midi_handle_out_data(ep, req);
282 free_ep_req(ep, req);
290 status, req->actual, req->length);
296 status = usb_ep_queue(ep, req, GFP_ATOMIC);
299 ep->name, req->length, status);
368 struct usb_request *req =
370 if (req == NULL)
373 req->complete = f_midi_complete;
374 err = usb_ep_queue(midi->out_ep, req, GFP_ATOMIC);
376 ERROR(midi, "%s queue req: %d\n",
427 static void f_midi_transmit_packet(struct usb_request *req, uint8_t p0,
430 unsigned length = req->length;
431 u8 *buf = (u8 *)req->buf + length;
437 req->length = length + 4;
443 static void f_midi_transmit_byte(struct usb_request *req,
449 f_midi_transmit_packet(req, p0 | 0x0f, b, 0, 0);
470 f_midi_transmit_packet(req, p0 | 0x05, 0xf6, 0, 0);
476 f_midi_transmit_packet(req,
480 f_midi_transmit_packet(req,
484 f_midi_transmit_packet(req,
507 f_midi_transmit_packet(req, p0, port->data[0], b, 0);
521 f_midi_transmit_packet(req,
533 f_midi_transmit_packet(req,
541 static void f_midi_transmit(struct f_midi *midi, struct usb_request *req)
549 if (!req)
550 req = alloc_ep_req(ep, midi->buflen);
552 if (!req) {
556 req->length = 0;
557 req->complete = f_midi_complete;
566 while (req->length + 3 < midi->buflen) {
572 f_midi_transmit_byte(req, port, b);
576 if (req->length > 0)
577 usb_ep_queue(ep, req, GFP_ATOMIC);
579 free_ep_req(ep, req);