@ -198,7 +198,7 @@ int submit_control_msg(struct usb_device *dev, unsigned long pipe, void *buffer,
int submit_int_msg ( struct usb_device * dev , unsigned long pipe , void * buffer ,
int transfer_len , int interval ) ;
# if defined CONFIG_USB_EHCI || defined CONFIG_MUSB_HOST
# if defined CONFIG_USB_EHCI || defined CONFIG_MUSB_HOST || defined(CONFIG_DM_USB)
struct int_queue * create_int_queue ( struct usb_device * dev , unsigned long pipe ,
int queuesize , int elementsize , void * buffer , int interval ) ;
int destroy_int_queue ( struct usb_device * dev , struct int_queue * queue ) ;
@ -660,6 +660,52 @@ struct dm_usb_ops {
int ( * interrupt ) ( struct udevice * bus , struct usb_device * udev ,
unsigned long pipe , void * buffer , int length ,
int interval ) ;
/**
* create_int_queue ( ) - Create and queue interrupt packets
*
* Create and queue @ queuesize number of interrupt usb packets of
* @ elementsize bytes each . @ buffer must be atleast @ queuesize *
* @ elementsize bytes .
*
* Note some controllers only support a queuesize of 1.
*
* @ interval : Interrupt interval
*
* @ return A pointer to the created interrupt queue or NULL on error
*/
struct int_queue * ( * create_int_queue ) ( struct udevice * bus ,
struct usb_device * udev , unsigned long pipe ,
int queuesize , int elementsize , void * buffer ,
int interval ) ;
/**
* poll_int_queue ( ) - Poll an interrupt queue for completed packets
*
* Poll an interrupt queue for completed packets . The return value
* points to the part of the buffer passed to create_int_queue ( )
* corresponding to the completed packet .
*
* @ queue : queue to poll
*
* @ return Pointer to the data of the first completed packet , or
* NULL if no packets are ready
*/
void * ( * poll_int_queue ) ( struct udevice * bus , struct usb_device * udev ,
struct int_queue * queue ) ;
/**
* destroy_int_queue ( ) - Destroy an interrupt queue
*
* Destroy an interrupt queue created by create_int_queue ( ) .
*
* @ queue : queue to poll
*
* @ return 0 if OK , - ve on error
*/
int ( * destroy_int_queue ) ( struct udevice * bus , struct usb_device * udev ,
struct int_queue * queue ) ;
/**
* alloc_device ( ) - Allocate a new device context ( XHCI )
*