Index: uspace/lib/usbhost/include/usb/host/hcd.h
===================================================================
--- uspace/lib/usbhost/include/usb/host/hcd.h	(revision 719199213020b6fb7735808b21117a46afe44b95)
+++ uspace/lib/usbhost/include/usb/host/hcd.h	(revision e26a9d95636fe7d9900d09ea304b6ff01e76cfb7)
@@ -52,4 +52,5 @@
 typedef void (*ep_remove_hook_t)(hcd_t *, endpoint_t *);
 typedef void (*interrupt_hook_t)(hcd_t *, uint32_t);
+typedef int (*status_hook_t)(hcd_t *, uint32_t *);
 
 typedef struct {
@@ -64,4 +65,6 @@
 	/** Hook to be called on device interrupt, passes ARG1 */
 	interrupt_hook_t irq_hook;
+	/** Periodic polling hook */
+	status_hook_t status_hook;
 } hc_driver_t;
 
@@ -80,5 +83,5 @@
 static inline void hcd_set_implementation(hcd_t *hcd, void *data,
     schedule_hook_t schedule, ep_add_hook_t add_hook, ep_remove_hook_t rem_hook,
-    interrupt_hook_t irq_hook)
+    interrupt_hook_t irq_hook, status_hook_t status_hook)
 {
 	assert(hcd);
@@ -88,4 +91,5 @@
 	hcd->driver.ep_remove_hook = rem_hook;
 	hcd->driver.irq_hook = irq_hook;
+	hcd->driver.status_hook = status_hook;
 }
 
