[PATCH/RFC] usb: gadget: CONFIG_USB_S3C_HSOTG should depend on HAS_DMA

From: Geert Uytterhoeven
Date: Tue May 06 2014 - 08:49:27 EST


If NO_DMA=y:

drivers/built-in.o: In function `s3c_hsotg_map_dma':
s3c-hsotg.c:(.text+0x375b2c): undefined reference to `usb_gadget_map_request'
drivers/built-in.o: In function `s3c_hsotg_unmap_dma':
s3c-hsotg.c:(.text+0x376a32): undefined reference to `usb_gadget_unmap_request'
make[3]: *** [vmlinux] Error 1

Note that all callers of s3c_hsotg_map_dma()/s3c_hsotg_unmap_dma() are
protected by a call into the using_dma() checking function:

static inline bool using_dma(struct s3c_hsotg *hsotg)
{
return false; /* support is not complete */
}

but not all versions of gcc manage to optimize the check away, causing a
link error.

Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
---
Perhaps the DMA code should be removed completely, as its unused, or be
protected by #ifdef CONFIG_HAS_DMA instead?

drivers/usb/gadget/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
index 3557c7e5040d..0e9dead51a27 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -302,6 +302,7 @@ config USB_PXA27X

config USB_S3C_HSOTG
tristate "Designware/S3C HS/OtG USB Device controller"
+ depends on HAS_DMA
help
The Designware USB2.0 high-speed gadget controller
integrated into many SoCs.
--
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/