diff options
author | Peter Korsgaard <jacmet@sunsite.dk> | 2008-04-27 02:59:45 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-05-02 13:25:57 -0400 |
commit | e9b29ffc519b9e63d4e1c0b1278bb951bb418a9d (patch) | |
tree | 4da71b6882ff9c41690a1ebcfaf3f3de5154c082 /drivers/usb/c67x00/c67x00-drv.c | |
parent | b02b371e6d14961ad458ca9d88b30eefef77003d (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.c | 13 |
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 | ||
45 | static void c67x00_probe_sie(struct c67x00_sie *sie, | 46 | static 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 | ||
67 | static void c67x00_remove_sie(struct c67x00_sie *sie) | 72 | static 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 | ||
71 | static irqreturn_t c67x00_irq(int irq, void *__dev) | 84 | static irqreturn_t c67x00_irq(int irq, void *__dev) |