Index: uspace/lib/usbhost/include/usb/host/ddf_helpers.h
===================================================================
--- uspace/lib/usbhost/include/usb/host/ddf_helpers.h	(revision ce33c10fc90eab5218927e691819a3b9c30413a8)
+++ uspace/lib/usbhost/include/usb/host/ddf_helpers.h	(revision 57c8fc93f54611667e4ee84440ca8cd4272cff4e)
@@ -37,4 +37,5 @@
 #define LIBUSBHOST_HOST_DDF_HELPERS_H
 
+#include <device/hw_res_parsed.h>
 #include <usb/host/hcd.h>
 #include <usbhc_iface.h>
@@ -47,4 +48,7 @@
 hcd_t *dev_to_hcd(ddf_dev_t *dev);
 
+int hcd_ddf_enable_interrupts(ddf_dev_t *device);
+int hcd_ddf_get_registers(ddf_dev_t *device, hw_res_list_parsed_t *hw_res);
+
 #endif
 
Index: uspace/lib/usbhost/src/ddf_helpers.c
===================================================================
--- uspace/lib/usbhost/src/ddf_helpers.c	(revision ce33c10fc90eab5218927e691819a3b9c30413a8)
+++ uspace/lib/usbhost/src/ddf_helpers.c	(revision 57c8fc93f54611667e4ee84440ca8cd4272cff4e)
@@ -39,4 +39,5 @@
 #include <usb/descriptor.h>
 #include <usb/request.h>
+#include <devman.h>
 #include <errno.h>
 #include <str_error.h>
@@ -640,4 +641,37 @@
 		ddf_fun_destroy(hc->ctl_fun);
 }
+
+
+//TODO: Move this to generic ddf?
+/** Call the parent driver with a request to enable interrupts
+ *
+ * @param[in] device Device asking for interrupts
+ * @return Error code.
+ */
+int hcd_ddf_enable_interrupts(ddf_dev_t *device)
+{
+	assert(device);
+	async_sess_t *parent_sess =
+	    devman_parent_device_connect(EXCHANGE_SERIALIZE,
+	    ddf_dev_get_handle(device), IPC_FLAG_BLOCKING);
+	const bool enabled = hw_res_enable_interrupt(parent_sess);
+	async_hangup(parent_sess);
+
+	return enabled ? EOK : EIO;
+}
+
+int hcd_ddf_get_registers(ddf_dev_t *device, hw_res_list_parsed_t *hw_res)
+{
+	assert(device);
+	assert(hw_res);
+
+	async_sess_t *parent_sess =
+	    devman_parent_device_connect(EXCHANGE_SERIALIZE,
+	    ddf_dev_get_handle(device), IPC_FLAG_BLOCKING);
+	hw_res_list_parsed_init(hw_res);
+	const int ret = hw_res_get_list_parsed(parent_sess, hw_res, 0);
+	async_hangup(parent_sess);
+	return ret;
+}
 /**
  * @}
