usb: gadget: bcm63xx_udc: fix build failure on DMA channel code
authorFlorian Fainelli <florian@openwrt.org>
Tue, 14 Jan 2014 23:36:29 +0000 (15:36 -0800)
committerFelipe Balbi <balbi@ti.com>
Tue, 18 Feb 2014 16:34:54 +0000 (10:34 -0600)
commit2d1f7af3d60dd09794e0738a915d272c6c27abc5
tree3611ea2f5e0937c8f8c12d1715c2ee4e14f63b9b
parent30d361bf0f81ece8de42c5e0a4e560270ad72b65
usb: gadget: bcm63xx_udc: fix build failure on DMA channel code

Commit 3dc6475 ("bcm63xx_enet: add support Broadcom BCM6345 Ethernet")
changed the ENETDMA[CS] macros such that they are no longer macros, but
actual register offset definitions. The bcm63xx_udc driver was not
updated, and as a result, causes the following build error to pop up:

 CC      drivers/usb/gadget/u_ether.o
drivers/usb/gadget/bcm63xx_udc.c: In function 'iudma_write':
drivers/usb/gadget/bcm63xx_udc.c:642:24: error: called object '0' is not
a function
drivers/usb/gadget/bcm63xx_udc.c: In function 'iudma_reset_channel':
drivers/usb/gadget/bcm63xx_udc.c:698:46: error: called object '0' is not
a function
drivers/usb/gadget/bcm63xx_udc.c:700:49: error: called object '0' is not
a function

Fix this by updating usb_dmac_{read,write}l and usb_dmas_{read,write}l to
take an extra channel argument, and use the channel width
(ENETDMA_CHAN_WIDTH) to offset the register we want to access, hence
doing again what the macro implicitely did for us.

Cc: Kevin Cernekee <cernekee@gmail.com>
Cc: Jonas Gorski <jogo@openwrt.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/bcm63xx_udc.c