diff options
author | Felipe Balbi <balbi@ti.com> | 2011-06-22 10:28:10 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-07-01 17:31:11 -0400 |
commit | 193ab2a6070039e7ee2b9b9bebea754a7c52fd1b (patch) | |
tree | 7244a04a5d0db79c5f21664a2b971c02cf56622a /drivers/usb/gadget | |
parent | ee34e51a7458ba59af65d1b0eb9c7fa9d19a7586 (diff) |
usb: gadget: allow multiple gadgets to be built
now that we have the udc class, we can allow
multiple gadget controller drivers to be
compiled as modules. This will allow for
distro-like kernels for embedded devices.
With this patch, I managed to build an x86
kernel with support for many of the controllers
enabled:
CONFIG_USB_FUSB300=m
CONFIG_USB_R8A66597=m
CONFIG_USB_M66592=m
CONFIG_USB_AMD5536UDC=m
CONFIG_USB_CI13XXX_PCI=m
CONFIG_USB_NET2272=m
CONFIG_USB_NET2280=m
CONFIG_USB_GOKU=m
CONFIG_USB_LANGWELL=m
CONFIG_USB_EG20T=m
Also an ARM kernel with support for many controllers:
CONFIG_USB_FUSB300=m
CONFIG_USB_OMAP=m
CONFIG_USB_R8A66597=m
CONFIG_USB_GADGET_MUSB_HDRC=m
CONFIG_USB_M66592=m
CONFIG_USB_NET2272=m
CONFIG_USB_DUMMY_HCD=m
The next step would be to get rid of the
direct access to arch/ and mach/ directories
on some gadget controllers so that we can
build all of them without depending on their
respective ARCH_* symbols.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r-- | drivers/usb/gadget/Kconfig | 285 |
1 files changed, 66 insertions, 219 deletions
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig index 86f64caeafc1..46a253adde31 100644 --- a/drivers/usb/gadget/Kconfig +++ b/drivers/usb/gadget/Kconfig | |||
@@ -96,9 +96,6 @@ config USB_GADGET_VBUS_DRAW | |||
96 | This value will be used except for system-specific gadget | 96 | This value will be used except for system-specific gadget |
97 | drivers that have more specific information. | 97 | drivers that have more specific information. |
98 | 98 | ||
99 | config USB_GADGET_SELECTED | ||
100 | boolean | ||
101 | |||
102 | # | 99 | # |
103 | # USB Peripheral Controller Support | 100 | # USB Peripheral Controller Support |
104 | # | 101 | # |
@@ -122,10 +119,9 @@ choice | |||
122 | # Integrated controllers | 119 | # Integrated controllers |
123 | # | 120 | # |
124 | 121 | ||
125 | config USB_GADGET_AT91 | 122 | config USB_AT91 |
126 | boolean "Atmel AT91 USB Device Port" | 123 | tristate "Atmel AT91 USB Device Port" |
127 | depends on ARCH_AT91 && !ARCH_AT91SAM9RL && !ARCH_AT91CAP9 && !ARCH_AT91SAM9G45 | 124 | depends on ARCH_AT91 && !ARCH_AT91SAM9RL && !ARCH_AT91CAP9 && !ARCH_AT91SAM9G45 |
128 | select USB_GADGET_SELECTED | ||
129 | help | 125 | help |
130 | Many Atmel AT91 processors (such as the AT91RM2000) have a | 126 | Many Atmel AT91 processors (such as the AT91RM2000) have a |
131 | full speed USB Device Port with support for five configurable | 127 | full speed USB Device Port with support for five configurable |
@@ -135,27 +131,16 @@ config USB_GADGET_AT91 | |||
135 | dynamically linked module called "at91_udc" and force all | 131 | dynamically linked module called "at91_udc" and force all |
136 | gadget drivers to also be dynamically linked. | 132 | gadget drivers to also be dynamically linked. |
137 | 133 | ||
138 | config USB_AT91 | 134 | config USB_ATMEL_USBA |
139 | tristate | 135 | tristate "Atmel USBA" |
140 | depends on USB_GADGET_AT91 | ||
141 | default USB_GADGET | ||
142 | |||
143 | config USB_GADGET_ATMEL_USBA | ||
144 | boolean "Atmel USBA" | ||
145 | select USB_GADGET_DUALSPEED | 136 | select USB_GADGET_DUALSPEED |
146 | depends on AVR32 || ARCH_AT91CAP9 || ARCH_AT91SAM9RL || ARCH_AT91SAM9G45 | 137 | depends on AVR32 || ARCH_AT91CAP9 || ARCH_AT91SAM9RL || ARCH_AT91SAM9G45 |
147 | help | 138 | help |
148 | USBA is the integrated high-speed USB Device controller on | 139 | USBA is the integrated high-speed USB Device controller on |
149 | the AT32AP700x, some AT91SAM9 and AT91CAP9 processors from Atmel. | 140 | the AT32AP700x, some AT91SAM9 and AT91CAP9 processors from Atmel. |
150 | 141 | ||
151 | config USB_ATMEL_USBA | 142 | config USB_FSL_USB2 |
152 | tristate | 143 | tristate "Freescale Highspeed USB DR Peripheral Controller" |
153 | depends on USB_GADGET_ATMEL_USBA | ||
154 | default USB_GADGET | ||
155 | select USB_GADGET_SELECTED | ||
156 | |||
157 | config USB_GADGET_FSL_USB2 | ||
158 | boolean "Freescale Highspeed USB DR Peripheral Controller" | ||
159 | depends on FSL_SOC || ARCH_MXC | 144 | depends on FSL_SOC || ARCH_MXC |
160 | select USB_GADGET_DUALSPEED | 145 | select USB_GADGET_DUALSPEED |
161 | select USB_FSL_MPH_DR_OF if OF | 146 | select USB_FSL_MPH_DR_OF if OF |
@@ -170,26 +155,14 @@ config USB_GADGET_FSL_USB2 | |||
170 | dynamically linked module called "fsl_usb2_udc" and force | 155 | dynamically linked module called "fsl_usb2_udc" and force |
171 | all gadget drivers to also be dynamically linked. | 156 | all gadget drivers to also be dynamically linked. |
172 | 157 | ||
173 | config USB_FSL_USB2 | 158 | config USB_FUSB300 |
174 | tristate | 159 | tristate "Faraday FUSB300 USB Peripheral Controller" |
175 | depends on USB_GADGET_FSL_USB2 | ||
176 | default USB_GADGET | ||
177 | select USB_GADGET_SELECTED | ||
178 | |||
179 | config USB_GADGET_FUSB300 | ||
180 | boolean "Faraday FUSB300 USB Peripheral Controller" | ||
181 | select USB_GADGET_DUALSPEED | 160 | select USB_GADGET_DUALSPEED |
182 | help | 161 | help |
183 | Faraday usb device controller FUSB300 driver | 162 | Faraday usb device controller FUSB300 driver |
184 | 163 | ||
185 | config USB_FUSB300 | 164 | config USB_OMAP |
186 | tristate | 165 | tristate "OMAP USB Device Controller" |
187 | depends on USB_GADGET_FUSB300 | ||
188 | default USB_GADGET | ||
189 | select USB_GADGET_SELECTED | ||
190 | |||
191 | config USB_GADGET_OMAP | ||
192 | boolean "OMAP USB Device Controller" | ||
193 | depends on ARCH_OMAP | 166 | depends on ARCH_OMAP |
194 | select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_H4_OTG | 167 | select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_H4_OTG |
195 | select USB_OTG_UTILS if ARCH_OMAP | 168 | select USB_OTG_UTILS if ARCH_OMAP |
@@ -204,14 +177,8 @@ config USB_GADGET_OMAP | |||
204 | dynamically linked module called "omap_udc" and force all | 177 | dynamically linked module called "omap_udc" and force all |
205 | gadget drivers to also be dynamically linked. | 178 | gadget drivers to also be dynamically linked. |
206 | 179 | ||
207 | config USB_OMAP | 180 | config USB_PXA25X |
208 | tristate | 181 | tristate "PXA 25x or IXP 4xx" |
209 | depends on USB_GADGET_OMAP | ||
210 | default USB_GADGET | ||
211 | select USB_GADGET_SELECTED | ||
212 | |||
213 | config USB_GADGET_PXA25X | ||
214 | boolean "PXA 25x or IXP 4xx" | ||
215 | depends on (ARCH_PXA && PXA25x) || ARCH_IXP4XX | 182 | depends on (ARCH_PXA && PXA25x) || ARCH_IXP4XX |
216 | select USB_OTG_UTILS | 183 | select USB_OTG_UTILS |
217 | help | 184 | help |
@@ -226,24 +193,18 @@ config USB_GADGET_PXA25X | |||
226 | dynamically linked module called "pxa25x_udc" and force all | 193 | dynamically linked module called "pxa25x_udc" and force all |
227 | gadget drivers to also be dynamically linked. | 194 | gadget drivers to also be dynamically linked. |
228 | 195 | ||
229 | config USB_PXA25X | ||
230 | tristate | ||
231 | depends on USB_GADGET_PXA25X | ||
232 | default USB_GADGET | ||
233 | select USB_GADGET_SELECTED | ||
234 | |||
235 | # if there's only one gadget driver, using only two bulk endpoints, | 196 | # if there's only one gadget driver, using only two bulk endpoints, |
236 | # don't waste memory for the other endpoints | 197 | # don't waste memory for the other endpoints |
237 | config USB_PXA25X_SMALL | 198 | config USB_PXA25X_SMALL |
238 | depends on USB_GADGET_PXA25X | 199 | depends on USB_PXA25X |
239 | bool | 200 | bool |
240 | default n if USB_ETH_RNDIS | 201 | default n if USB_ETH_RNDIS |
241 | default y if USB_ZERO | 202 | default y if USB_ZERO |
242 | default y if USB_ETH | 203 | default y if USB_ETH |
243 | default y if USB_G_SERIAL | 204 | default y if USB_G_SERIAL |
244 | 205 | ||
245 | config USB_GADGET_R8A66597 | 206 | config USB_R8A66597 |
246 | boolean "Renesas R8A66597 USB Peripheral Controller" | 207 | tristate "Renesas R8A66597 USB Peripheral Controller" |
247 | select USB_GADGET_DUALSPEED | 208 | select USB_GADGET_DUALSPEED |
248 | help | 209 | help |
249 | R8A66597 is a discrete USB host and peripheral controller chip that | 210 | R8A66597 is a discrete USB host and peripheral controller chip that |
@@ -254,32 +215,20 @@ config USB_GADGET_R8A66597 | |||
254 | dynamically linked module called "r8a66597_udc" and force all | 215 | dynamically linked module called "r8a66597_udc" and force all |
255 | gadget drivers to also be dynamically linked. | 216 | gadget drivers to also be dynamically linked. |
256 | 217 | ||
257 | config USB_R8A66597 | 218 | config USB_RENESAS_USBHS |
258 | tristate | 219 | tristate 'Renesas USBHS controller' |
259 | depends on USB_GADGET_R8A66597 | 220 | depends on SUPERH || ARCH_SHMOBILE |
260 | default USB_GADGET | ||
261 | select USB_GADGET_SELECTED | ||
262 | |||
263 | config USB_GADGET_RENESAS_USBHS | ||
264 | boolean "Renesas USBHS" | ||
265 | depends on USB_RENESAS_USBHS | ||
266 | select USB_GADGET_DUALSPEED | ||
267 | help | 221 | help |
268 | Renesas USBHS is a discrete USB host and peripheral controller | 222 | Renesas USBHS is a discrete USB host and peripheral controller chip |
269 | chip that supports both full and high speed USB 2.0 data transfers. | 223 | that supports both full and high speed USB 2.0 data transfers. |
270 | platform is able to configure endpoint (pipe) style | 224 | It has nine or more configurable endpoints, and endpoint zero. |
271 | |||
272 | Say "y" to enable the gadget specific portion of the USBHS driver. | ||
273 | |||
274 | 225 | ||
275 | config USB_RENESAS_USBHS_UDC | 226 | Say "y" to link the driver statically, or "m" to build a |
276 | tristate | 227 | dynamically linked module called "renesas_usbhs" and force all |
277 | depends on USB_GADGET_RENESAS_USBHS | 228 | gadget drivers to also be dynamically linked. |
278 | default USB_GADGET | ||
279 | select USB_GADGET_SELECTED | ||
280 | 229 | ||
281 | config USB_GADGET_PXA27X | 230 | config USB_PXA27X |
282 | boolean "PXA 27x" | 231 | tristate "PXA 27x" |
283 | depends on ARCH_PXA && (PXA27x || PXA3xx) | 232 | depends on ARCH_PXA && (PXA27x || PXA3xx) |
284 | select USB_OTG_UTILS | 233 | select USB_OTG_UTILS |
285 | help | 234 | help |
@@ -293,14 +242,8 @@ config USB_GADGET_PXA27X | |||
293 | dynamically linked module called "pxa27x_udc" and force all | 242 | dynamically linked module called "pxa27x_udc" and force all |
294 | gadget drivers to also be dynamically linked. | 243 | gadget drivers to also be dynamically linked. |
295 | 244 | ||
296 | config USB_PXA27X | 245 | config USB_S3C_HSOTG |
297 | tristate | 246 | tristate "S3C HS/OtG USB Device controller" |
298 | depends on USB_GADGET_PXA27X | ||
299 | default USB_GADGET | ||
300 | select USB_GADGET_SELECTED | ||
301 | |||
302 | config USB_GADGET_S3C_HSOTG | ||
303 | boolean "S3C HS/OtG USB Device controller" | ||
304 | depends on S3C_DEV_USB_HSOTG | 247 | depends on S3C_DEV_USB_HSOTG |
305 | select USB_GADGET_S3C_HSOTG_PIO | 248 | select USB_GADGET_S3C_HSOTG_PIO |
306 | select USB_GADGET_DUALSPEED | 249 | select USB_GADGET_DUALSPEED |
@@ -308,14 +251,8 @@ config USB_GADGET_S3C_HSOTG | |||
308 | The Samsung S3C64XX USB2.0 high-speed gadget controller | 251 | The Samsung S3C64XX USB2.0 high-speed gadget controller |
309 | integrated into the S3C64XX series SoC. | 252 | integrated into the S3C64XX series SoC. |
310 | 253 | ||
311 | config USB_S3C_HSOTG | 254 | config USB_IMX |
312 | tristate | 255 | tristate "Freescale IMX USB Peripheral Controller" |
313 | depends on USB_GADGET_S3C_HSOTG | ||
314 | default USB_GADGET | ||
315 | select USB_GADGET_SELECTED | ||
316 | |||
317 | config USB_GADGET_IMX | ||
318 | boolean "Freescale IMX USB Peripheral Controller" | ||
319 | depends on ARCH_MX1 | 256 | depends on ARCH_MX1 |
320 | help | 257 | help |
321 | Freescale's IMX series include an integrated full speed | 258 | Freescale's IMX series include an integrated full speed |
@@ -329,14 +266,8 @@ config USB_GADGET_IMX | |||
329 | dynamically linked module called "imx_udc" and force all | 266 | dynamically linked module called "imx_udc" and force all |
330 | gadget drivers to also be dynamically linked. | 267 | gadget drivers to also be dynamically linked. |
331 | 268 | ||
332 | config USB_IMX | 269 | config USB_S3C2410 |
333 | tristate | 270 | tristate "S3C2410 USB Device Controller" |
334 | depends on USB_GADGET_IMX | ||
335 | default USB_GADGET | ||
336 | select USB_GADGET_SELECTED | ||
337 | |||
338 | config USB_GADGET_S3C2410 | ||
339 | boolean "S3C2410 USB Device Controller" | ||
340 | depends on ARCH_S3C2410 | 271 | depends on ARCH_S3C2410 |
341 | help | 272 | help |
342 | Samsung's S3C2410 is an ARM-4 processor with an integrated | 273 | Samsung's S3C2410 is an ARM-4 processor with an integrated |
@@ -346,18 +277,12 @@ config USB_GADGET_S3C2410 | |||
346 | This driver has been tested on the S3C2410, S3C2412, and | 277 | This driver has been tested on the S3C2410, S3C2412, and |
347 | S3C2440 processors. | 278 | S3C2440 processors. |
348 | 279 | ||
349 | config USB_S3C2410 | ||
350 | tristate | ||
351 | depends on USB_GADGET_S3C2410 | ||
352 | default USB_GADGET | ||
353 | select USB_GADGET_SELECTED | ||
354 | |||
355 | config USB_S3C2410_DEBUG | 280 | config USB_S3C2410_DEBUG |
356 | boolean "S3C2410 udc debug messages" | 281 | boolean "S3C2410 udc debug messages" |
357 | depends on USB_GADGET_S3C2410 | 282 | depends on USB_S3C2410 |
358 | 283 | ||
359 | config USB_GADGET_S3C_HSUDC | 284 | config USB_S3C_HSUDC |
360 | boolean "S3C2416, S3C2443 and S3C2450 USB Device Controller" | 285 | tristate "S3C2416, S3C2443 and S3C2450 USB Device Controller" |
361 | depends on ARCH_S3C2410 | 286 | depends on ARCH_S3C2410 |
362 | select USB_GADGET_DUALSPEED | 287 | select USB_GADGET_DUALSPEED |
363 | help | 288 | help |
@@ -367,41 +292,29 @@ config USB_GADGET_S3C_HSUDC | |||
367 | 292 | ||
368 | This driver has been tested on S3C2416 and S3C2450 processors. | 293 | This driver has been tested on S3C2416 and S3C2450 processors. |
369 | 294 | ||
370 | config USB_S3C_HSUDC | 295 | config USB_PXA_U2O |
371 | tristate | 296 | tristate "PXA9xx Processor USB2.0 controller" |
372 | depends on USB_GADGET_S3C_HSUDC | 297 | depends on ARCH_MMP |
373 | default USB_GADGET | ||
374 | select USB_GADGET_SELECTED | ||
375 | |||
376 | config USB_GADGET_PXA_U2O | ||
377 | boolean "PXA9xx Processor USB2.0 controller" | ||
378 | select USB_GADGET_DUALSPEED | 298 | select USB_GADGET_DUALSPEED |
379 | help | 299 | help |
380 | PXA9xx Processor series include a high speed USB2.0 device | 300 | PXA9xx Processor series include a high speed USB2.0 device |
381 | controller, which support high speed and full speed USB peripheral. | 301 | controller, which support high speed and full speed USB peripheral. |
382 | 302 | ||
383 | config USB_PXA_U2O | ||
384 | tristate | ||
385 | depends on USB_GADGET_PXA_U2O | ||
386 | default USB_GADGET | ||
387 | select USB_GADGET_SELECTED | ||
388 | |||
389 | # | 303 | # |
390 | # Controllers available in both integrated and discrete versions | 304 | # Controllers available in both integrated and discrete versions |
391 | # | 305 | # |
392 | 306 | ||
393 | # musb builds in ../musb along with host support | 307 | # musb builds in ../musb along with host support |
394 | config USB_GADGET_MUSB_HDRC | 308 | config USB_GADGET_MUSB_HDRC |
395 | boolean "Inventra HDRC USB Peripheral (TI, ADI, ...)" | 309 | tristate "Inventra HDRC USB Peripheral (TI, ADI, ...)" |
396 | depends on USB_MUSB_HDRC && (USB_MUSB_PERIPHERAL || USB_MUSB_OTG) | 310 | depends on USB_MUSB_HDRC && (USB_MUSB_PERIPHERAL || USB_MUSB_OTG) |
397 | select USB_GADGET_DUALSPEED | 311 | select USB_GADGET_DUALSPEED |
398 | select USB_GADGET_SELECTED | ||
399 | help | 312 | help |
400 | This OTG-capable silicon IP is used in dual designs including | 313 | This OTG-capable silicon IP is used in dual designs including |
401 | the TI DaVinci, OMAP 243x, OMAP 343x, TUSB 6010, and ADI Blackfin | 314 | the TI DaVinci, OMAP 243x, OMAP 343x, TUSB 6010, and ADI Blackfin |
402 | 315 | ||
403 | config USB_GADGET_M66592 | 316 | config USB_M66592 |
404 | boolean "Renesas M66592 USB Peripheral Controller" | 317 | tristate "Renesas M66592 USB Peripheral Controller" |
405 | select USB_GADGET_DUALSPEED | 318 | select USB_GADGET_DUALSPEED |
406 | help | 319 | help |
407 | M66592 is a discrete USB peripheral controller chip that | 320 | M66592 is a discrete USB peripheral controller chip that |
@@ -412,18 +325,12 @@ config USB_GADGET_M66592 | |||
412 | dynamically linked module called "m66592_udc" and force all | 325 | dynamically linked module called "m66592_udc" and force all |
413 | gadget drivers to also be dynamically linked. | 326 | gadget drivers to also be dynamically linked. |
414 | 327 | ||
415 | config USB_M66592 | ||
416 | tristate | ||
417 | depends on USB_GADGET_M66592 | ||
418 | default USB_GADGET | ||
419 | select USB_GADGET_SELECTED | ||
420 | |||
421 | # | 328 | # |
422 | # Controllers available only in discrete form (and all PCI controllers) | 329 | # Controllers available only in discrete form (and all PCI controllers) |
423 | # | 330 | # |
424 | 331 | ||
425 | config USB_GADGET_AMD5536UDC | 332 | config USB_AMD5536UDC |
426 | boolean "AMD5536 UDC" | 333 | tristate "AMD5536 UDC" |
427 | depends on PCI | 334 | depends on PCI |
428 | select USB_GADGET_DUALSPEED | 335 | select USB_GADGET_DUALSPEED |
429 | help | 336 | help |
@@ -437,14 +344,8 @@ config USB_GADGET_AMD5536UDC | |||
437 | dynamically linked module called "amd5536udc" and force all | 344 | dynamically linked module called "amd5536udc" and force all |
438 | gadget drivers to also be dynamically linked. | 345 | gadget drivers to also be dynamically linked. |
439 | 346 | ||
440 | config USB_AMD5536UDC | 347 | config USB_FSL_QE |
441 | tristate | 348 | tristate "Freescale QE/CPM USB Device Controller" |
442 | depends on USB_GADGET_AMD5536UDC | ||
443 | default USB_GADGET | ||
444 | select USB_GADGET_SELECTED | ||
445 | |||
446 | config USB_GADGET_FSL_QE | ||
447 | boolean "Freescale QE/CPM USB Device Controller" | ||
448 | depends on FSL_SOC && (QUICC_ENGINE || CPM) | 349 | depends on FSL_SOC && (QUICC_ENGINE || CPM) |
449 | help | 350 | help |
450 | Some of Freescale PowerPC processors have a Full Speed | 351 | Some of Freescale PowerPC processors have a Full Speed |
@@ -456,14 +357,8 @@ config USB_GADGET_FSL_QE | |||
456 | Set CONFIG_USB_GADGET to "m" to build this driver as a | 357 | Set CONFIG_USB_GADGET to "m" to build this driver as a |
457 | dynamically linked module called "fsl_qe_udc". | 358 | dynamically linked module called "fsl_qe_udc". |
458 | 359 | ||
459 | config USB_FSL_QE | 360 | config USB_CI13XXX_PCI |
460 | tristate | 361 | tristate "MIPS USB CI13xxx PCI UDC" |
461 | depends on USB_GADGET_FSL_QE | ||
462 | default USB_GADGET | ||
463 | select USB_GADGET_SELECTED | ||
464 | |||
465 | config USB_GADGET_CI13XXX_PCI | ||
466 | boolean "MIPS USB CI13xxx PCI UDC" | ||
467 | depends on PCI | 362 | depends on PCI |
468 | select USB_GADGET_DUALSPEED | 363 | select USB_GADGET_DUALSPEED |
469 | help | 364 | help |
@@ -474,14 +369,8 @@ config USB_GADGET_CI13XXX_PCI | |||
474 | dynamically linked module called "ci13xxx_udc" and force all | 369 | dynamically linked module called "ci13xxx_udc" and force all |
475 | gadget drivers to also be dynamically linked. | 370 | gadget drivers to also be dynamically linked. |
476 | 371 | ||
477 | config USB_CI13XXX_PCI | 372 | config USB_NET2272 |
478 | tristate | 373 | tristate "PLX NET2272" |
479 | depends on USB_GADGET_CI13XXX_PCI | ||
480 | default USB_GADGET | ||
481 | select USB_GADGET_SELECTED | ||
482 | |||
483 | config USB_GADGET_NET2272 | ||
484 | boolean "PLX NET2272" | ||
485 | select USB_GADGET_DUALSPEED | 374 | select USB_GADGET_DUALSPEED |
486 | help | 375 | help |
487 | PLX NET2272 is a USB peripheral controller which supports | 376 | PLX NET2272 is a USB peripheral controller which supports |
@@ -493,9 +382,9 @@ config USB_GADGET_NET2272 | |||
493 | dynamically linked module called "net2272" and force all | 382 | dynamically linked module called "net2272" and force all |
494 | gadget drivers to also be dynamically linked. | 383 | gadget drivers to also be dynamically linked. |
495 | 384 | ||
496 | config USB_GADGET_NET2272_DMA | 385 | config USB_NET2272_DMA |
497 | boolean "Support external DMA controller" | 386 | boolean "Support external DMA controller" |
498 | depends on USB_GADGET_NET2272 | 387 | depends on USB_NET2272 |
499 | help | 388 | help |
500 | The NET2272 part can optionally support an external DMA | 389 | The NET2272 part can optionally support an external DMA |
501 | controller, but your board has to have support in the | 390 | controller, but your board has to have support in the |
@@ -503,14 +392,8 @@ config USB_GADGET_NET2272_DMA | |||
503 | 392 | ||
504 | If unsure, say "N" here. The driver works fine in PIO mode. | 393 | If unsure, say "N" here. The driver works fine in PIO mode. |
505 | 394 | ||
506 | config USB_NET2272 | 395 | config USB_NET2280 |
507 | tristate | 396 | tristate "NetChip 228x" |
508 | depends on USB_GADGET_NET2272 | ||
509 | default USB_GADGET | ||
510 | select USB_GADGET_SELECTED | ||
511 | |||
512 | config USB_GADGET_NET2280 | ||
513 | boolean "NetChip 228x" | ||
514 | depends on PCI | 397 | depends on PCI |
515 | select USB_GADGET_DUALSPEED | 398 | select USB_GADGET_DUALSPEED |
516 | help | 399 | help |
@@ -525,14 +408,8 @@ config USB_GADGET_NET2280 | |||
525 | dynamically linked module called "net2280" and force all | 408 | dynamically linked module called "net2280" and force all |
526 | gadget drivers to also be dynamically linked. | 409 | gadget drivers to also be dynamically linked. |
527 | 410 | ||
528 | config USB_NET2280 | 411 | config USB_GOKU |
529 | tristate | 412 | tristate "Toshiba TC86C001 'Goku-S'" |
530 | depends on USB_GADGET_NET2280 | ||
531 | default USB_GADGET | ||
532 | select USB_GADGET_SELECTED | ||
533 | |||
534 | config USB_GADGET_GOKU | ||
535 | boolean "Toshiba TC86C001 'Goku-S'" | ||
536 | depends on PCI | 413 | depends on PCI |
537 | help | 414 | help |
538 | The Toshiba TC86C001 is a PCI device which includes controllers | 415 | The Toshiba TC86C001 is a PCI device which includes controllers |
@@ -545,14 +422,8 @@ config USB_GADGET_GOKU | |||
545 | dynamically linked module called "goku_udc" and to force all | 422 | dynamically linked module called "goku_udc" and to force all |
546 | gadget drivers to also be dynamically linked. | 423 | gadget drivers to also be dynamically linked. |
547 | 424 | ||
548 | config USB_GOKU | 425 | config USB_LANGWELL |
549 | tristate | 426 | tristate "Intel Langwell USB Device Controller" |
550 | depends on USB_GADGET_GOKU | ||
551 | default USB_GADGET | ||
552 | select USB_GADGET_SELECTED | ||
553 | |||
554 | config USB_GADGET_LANGWELL | ||
555 | boolean "Intel Langwell USB Device Controller" | ||
556 | depends on PCI | 427 | depends on PCI |
557 | select USB_GADGET_DUALSPEED | 428 | select USB_GADGET_DUALSPEED |
558 | help | 429 | help |
@@ -566,14 +437,8 @@ config USB_GADGET_LANGWELL | |||
566 | dynamically linked module called "langwell_udc" and force all | 437 | dynamically linked module called "langwell_udc" and force all |
567 | gadget drivers to also be dynamically linked. | 438 | gadget drivers to also be dynamically linked. |
568 | 439 | ||
569 | config USB_LANGWELL | 440 | config USB_EG20T |
570 | tristate | 441 | tristate "Intel EG20T PCH/OKI SEMICONDUCTOR ML7213 IOH UDC" |
571 | depends on USB_GADGET_LANGWELL | ||
572 | default USB_GADGET | ||
573 | select USB_GADGET_SELECTED | ||
574 | |||
575 | config USB_GADGET_EG20T | ||
576 | boolean "Intel EG20T PCH/OKI SEMICONDUCTOR ML7213 IOH UDC" | ||
577 | depends on PCI | 442 | depends on PCI |
578 | select USB_GADGET_DUALSPEED | 443 | select USB_GADGET_DUALSPEED |
579 | help | 444 | help |
@@ -594,14 +459,8 @@ config USB_GADGET_EG20T | |||
594 | ML7213 is companion chip for Intel Atom E6xx series. | 459 | ML7213 is companion chip for Intel Atom E6xx series. |
595 | ML7213 is completely compatible for Intel EG20T PCH. | 460 | ML7213 is completely compatible for Intel EG20T PCH. |
596 | 461 | ||
597 | config USB_EG20T | 462 | config USB_CI13XXX_MSM |
598 | tristate | 463 | tristate "MIPS USB CI13xxx for MSM" |
599 | depends on USB_GADGET_EG20T | ||
600 | default USB_GADGET | ||
601 | select USB_GADGET_SELECTED | ||
602 | |||
603 | config USB_GADGET_CI13XXX_MSM | ||
604 | boolean "MIPS USB CI13xxx for MSM" | ||
605 | depends on ARCH_MSM | 464 | depends on ARCH_MSM |
606 | select USB_GADGET_DUALSPEED | 465 | select USB_GADGET_DUALSPEED |
607 | select USB_MSM_OTG | 466 | select USB_MSM_OTG |
@@ -617,18 +476,12 @@ config USB_GADGET_CI13XXX_MSM | |||
617 | dynamically linked module called "ci13xxx_msm" and force all | 476 | dynamically linked module called "ci13xxx_msm" and force all |
618 | gadget drivers to also be dynamically linked. | 477 | gadget drivers to also be dynamically linked. |
619 | 478 | ||
620 | config USB_CI13XXX_MSM | ||
621 | tristate | ||
622 | depends on USB_GADGET_CI13XXX_MSM | ||
623 | default USB_GADGET | ||
624 | select USB_GADGET_SELECTED | ||
625 | |||
626 | # | 479 | # |
627 | # LAST -- dummy/emulated controller | 480 | # LAST -- dummy/emulated controller |
628 | # | 481 | # |
629 | 482 | ||
630 | config USB_GADGET_DUMMY_HCD | 483 | config USB_DUMMY_HCD |
631 | boolean "Dummy HCD (DEVELOPMENT)" | 484 | tristate "Dummy HCD (DEVELOPMENT)" |
632 | depends on USB=y || (USB=m && USB_GADGET=m) | 485 | depends on USB=y || (USB=m && USB_GADGET=m) |
633 | select USB_GADGET_DUALSPEED | 486 | select USB_GADGET_DUALSPEED |
634 | select USB_GADGET_SUPERSPEED | 487 | select USB_GADGET_SUPERSPEED |
@@ -638,11 +491,11 @@ config USB_GADGET_DUMMY_HCD | |||
638 | side is the master; the gadget side is the slave. Gadget drivers | 491 | side is the master; the gadget side is the slave. Gadget drivers |
639 | can be high, full, or low speed; and they have access to endpoints | 492 | can be high, full, or low speed; and they have access to endpoints |
640 | like those from NET2280, PXA2xx, or SA1100 hardware. | 493 | like those from NET2280, PXA2xx, or SA1100 hardware. |
641 | 494 | ||
642 | This may help in some stages of creating a driver to embed in a | 495 | This may help in some stages of creating a driver to embed in a |
643 | Linux device, since it lets you debug several parts of the gadget | 496 | Linux device, since it lets you debug several parts of the gadget |
644 | driver without its hardware or drivers being involved. | 497 | driver without its hardware or drivers being involved. |
645 | 498 | ||
646 | Since such a gadget side driver needs to interoperate with a host | 499 | Since such a gadget side driver needs to interoperate with a host |
647 | side Linux-USB device driver, this may help to debug both sides | 500 | side Linux-USB device driver, this may help to debug both sides |
648 | of a USB protocol stack. | 501 | of a USB protocol stack. |
@@ -651,12 +504,6 @@ config USB_GADGET_DUMMY_HCD | |||
651 | dynamically linked module called "dummy_hcd" and force all | 504 | dynamically linked module called "dummy_hcd" and force all |
652 | gadget drivers to also be dynamically linked. | 505 | gadget drivers to also be dynamically linked. |
653 | 506 | ||
654 | config USB_DUMMY_HCD | ||
655 | tristate | ||
656 | depends on USB_GADGET_DUMMY_HCD | ||
657 | default USB_GADGET | ||
658 | select USB_GADGET_SELECTED | ||
659 | |||
660 | # NOTE: Please keep dummy_hcd LAST so that "real hardware" appears | 507 | # NOTE: Please keep dummy_hcd LAST so that "real hardware" appears |
661 | # first and will be selected by default. | 508 | # first and will be selected by default. |
662 | 509 | ||
@@ -678,7 +525,7 @@ config USB_GADGET_SUPERSPEED | |||
678 | # | 525 | # |
679 | choice | 526 | choice |
680 | tristate "USB Gadget Drivers" | 527 | tristate "USB Gadget Drivers" |
681 | depends on USB_GADGET && USB_GADGET_SELECTED | 528 | depends on USB_GADGET |
682 | default USB_ETH | 529 | default USB_ETH |
683 | help | 530 | help |
684 | A Linux "Gadget Driver" talks to the USB Peripheral Controller | 531 | A Linux "Gadget Driver" talks to the USB Peripheral Controller |