/*-------------------------------------------------------------------------*/
 
 static int __devinit
-ohci_at91_start (struct usb_hcd *hcd)
+ohci_at91_reset (struct usb_hcd *hcd)
 {
        struct at91_usbh_data   *board = hcd->self.controller->platform_data;
        struct ohci_hcd         *ohci = hcd_to_ohci (hcd);
                return ret;
 
        ohci->num_ports = board->ports;
+       return 0;
+}
+
+static int __devinit
+ohci_at91_start (struct usb_hcd *hcd)
+{
+       struct ohci_hcd         *ohci = hcd_to_ohci (hcd);
+       int                     ret;
 
        if ((ret = ohci_run(ohci)) < 0) {
                dev_err(hcd->self.controller, "can't start %s\n",
        /*
         * basic lifecycle operations
         */
+       .reset =                ohci_at91_reset,
        .start =                ohci_at91_start,
        .stop =                 ohci_stop,
        .shutdown =             ohci_shutdown,