diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c index 93c3c9d06a98..75c7f2faeb3b 100644 --- a/drivers/usb/gadget/composite.c +++ b/drivers/usb/gadget/composite.c @@ -490,46 +490,6 @@ int usb_interface_id(struct usb_configuration *config, } EXPORT_SYMBOL_GPL(usb_interface_id); -/** - * usb_func_wakeup - sends function wake notification to the host. - * @func: function that sends the remote wakeup notification. - * - * Applicable to devices operating at enhanced superspeed when usb - * functions are put in function suspend state and armed for function - * remote wakeup. On completion, function wake notification is sent. If - * the device is in low power state it tries to bring the device to active - * state before sending the wake notification. Since it is a synchronous - * call, caller must take care of not calling it in interrupt context. - * For devices operating at lower speeds returns negative errno. - * - * Returns zero on success, else negative errno. - */ -int usb_func_wakeup(struct usb_function *func) -{ - struct usb_gadget *gadget = func->config->cdev->gadget; - int id; - - if (!gadget->ops->func_wakeup) - return -EOPNOTSUPP; - - if (!func->func_wakeup_armed) { - ERROR(func->config->cdev, "not armed for func remote wakeup\n"); - return -EINVAL; - } - - for (id = 0; id < MAX_CONFIG_INTERFACES; id++) - if (func->config->interface[id] == func) - break; - - if (id == MAX_CONFIG_INTERFACES) { - ERROR(func->config->cdev, "Invalid function\n"); - return -EINVAL; - } - - return gadget->ops->func_wakeup(gadget, id); -} -EXPORT_SYMBOL_GPL(usb_func_wakeup); - static u8 encode_bMaxPower(enum usb_device_speed speed, struct usb_configuration *c) { diff --git a/include/linux/usb/composite.h b/include/linux/usb/composite.h index 47ac5a22a9d0..814f65799200 100644 --- a/include/linux/usb/composite.h +++ b/include/linux/usb/composite.h @@ -149,9 +149,6 @@ 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 @@ -222,8 +219,6 @@ 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; @@ -245,7 +240,6 @@ 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 */ diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h index db7ea85e4e77..a10c1a9971b4 100644 --- a/include/linux/usb/gadget.h +++ b/include/linux/usb/gadget.h @@ -315,7 +315,6 @@ struct usb_udc; struct usb_gadget_ops { int (*get_frame)(struct usb_gadget *); int (*wakeup)(struct usb_gadget *); - int (*func_wakeup)(struct usb_gadget *gadget, int intf_id); int (*set_selfpowered) (struct usb_gadget *, int is_selfpowered); int (*vbus_session) (struct usb_gadget *, int is_active); int (*vbus_draw) (struct usb_gadget *, unsigned mA);