27 lines
591 B
C
27 lines
591 B
C
#ifndef _USB_WORKQUEUE_H
|
|
#define _USB_WORKQUEUE_H
|
|
|
|
/* Defines the work callback */
|
|
typedef void (*usb_worker_t)(void *arg);
|
|
|
|
struct usb_work
|
|
{
|
|
usb_dlist_t list;
|
|
usb_worker_t worker;
|
|
void *arg;
|
|
};
|
|
|
|
struct usb_workqueue
|
|
{
|
|
usb_dlist_t work_list;
|
|
usb_dlist_t delay_work_list;
|
|
usb_osal_sem_t sem;
|
|
usb_osal_thread_t thread;
|
|
};
|
|
|
|
extern struct usb_workqueue g_hpworkq;
|
|
extern struct usb_workqueue g_lpworkq;
|
|
|
|
void usb_workqueue_submit(struct usb_workqueue *queue, struct usb_work *work, usb_worker_t worker, void *arg, uint32_t ticks);
|
|
int usbh_workq_initialize();
|
|
#endif |