USB: add Cypress c67x00 OTG controller HCD driver
[linux-2.6.git] / drivers / usb / c67x00 / c67x00-drv.c
index f8189bdbd06d2c97e1d2e14924343d1bef503b24..5633bc5c8bf23a7bd21b9755886c0731748e6769 100644 (file)
@@ -41,6 +41,7 @@
 #include <linux/usb/c67x00.h>
 
 #include "c67x00.h"
+#include "c67x00-hcd.h"
 
 static void c67x00_probe_sie(struct c67x00_sie *sie,
                             struct c67x00_device *dev, int sie_num)
@@ -51,6 +52,10 @@ static void c67x00_probe_sie(struct c67x00_sie *sie,
        sie->mode = c67x00_sie_config(dev->pdata->sie_config, sie_num);
 
        switch (sie->mode) {
+       case C67X00_SIE_HOST:
+               c67x00_hcd_probe(sie);
+               break;
+
        case C67X00_SIE_UNUSED:
                dev_info(sie_dev(sie),
                         "Not using SIE %d as requested\n", sie->sie_num);
@@ -66,6 +71,14 @@ static void c67x00_probe_sie(struct c67x00_sie *sie,
 
 static void c67x00_remove_sie(struct c67x00_sie *sie)
 {
+       switch (sie->mode) {
+       case C67X00_SIE_HOST:
+               c67x00_hcd_remove(sie);
+               break;
+
+       default:
+               break;
+       }
 }
 
 static irqreturn_t c67x00_irq(int irq, void *__dev)