Browse Source

usb: renesas_usbhs: add a new macro for extending DnFIFOs

To extend DnFIFOs in the future, this patch adds a new macro because
some SoCs don't the "port" address for DnFIFOs.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Yoshihiro Shimoda 10 years ago
parent
commit
53e734b1ec
1 changed files with 7 additions and 2 deletions
  1. 7 2
      drivers/usb/renesas_usbhs/fifo.c

+ 7 - 2
drivers/usb/renesas_usbhs/fifo.c

@@ -1201,11 +1201,11 @@ void usbhs_fifo_quit(struct usbhs_priv *priv)
 	mod->irq_brdysts	= 0;
 }
 
-#define USBHS_DFIFO_INIT(priv, fifo, channel)				\
+#define __USBHS_DFIFO_INIT(priv, fifo, channel, fifo_port)		\
 do {									\
 	fifo = usbhsf_get_dnfifo(priv, channel);			\
 	fifo->name	= "D"#channel"FIFO";				\
-	fifo->port	= D##channel##FIFO;				\
+	fifo->port	= fifo_port;					\
 	fifo->sel	= D##channel##FIFOSEL;				\
 	fifo->ctr	= D##channel##FIFOCTR;				\
 	fifo->tx_slave.shdma_slave.slave_id =				\
@@ -1215,6 +1215,11 @@ do {									\
 	usbhsf_dma_init(priv, fifo);					\
 } while (0)
 
+#define USBHS_DFIFO_INIT(priv, fifo, channel)				\
+		__USBHS_DFIFO_INIT(priv, fifo, channel, D##channel##FIFO)
+#define USBHS_DFIFO_INIT_NO_PORT(priv, fifo, channel)			\
+		__USBHS_DFIFO_INIT(priv, fifo, channel, 0)
+
 int usbhs_fifo_probe(struct usbhs_priv *priv)
 {
 	struct usbhs_fifo *fifo;