Merge tag 'usb-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next
Felipe writes: usb: patches for v4.1 merge window As usual, a big pile of commits. This time a total of 111 non-merge commits. Other than the usual set of cleanups and non-critical fixes, we have some interesting work for AM335x's MUSB babble recovery. Now that takes a lot less time and we don't have to Reset MUSB all the time. The printer gadget has been converted to configfs interface and the atmel udc has learned suspend/resume with wakeup. Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
@@ -148,6 +148,7 @@ struct usb_os_desc_table {
|
||||
* @disable: (REQUIRED) Indicates the function should be disabled. Reasons
|
||||
* include host resetting or reconfiguring the gadget, and disconnection.
|
||||
* @setup: Used for interface-specific control requests.
|
||||
* @req_match: Tests if a given class request can be handled by this function.
|
||||
* @suspend: Notifies functions when the host stops sending USB traffic.
|
||||
* @resume: Notifies functions when the host restarts USB traffic.
|
||||
* @get_status: Returns function status as a reply to
|
||||
@@ -213,6 +214,8 @@ struct usb_function {
|
||||
void (*disable)(struct usb_function *);
|
||||
int (*setup)(struct usb_function *,
|
||||
const struct usb_ctrlrequest *);
|
||||
bool (*req_match)(struct usb_function *,
|
||||
const struct usb_ctrlrequest *);
|
||||
void (*suspend)(struct usb_function *);
|
||||
void (*resume)(struct usb_function *);
|
||||
|
||||
|
@@ -190,7 +190,7 @@ struct usb_ep {
|
||||
* @ep:the endpoint being configured
|
||||
* @maxpacket_limit:value of maximum packet size limit
|
||||
*
|
||||
* This function shoud be used only in UDC drivers to initialize endpoint
|
||||
* This function should be used only in UDC drivers to initialize endpoint
|
||||
* (usually in probe function).
|
||||
*/
|
||||
static inline void usb_ep_set_maxpacket_limit(struct usb_ep *ep,
|
||||
@@ -474,6 +474,7 @@ struct usb_dcd_config_params {
|
||||
|
||||
struct usb_gadget;
|
||||
struct usb_gadget_driver;
|
||||
struct usb_udc;
|
||||
|
||||
/* the rest of the api to the controller hardware: device operations,
|
||||
* which don't involve endpoints (or i/o).
|
||||
@@ -496,6 +497,7 @@ struct usb_gadget_ops {
|
||||
/**
|
||||
* struct usb_gadget - represents a usb slave device
|
||||
* @work: (internal use) Workqueue to be used for sysfs_notify()
|
||||
* @udc: struct usb_udc pointer for this gadget
|
||||
* @ops: Function pointers used to access hardware-specific operations.
|
||||
* @ep0: Endpoint zero, used when reading or writing responses to
|
||||
* driver setup() requests
|
||||
@@ -545,6 +547,7 @@ struct usb_gadget_ops {
|
||||
*/
|
||||
struct usb_gadget {
|
||||
struct work_struct work;
|
||||
struct usb_udc *udc;
|
||||
/* readonly to gadget driver */
|
||||
const struct usb_gadget_ops *ops;
|
||||
struct usb_ep *ep0;
|
||||
@@ -1029,6 +1032,10 @@ extern void usb_gadget_udc_reset(struct usb_gadget *gadget,
|
||||
extern void usb_gadget_giveback_request(struct usb_ep *ep,
|
||||
struct usb_request *req);
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/* utility to update vbus status for udc core, it may be scheduled */
|
||||
extern void usb_udc_vbus_handler(struct usb_gadget *gadget, bool status);
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
|
@@ -165,6 +165,8 @@ struct renesas_usbhs_driver_param {
|
||||
*/
|
||||
u32 has_otg:1; /* for controlling PWEN/EXTLP */
|
||||
u32 has_sudmac:1; /* for SUDMAC */
|
||||
u32 has_usb_dmac:1; /* for USB-DMAC */
|
||||
#define USBHS_USB_DMAC_XFER_SIZE 32 /* hardcode the xfer size */
|
||||
};
|
||||
|
||||
#define USBHS_TYPE_R8A7790 1
|
||||
|
Reference in New Issue
Block a user