usb: musb: Fix format specifier warning
PATCH 1/1 usb: musb: Fix format specifier warning
This patch fixes a format specifier warning. dma_addr_t can be either u32 or u64 so we should cast to the largest type and change the format specifier to %llx.
The addition of urb->transfer_dma and urb->actual_length is also done a few lines below. I have moved this code up and pass the variable buf to dev_dbg.
Sparse output:drivers/usb/musb/musb_host.c:1761:4: warning:
format ‘%x’ expects argument of type ‘unsigned int’, but argument 6 has type ‘dma_addr_t’ [-Wformat]
--- drivers/usb/musb/musb_host.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-)
drivers/usb/musb/musb_host.c +4 -7
@@ -1756,11 +1756,11 @@ void musb_host_rx(struct musb *musb, u8 epnum)dma_addr_t buf; rx_count =musb_readw (epio,MUSB_RXCOUNT ); + buf = urb->transfer_dma + urb->actual_length; -dev_dbg (musb->controller,"RX%d count %d, buffer 0x%x len %d/%d\n" , +dev_dbg (musb->controller,"RX%d count %d, buffer 0x%llx len %d/%d\n" , epnum, rx_count, - urb->transfer_dma - + urb->actual_length, + (unsigned long long )buf, qh->offset, urb->transfer_buffer_length);
@@ -1789,11 +1789,8 @@ void musb_host_rx(struct musb *musb, u8 epnum) length = rx_count; d->status = d_status; buf = urb->transfer_dma + d->offset; - }else { + }else length = rx_count; - buf = urb->transfer_dma + - urb->actual_length; - } dma->desired_mode =0 ;#ifdef USE_MODE1
Signature · 1 line
1.7.10.4
Hello.
Quoted 21 lines · Emil Goode
This patch fixes a format specifier warning.
dma_addr_tcan be either u32 or u64 so we should cast to the largest type and change the format specifier to %llx.
The addition ofurb->transfer_dmaandurb->actual_lengthis also done a few lines below. I have moved this code up and pass the variable buf todev_dbg.Sparse output:
drivers/usb/musb/musb_host.c:1761:4: warning:
format ‘%x’ expects argument of type ‘unsigned int’, but argument 6 has type ‘dma_addr_t’ [-Wformat]Signed-off-by Emil Goode <[email protected]>--- drivers/usb/musb/musb_host.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-)drivers/usb/musb/musb_host.c +0
-0
[...]
drivers/usb/musb/musb_host.c void musb_host_rx(struct musb *musb, u8 epnum) · line 1792
Quoted 6 lines
drivers/usb/musb/musb_host.c +1
-1@@ -1789,11 +1789,8 @@ void musb_host_rx(struct musb *musb, u8 epnum) length = rx_count; d->status = d_status; buf = urb->transfer_dma + d->offset; - }else { + }else
You should keep {} on the *else* branch since *if* branch has {},
according to Documentation/CodingStyle.
drivers/usb/musb/musb_host.c void musb_host_rx(struct musb *musb, u8 epnum) · line 1796
Quoted 4 lines
drivers/usb/musb/musb_host.c +0
-3length = rx_count; - buf = urb->transfer_dma + - urb->actual_length; - }
WBR, Sergei
Quoted 3 lines · Emil Goode
This patch fixes a format specifier warning.
dma_addr_tcan be either u32 or u64 so we should cast to the largest type and change the format specifier to %llx.
dma_addr_t is derived from phys_addr_t, thus you may use %pa specifier which is available from v3.8(?).
Something like this:dma_addr_t src_addr;dev_dbg(dev, "DMA addr: %pa\n", src_addr);
--
With Best Regards,
Andy Shevchenko
Quoted 11 lines · Andy Shevchenko
Quoted 3 lines · Emil Goode
This patch fixes a format specifier warning.
dma_addr_tcan be either u32 or u64 so we should cast to the largest type and change the format specifier to %llx.
dma_addr_tis derived fromphys_addr_t, thus you may use %pa specifier which is available from v3.8(?).Something like this:
dma_addr_tsrc_addr;dev_dbg(dev, "DMA addr: %pa\n", src_addr);
Isn't that:
deb_dbg(dev, "DMA addr: %pa\n", &src_addr);
Signature · 1 line
~Randy
Quoted 9 lines · Randy Dunlap
Quoted 8 lines · Andy Shevchenko
Quoted 3 lines · Emil Goode
This patch fixes a format specifier warning.
dma_addr_tcan be either u32 or u64 so we should cast to the largest type and change the format specifier to %llx.
dma_addr_tis derived fromphys_addr_t, thus you may use %pa specifier which is available from v3.8(?).
Quoted 7 lines
Quoted 3 lines
Something like this:
dma_addr_tsrc_addr;dev_dbg(dev, "DMA addr: %pa\n", src_addr);Isn't that:
deb_dbg(dev, "DMA addr: %pa\n", &src_addr);
It's.
You are right.
--
With Best Regards,
Andy Shevchenko
Hello,
Thank's for your pointers.
I will send a patch that applies on top of Felipe's patch.
Best regards,
Emil Goode
Quoted 24 lines · Andy Shevchenko
Quoted 9 lines · Randy Dunlap
Quoted 8 lines · Andy Shevchenko
Quoted 3 lines · Emil Goode
This patch fixes a format specifier warning.
dma_addr_tcan be either u32 or u64 so we should cast to the largest type and change the format specifier to %llx.
dma_addr_tis derived fromphys_addr_t, thus you may use %pa specifier which is available from v3.8(?).Quoted 7 lines
Quoted 3 lines
Something like this:
dma_addr_tsrc_addr;dev_dbg(dev, "DMA addr: %pa\n", src_addr);Isn't that:
deb_dbg(dev, "DMA addr: %pa\n", &src_addr);It's.
You are right.--
With Best Regards,
Andy Shevchenko
Quoted 2 lines · Emil Goode
Thank's for your pointers.
I will send a patch that applies on top of Felipe's patch.
I guess there is not much sense to do that since Felipe applied your patch already. Just keep in mind the hint for future changes.
--
With Best Regards,
Andy Shevchenko