aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/c67x00/c67x00-drv.c
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2008-04-27 02:59:45 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2008-05-02 13:25:57 -0400
commite9b29ffc519b9e63d4e1c0b1278bb951bb418a9d (patch)
tree4da71b6882ff9c41690a1ebcfaf3f3de5154c082 /drivers/usb/c67x00/c67x00-drv.c
parentb02b371e6d14961ad458ca9d88b30eefef77003d (diff)
USB: add Cypress c67x00 OTG controller HCD driver
This patch adds HCD support for the Cypress c67x00 family of devices. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/c67x00/c67x00-drv.c')
-rw-r--r--drivers/usb/c67x00/c67x00-drv.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/usb/c67x00/c67x00-drv.c b/drivers/usb/c67x00/c67x00-drv.c
index f8189bdbd06d..5633bc5c8bf2 100644
--- a/drivers/usb/c67x00/c67x00-drv.c
+++ b/drivers/usb/c67x00/c67x00-drv.c
@@ -41,6 +41,7 @@
41#include <linux/usb/c67x00.h> 41#include <linux/usb/c67x00.h>
42 42
43#include "c67x00.h" 43#include "c67x00.h"
44#include "c67x00-hcd.h"
44 45
45static void c67x00_probe_sie(struct c67x00_sie *sie, 46static void c67x00_probe_sie(struct c67x00_sie *sie,
46 struct c67x00_device *dev, int sie_num) 47 struct c67x00_device *dev, int sie_num)
@@ -51,6 +52,10 @@ static void c67x00_probe_sie(struct c67x00_sie *sie,
51 sie->mode = c67x00_sie_config(dev->pdata->sie_config, sie_num); 52 sie->mode = c67x00_sie_config(dev->pdata->sie_config, sie_num);
52 53
53 switch (sie->mode) { 54 switch (sie->mode) {
55 case C67X00_SIE_HOST:
56 c67x00_hcd_probe(sie);
57 break;
58
54 case C67X00_SIE_UNUSED: 59 case C67X00_SIE_UNUSED:
55 dev_info(sie_dev(sie), 60 dev_info(sie_dev(sie),
56 "Not using SIE %d as requested\n", sie->sie_num); 61 "Not using SIE %d as requested\n", sie->sie_num);
@@ -66,6 +71,14 @@ static void c67x00_probe_sie(struct c67x00_sie *sie,
66 71
67static void c67x00_remove_sie(struct c67x00_sie *sie) 72static void c67x00_remove_sie(struct c67x00_sie *sie)
68{ 73{
74 switch (sie->mode) {
75 case C67X00_SIE_HOST:
76 c67x00_hcd_remove(sie);
77 break;
78
79 default:
80 break;
81 }
69} 82}
70 83
71static irqreturn_t c67x00_irq(int irq, void *__dev) 84static irqreturn_t c67x00_irq(int irq, void *__dev)