diff options
author | Lucas Stach | 2012-09-26 00:14:34 +0200 |
---|---|---|
committer | Tom Rini | 2012-10-15 11:54:00 -0700 |
commit | c7e3b2b58636704d504ac270031d87b716d8b273 (patch) | |
tree | ccbba6153c289fdb23ce766b80094b0a98d53bd2 /include | |
parent | 5527efe501c117fc86273e2d7c7b6f30884015c3 (diff) |
usb: lowlevel interface change to support multiple controllers
Carry an index in the lowlevel usb functions to make specify the
respective usb controller.
Also pass through an controller struct from lowlevel_init to the
creation of the root usb device of this controller.
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/usb.h | 10 | ||||
-rw-r--r-- | include/usb/mv_udc.h | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/include/usb.h b/include/usb.h index ba3d169ea8c..292a0425d85 100644 --- a/include/usb.h +++ b/include/usb.h @@ -140,6 +140,8 @@ struct usb_device { int portnr; struct usb_device *parent; struct usb_device *children[USB_MAXCHILDREN]; + + void *controller; /* hardware controller private data */ }; /********************************************************************** @@ -153,8 +155,9 @@ struct usb_device { defined(CONFIG_USB_OMAP3) || defined(CONFIG_USB_DA8XX) || \ defined(CONFIG_USB_BLACKFIN) || defined(CONFIG_USB_AM35X) -int usb_lowlevel_init(void); -int usb_lowlevel_stop(void); +int usb_lowlevel_init(int index, void **controller); +int usb_lowlevel_stop(int index); + int submit_bulk_msg(struct usb_device *dev, unsigned long pipe, void *buffer, int transfer_len); int submit_control_msg(struct usb_device *dev, unsigned long pipe, void *buffer, @@ -382,7 +385,8 @@ void usb_hub_reset(void); int hub_port_reset(struct usb_device *dev, int port, unsigned short *portstat); -struct usb_device *usb_alloc_new_device(void); +struct usb_device *usb_alloc_new_device(void *controller); + int usb_new_device(struct usb_device *dev); #endif /*_USB_H_ */ diff --git a/include/usb/mv_udc.h b/include/usb/mv_udc.h index 51d36c3f343..221e6263917 100644 --- a/include/usb/mv_udc.h +++ b/include/usb/mv_udc.h @@ -147,5 +147,5 @@ struct ept_queue_item { #define INFO_BUFFER_ERROR (1 << 5) #define INFO_TX_ERROR (1 << 3) -extern int usb_lowlevel_init(void); +extern int usb_lowlevel_init(int index, void **controller); #endif /* __MV_UDC_H__ */ |