diff --git a/package/kernel/modules/usb.mk b/package/kernel/modules/usb.mk
index fa83d91c0613731d5f6e0338d8b53677d22a9e09..4e441915f12fd958923b085ed2bbb7dc4feb0379 100644
--- a/package/kernel/modules/usb.mk
+++ b/package/kernel/modules/usb.mk
@@ -38,6 +38,7 @@ define KernelPackage/usb-gadget
   KCONFIG:=CONFIG_USB_GADGET
   FILES:=
   AUTOLOAD:=
+  DEPENDS:=@USB_GADGET_SUPPORT
   $(call AddDepends/usb)
 endef
 
diff --git a/scripts/metadata.pl b/scripts/metadata.pl
index 63809c496d6c66c055b06f3c2da45b5f8fbb4105..7902dec3efb90063bc01e29f70d8cbb909b9ef71 100755
--- a/scripts/metadata.pl
+++ b/scripts/metadata.pl
@@ -158,6 +158,7 @@ sub target_config_features(@) {
 		/pci/ and $ret .= "\tselect PCI_SUPPORT\n";
 		/pcie/ and $ret .= "\tselect PCIE_SUPPORT\n";
 		/usb/ and $ret .= "\tselect USB_SUPPORT\n";
+		/usbgadget/ and $ret .= "\tselect USB_GADGET_SUPPORT\n";
 		/pcmcia/ and $ret .= "\tselect PCMCIA_SUPPORT\n";
 		/squashfs/ and $ret .= "\tselect USES_SQUASHFS\n";
 		/jffs2/ and $ret .= "\tselect USES_JFFS2\n";
diff --git a/target/Config.in b/target/Config.in
index 48fd827326b35073c7bde0f94bfa8a9b216661f5..21cc3a476f26f12f74c0d43ec793ef038d6db999 100644
--- a/target/Config.in
+++ b/target/Config.in
@@ -34,6 +34,9 @@ config USB_SUPPORT
 	select AUDIO_SUPPORT
 	bool
 
+config USB_GADGET_SUPPORT
+	bool
+
 config BIG_ENDIAN
 	bool
 
diff --git a/target/linux/omap24xx/Makefile b/target/linux/omap24xx/Makefile
index 81b59a822b3511dafae70eb74652aaa3126a18fe..901d24b5d1c0d57db23019b484c15ad3cd780897 100644
--- a/target/linux/omap24xx/Makefile
+++ b/target/linux/omap24xx/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=arm
 BOARD:=omap24xx
 BOARDNAME:=TI OMAP-24xx
-FEATURES:=squashfs jffs2
+FEATURES:=squashfs jffs2 usb usbgadget
 
 LINUX_VERSION:=2.6.35.3