[PATCH 0/1] musb: sunxi: Make sunxi musb glue work without MUSB_PIO_ONLY

STALE3968d

2 messages, 1 author, 2015-09-20 · open the first message on its own page

[PATCH 0/1] musb: sunxi: Make sunxi musb glue work without MUSB_PIO_ONLY

From: Hans de Goede <hidden>
Date: 2015-09-20 21:02:18

Hi,

Here is a patch to fix the sunxi musb glue not working when MUSB_PIO_ONLY
is not set in the kernel config.

Since the sunxi musb glue was just merged for 4.3, it would be nice if
this bugfix could be added to 4.3 too, without this distro's will be
unable to enable dma with musb and have working sunxi musb support.

Thanks & Regards,

Hans

[PATCH] musb: sunxi: Make sunxi musb glue work without MUSB_PIO_ONLY

From: Hans de Goede <hidden>
Date: 2015-09-20 21:02:19

Now that it is possible to build in multiple dma engines, we can no longer
require MUSB_PIO_ONLY to be set when using the sunxi musb glue.

This patch adds dummy dma hooks to make the musb glue work without
MUSB_PIO_ONLY. This hooks are fake because we do not support dma with
musb on sunxi. The Allwinnner Android kernels have some dma code, but it
is disabled as Allwinner never managed to get it to work.

Signed-off-by: Hans de Goede <redacted>
---
 drivers/usb/musb/sunxi.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)
diff --git a/drivers/usb/musb/sunxi.c b/drivers/usb/musb/sunxi.c
index 34ce5df..7b572f9 100644
--- a/drivers/usb/musb/sunxi.c
+++ b/drivers/usb/musb/sunxi.c
@@ -345,6 +345,16 @@ static void sunxi_musb_disable(struct musb *musb)
 	clear_bit(SUNXI_MUSB_FL_ENABLED, &glue->flags);
 }
 
+struct dma_controller *sunxi_musb_dma_controller_create(struct musb *musb,
+						    void __iomem *base)
+{
+	return NULL;
+}
+
+void sunxi_musb_dma_controller_destroy(struct dma_controller *c)
+{
+}
+
 /*
  * sunxi musb register layout
  * 0x00 - 0x17	fifo regs, 1 long per fifo
@@ -570,6 +580,8 @@ static const struct musb_platform_ops sunxi_musb_ops = {
 	.writeb		= sunxi_musb_writeb,
 	.readw		= sunxi_musb_readw,
 	.writew		= sunxi_musb_writew,
+	.dma_init	= sunxi_musb_dma_controller_create,
+	.dma_exit	= sunxi_musb_dma_controller_destroy,
 	.set_vbus	= sunxi_musb_set_vbus,
 	.pre_root_reset_end = sunxi_musb_pre_root_reset_end,
 	.post_root_reset_end = sunxi_musb_post_root_reset_end,
-- 
2.4.3
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help