diff options
Diffstat (limited to 'include/linux/usb/composite.h')
| -rw-r--r-- | include/linux/usb/composite.h | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/usb/composite.h b/include/linux/usb/composite.h index 608dc962748b..a2448e98854f 100644 --- a/include/linux/usb/composite.h +++ b/include/linux/usb/composite.h @@ -150,6 +150,9 @@ struct usb_os_desc_table {   *	GetStatus() request when the recipient is Interface.   * @func_suspend: callback to be called when   *	SetFeature(FUNCTION_SUSPEND) is reseived + * @func_suspended: Indicates whether the function is in function suspend state. + * @func_wakeup_armed: Indicates whether the function is armed by the host for + *	wakeup signaling.   *   * A single USB function uses one or more interfaces, and should in most   * cases support operation at both full and high speeds.  Each function is @@ -220,6 +223,8 @@ struct usb_function {  	int			(*get_status)(struct usb_function *);  	int			(*func_suspend)(struct usb_function *,  						u8 suspend_opt); +	bool			func_suspended; +	bool			func_wakeup_armed;  	/* private: */  	/* internals */  	struct list_head		list; @@ -241,6 +246,7 @@ int config_ep_by_speed_and_alt(struct usb_gadget *g, struct usb_function *f,  int config_ep_by_speed(struct usb_gadget *g, struct usb_function *f,  			struct usb_ep *_ep); +int usb_func_wakeup(struct usb_function *func);  #define	MAX_CONFIG_INTERFACES		16	/* arbitrary; max 255 */ @@ -413,6 +419,8 @@ extern int composite_dev_prepare(struct usb_composite_driver *composite,  extern int composite_os_desc_req_prepare(struct usb_composite_dev *cdev,  					 struct usb_ep *ep0);  void composite_dev_cleanup(struct usb_composite_dev *cdev); +void check_remote_wakeup_config(struct usb_gadget *g, +				struct usb_configuration *c);  static inline struct usb_composite_driver *to_cdriver(  		struct usb_gadget_driver *gdrv)  |