usb: host: move EH SINGLE_STEP_SET_FEATURE implementation to core
It is needed at USB Certification test for Embedded Host 2.0, and the detail is at CH6.4.1.1 of On-The-Go and Embedded Host Supplement to the USB Revision 2.0 Specification. Since other USB 2.0 capable host like XHCI also need it, so move it to HCD core. Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Peter Chen <peter.chen@nxp.com> Signed-off-by: Li Jun <jun.li@nxp.com> Link: https://lore.kernel.org/r/1620452039-11694-1-git-send-email-jun.li@nxp.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
9e8d268f83
commit
cbbc07e1e8
5 changed files with 151 additions and 141 deletions
|
|
@ -409,7 +409,10 @@ struct hc_driver {
|
|||
int (*find_raw_port_number)(struct usb_hcd *, int);
|
||||
/* Call for power on/off the port if necessary */
|
||||
int (*port_power)(struct usb_hcd *hcd, int portnum, bool enable);
|
||||
|
||||
/* Call for SINGLE_STEP_SET_FEATURE Test for USB2 EH certification */
|
||||
#define EHSET_TEST_SINGLE_STEP_SET_FEATURE 0x06
|
||||
int (*submit_single_step_set_feature)(struct usb_hcd *,
|
||||
struct urb *, int);
|
||||
};
|
||||
|
||||
static inline int hcd_giveback_urb_in_bh(struct usb_hcd *hcd)
|
||||
|
|
@ -474,6 +477,14 @@ int usb_hcd_setup_local_mem(struct usb_hcd *hcd, phys_addr_t phys_addr,
|
|||
|
||||
struct platform_device;
|
||||
extern void usb_hcd_platform_shutdown(struct platform_device *dev);
|
||||
#ifdef CONFIG_USB_HCD_TEST_MODE
|
||||
extern int ehset_single_step_set_feature(struct usb_hcd *hcd, int port);
|
||||
#else
|
||||
static inline int ehset_single_step_set_feature(struct usb_hcd *hcd, int port)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_USB_HCD_TEST_MODE */
|
||||
|
||||
#ifdef CONFIG_USB_PCI
|
||||
struct pci_dev;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue