Commit e7cfb390 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Greg Kroah-Hartman

staging/emxx_udc: fix 64-bit warnings

ARCH_SHMOBILE is coming to arm64, which creates new warnings in allmodconfig:

drivers/staging/emxx_udc/emxx_udc.c: In function '_nbu2ss_out_dma':
drivers/staging/emxx_udc/emxx_udc.c:843:45: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  _nbu2ss_writel(&preg->EP_DCR[num].EP_TADR, (u32)pBuffer);

This is clearly a mistake from confusing a dma_addr_t with a pointer,
so the fix is to use the correct types in two places.

The third warning of this kind is a check for an unaligned pointer,
which should be done by casting the pointer to uintptr_t, not int.
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f6e9b914
...@@ -823,7 +823,7 @@ static int _nbu2ss_out_dma( ...@@ -823,7 +823,7 @@ static int _nbu2ss_out_dma(
u32 length u32 length
) )
{ {
u8 *pBuffer; dma_addr_t pBuffer;
u32 mpkt; u32 mpkt;
u32 lmpkt; u32 lmpkt;
u32 dmacnt; u32 dmacnt;
...@@ -836,7 +836,7 @@ static int _nbu2ss_out_dma( ...@@ -836,7 +836,7 @@ static int _nbu2ss_out_dma(
return 1; /* DMA is forwarded */ return 1; /* DMA is forwarded */
req->dma_flag = TRUE; req->dma_flag = TRUE;
pBuffer = (u8 *)req->req.dma; pBuffer = req->req.dma;
pBuffer += req->req.actual; pBuffer += req->req.actual;
/* DMA Address */ /* DMA Address */
...@@ -1034,7 +1034,7 @@ static int _nbu2ss_in_dma( ...@@ -1034,7 +1034,7 @@ static int _nbu2ss_in_dma(
u32 length u32 length
) )
{ {
u8 *pBuffer; dma_addr_t pBuffer;
u32 mpkt; /* MaxPacketSize */ u32 mpkt; /* MaxPacketSize */
u32 lmpkt; /* Last Packet Data Size */ u32 lmpkt; /* Last Packet Data Size */
u32 dmacnt; /* IN Data Size */ u32 dmacnt; /* IN Data Size */
...@@ -1080,7 +1080,7 @@ static int _nbu2ss_in_dma( ...@@ -1080,7 +1080,7 @@ static int _nbu2ss_in_dma(
_nbu2ss_writel(&preg->EP_DCR[num].EP_DCR2, data); _nbu2ss_writel(&preg->EP_DCR[num].EP_DCR2, data);
/* Address setting */ /* Address setting */
pBuffer = (u8 *)req->req.dma; pBuffer = req->req.dma;
pBuffer += req->req.actual; pBuffer += req->req.actual;
_nbu2ss_writel(&preg->EP_DCR[num].EP_TADR, (u32)pBuffer); _nbu2ss_writel(&preg->EP_DCR[num].EP_TADR, (u32)pBuffer);
...@@ -2728,7 +2728,7 @@ static int nbu2ss_ep_queue( ...@@ -2728,7 +2728,7 @@ static int nbu2ss_ep_queue(
spin_lock_irqsave(&udc->lock, flags); spin_lock_irqsave(&udc->lock, flags);
#ifdef USE_DMA #ifdef USE_DMA
if ((u32)req->req.buf & 0x3) if ((uintptr_t)req->req.buf & 0x3)
req->unaligned = TRUE; req->unaligned = TRUE;
else else
req->unaligned = FALSE; req->unaligned = FALSE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment