dfu: Fix up the Kconfig mess

Clean up the screaming mess of configuration options that DFU is.
It was impossible to configure DFU such that TFTP is enabled and
USB is not, this patch fixes that and assures that DFU TFTP and
DFU USB can be enabled separatelly and that the correct pieces
of code are compiled in.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Lukasz Majewski <lukma@denx.de>
diff --git a/drivers/dfu/Kconfig b/drivers/dfu/Kconfig
index fa27efb..b077444 100644
--- a/drivers/dfu/Kconfig
+++ b/drivers/dfu/Kconfig
@@ -1,12 +1,22 @@
 menu "DFU support"
 
+config DFU
+	bool
+	imply USB_FUNCTION_DFU if USB_GADGET
+
 config USB_FUNCTION_DFU
 	bool
 	select HASH
+	depends on USB_GADGET
 
-if CMD_DFU
+config TFTP_FUNCTION_DFU
+	bool
+	depends on NET
+
+if DFU
 config DFU_TFTP
 	bool "DFU via TFTP"
+	select TFTP_FUNCTION_DFU
 	help
 	  This option allows performing update of DFU-managed medium with data
 	  sent via TFTP boot.