12345678910111213141516171819202122232425262728293031323334 |
- /*
- * u_f.c -- USB function utilities for Gadget stack
- *
- * Copyright (c) 2013 Samsung Electronics Co., Ltd.
- * http://www.samsung.com
- *
- * Author: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
- #include "u_f.h"
- #include <linux/usb/ch9.h>
- struct usb_request *alloc_ep_req(struct usb_ep *ep, size_t len, int default_len)
- {
- struct usb_request *req;
- req = usb_ep_alloc_request(ep, GFP_ATOMIC);
- if (req) {
- req->length = len ?: default_len;
- if (usb_endpoint_dir_out(ep->desc))
- req->length = usb_ep_align(ep, req->length);
- req->buf = kmalloc(req->length, GFP_ATOMIC);
- if (!req->buf) {
- usb_ep_free_request(ep, req);
- req = NULL;
- }
- }
- return req;
- }
- EXPORT_SYMBOL_GPL(alloc_ep_req);
|