diff options
Diffstat (limited to 'drivers/usb/gadget/gadget_chips.h')
-rw-r--r-- | drivers/usb/gadget/gadget_chips.h | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/drivers/usb/gadget/gadget_chips.h b/drivers/usb/gadget/gadget_chips.h index 8cbae21d84b9..c4081407171f 100644 --- a/drivers/usb/gadget/gadget_chips.h +++ b/drivers/usb/gadget/gadget_chips.h | |||
@@ -3,9 +3,9 @@ | |||
3 | * gadget drivers or other code that needs to deal with them, and which | 3 | * gadget drivers or other code that needs to deal with them, and which |
4 | * autoconfigures instead of using early binding to the hardware. | 4 | * autoconfigures instead of using early binding to the hardware. |
5 | * | 5 | * |
6 | * This could eventually work like the ARM mach_is_*() stuff, driven by | 6 | * This SHOULD eventually work like the ARM mach_is_*() stuff, driven by |
7 | * some config file that gets updated as new hardware is supported. | 7 | * some config file that gets updated as new hardware is supported. |
8 | * (And avoiding the runtime comparisons in typical one-choice cases.) | 8 | * (And avoiding all runtime comparisons in typical one-choice configs!) |
9 | * | 9 | * |
10 | * NOTE: some of these controller drivers may not be available yet. | 10 | * NOTE: some of these controller drivers may not be available yet. |
11 | */ | 11 | */ |
@@ -93,6 +93,26 @@ | |||
93 | #define gadget_is_imx(g) 0 | 93 | #define gadget_is_imx(g) 0 |
94 | #endif | 94 | #endif |
95 | 95 | ||
96 | /* Mentor high speed function controller */ | ||
97 | #ifdef CONFIG_USB_GADGET_MUSBHSFC | ||
98 | #define gadget_is_musbhsfc(g) !strcmp("musbhsfc_udc", (g)->name) | ||
99 | #else | ||
100 | #define gadget_is_musbhsfc(g) 0 | ||
101 | #endif | ||
102 | |||
103 | /* Mentor high speed "dual role" controller, peripheral mode */ | ||
104 | #ifdef CONFIG_USB_GADGET_MUSBHDRC | ||
105 | #define gadget_is_musbhdrc(g) !strcmp("musbhdrc_udc", (g)->name) | ||
106 | #else | ||
107 | #define gadget_is_musbhdrc(g) 0 | ||
108 | #endif | ||
109 | |||
110 | #ifdef CONFIG_USB_GADGET_MPC8272 | ||
111 | #define gadget_is_mpc8272(g) !strcmp("mpc8272_udc", (g)->name) | ||
112 | #else | ||
113 | #define gadget_is_mpc8272(g) 0 | ||
114 | #endif | ||
115 | |||
96 | // CONFIG_USB_GADGET_SX2 | 116 | // CONFIG_USB_GADGET_SX2 |
97 | // CONFIG_USB_GADGET_AU1X00 | 117 | // CONFIG_USB_GADGET_AU1X00 |
98 | // ... | 118 | // ... |
@@ -143,5 +163,11 @@ static inline int usb_gadget_controller_number(struct usb_gadget *gadget) | |||
143 | return 0x13; | 163 | return 0x13; |
144 | else if (gadget_is_imx(gadget)) | 164 | else if (gadget_is_imx(gadget)) |
145 | return 0x14; | 165 | return 0x14; |
166 | else if (gadget_is_musbhsfc(gadget)) | ||
167 | return 0x15; | ||
168 | else if (gadget_is_musbhdrc(gadget)) | ||
169 | return 0x16; | ||
170 | else if (gadget_is_mpc8272(gadget)) | ||
171 | return 0x17; | ||
146 | return -ENOENT; | 172 | return -ENOENT; |
147 | } | 173 | } |