special usb hub handling, IDE disks, and retries all over the place
[linux-2.4.git] / drivers / usb / gadget / Config.in
1 #
2 # USB device-side configuration
3 # for 2.4 kbuild, drivers/usb/gadget/Config.in
4 #
5 # Long term, this likely doesn't all belong in one directory
6 # Plan to split it up eventually.
7 #
8 mainmenu_option next_comment
9 comment 'Support for USB gadgets'
10
11 tristate 'Support for USB Gadgets' CONFIG_USB_GADGET
12 if [ "$CONFIG_USB_GADGET" = "y" -o "$CONFIG_USB_GADGET" = "m" ]; then
13   
14   #
15   # really want _exactly one_ device controller driver at a time,
16   # since they control compile options for gadget drivers.
17   #
18   choice 'USB Peripheral Controller Driver' "\
19         NetChip-2280                    CONFIG_USB_GADGET_NET2280 \
20         Toshiba-TC86C001(Goku-S)        CONFIG_USB_GADGET_GOKU \
21         " NetChip-2280
22
23   define_tristate CONFIG_USB_GADGET_CONTROLLER n
24
25   if [ "$CONFIG_PCI" = "y" -a "$CONFIG_USB_GADGET_NET2280" = "y" ] ; then
26     define_tristate CONFIG_USB_NET2280 $CONFIG_USB_GADGET
27     define_tristate CONFIG_USB_GADGET_CONTROLLER $CONFIG_USB_NET2280
28   fi
29   if [ "$CONFIG_PCI" = "y" -a "$CONFIG_USB_GADGET_GOKU" = "y" ] ; then
30     define_tristate CONFIG_USB_GOKU $CONFIG_USB_GADGET
31     define_tristate CONFIG_USB_GADGET_CONTROLLER $CONFIG_USB_GOKU
32   fi
33
34   # or any other controller that supports high speed transfers ...
35   define_bool CONFIG_USB_GADGET_DUALSPEED $CONFIG_USB_GADGET_NET2280
36
37   if [ "$CONFIG_USB_GADGET_CONTROLLER" = "y" -o "$CONFIG_USB_GADGET_CONTROLLER" = "m" ] ; then
38
39   #
40   # no reason not to enable more than one gadget driver module, but
41   # for static linking that would make no sense since the usb model
42   # has exactly one of these upstream connections and only one
43   # lowest-level driver can control it.
44   #
45   # gadget drivers are compiled to work on specific hardware, since
46   #
47   # (a) gadget driver need hardware-specific configuration, like what
48   #     endpoint names and numbers to use, maxpacket sizes, etc
49   #
50   # (b) specific hardware features like iso endpoints may be required
51   #
52   comment 'USB Gadget Drivers'
53
54   dep_tristate '  Gadget Zero (DEVELOPMENT)' CONFIG_USB_ZERO $CONFIG_USB_GADGET_CONTROLLER
55   dep_tristate '  Ethernet Gadget' CONFIG_USB_ETH $CONFIG_USB_GADGET_CONTROLLER $CONFIG_NET
56   if [ "$CONFIG_USB_ETH" = "y" -o "$CONFIG_USB_ETH" = "m" ] ; then
57     dep_bool       '    RNDIS support (EXPERIMENTAL)' CONFIG_USB_ETH_RNDIS $CONFIG_EXPERIMENTAL
58   fi
59   dep_tristate '  File-backed Storage Gadget (DEVELOPMENT)' CONFIG_USB_FILE_STORAGE $CONFIG_USB_GADGET_CONTROLLER
60   dep_mbool '    File-backed Storage Gadget test mode' CONFIG_USB_FILE_STORAGE_TEST $CONFIG_USB_FILE_STORAGE
61   
62
63     # enforce the "only one statically linked gadget driver" rule
64
65     if [ "$CONFIG_USB_ZERO" = "y" ]; then
66       # zero = y
67       define_tristate CONFIG_USB_ETH n
68       define_tristate CONFIG_USB_FILE_STORAGE n
69     fi
70
71     if [ "$CONFIG_USB_ETH" = "y" ]; then
72       define_tristate CONFIG_USB_ZERO n
73       # eth = y
74       define_tristate CONFIG_USB_FILE_STORAGE n
75     fi
76
77     if [ "$CONFIG_USB_FILE_STORAGE" = "y" ]; then
78       define_tristate CONFIG_USB_ZERO n
79       define_tristate CONFIG_USB_ETH n
80       # file_storage = y
81     fi
82   fi
83 fi
84 endmenu