driver on a new board.   Enable these files by choosing "Y"
           here.  If in doubt, or to conserve kernel memory, say "N".
 
+config USB_GADGET_SELECTED
+       boolean
+
 #
 # USB Peripheral Controller Support
 #
        tristate
        depends on USB_GADGET_NET2280
        default USB_GADGET
+       select USB_GADGET_SELECTED
 
 config USB_GADGET_PXA2XX
        boolean "PXA 25x or IXP 4xx"
        tristate
        depends on USB_GADGET_PXA2XX
        default USB_GADGET
+       select USB_GADGET_SELECTED
 
 # if there's only one gadget driver, using only two bulk endpoints,
 # don't waste memory for the other endpoints
        tristate
        depends on USB_GADGET_GOKU
        default USB_GADGET
+       select USB_GADGET_SELECTED
 
 
 config USB_GADGET_LH7A40X
        tristate
        depends on USB_GADGET_LH7A40X
        default USB_GADGET
+       select USB_GADGET_SELECTED
 
 
 config USB_GADGET_OMAP
        tristate
        depends on USB_GADGET_OMAP
        default USB_GADGET
+       select USB_GADGET_SELECTED
 
 config USB_OTG
        boolean "OTG Support"
        tristate
        depends on USB_GADGET_DUMMY_HCD
        default USB_GADGET
+       select USB_GADGET_SELECTED
 
 # NOTE:  Please keep dummy_hcd LAST so that "real hardware" appears
 # first and will be selected by default.
 #
 choice
        tristate "USB Gadget Drivers"
-       depends on USB_GADGET
+       depends on USB_GADGET && USB_GADGET_SELECTED
        default USB_ETH
        help
          A Linux "Gadget Driver" talks to the USB Peripheral Controller