2019-10-15 15:09:04

by Ben Dooks

[permalink] [raw]
Subject: [PATCH] USB: musb: fix __iomem in trace functions

The trace functions should have __iomem on the addr
pointers. Add __iomem to avoid the following warnings
from sparse:

drivers/usb/musb/musb_core.c:253:55: warning: incorrect type in argument 2 (different address spaces)
drivers/usb/musb/musb_core.c:253:55: expected void const *addr
drivers/usb/musb/musb_core.c:253:55: got void const [noderef] <asn:2> *addr
drivers/usb/musb/musb_core.c:259:56: warning: incorrect type in argument 2 (different address spaces)
drivers/usb/musb/musb_core.c:259:56: expected void const *addr
drivers/usb/musb/musb_core.c:259:56: got void [noderef] <asn:2> *addr
drivers/usb/musb/musb_core.c:267:55: warning: incorrect type in argument 2 (different address spaces)
drivers/usb/musb/musb_core.c:267:55: expected void const *addr
drivers/usb/musb/musb_core.c:267:55: got void const [noderef] <asn:2> *addr
drivers/usb/musb/musb_core.c:273:56: warning: incorrect type in argument 2 (different address spaces)
drivers/usb/musb/musb_core.c:273:56: expected void const *addr
drivers/usb/musb/musb_core.c:273:56: got void [noderef] <asn:2> *addr
drivers/usb/musb/musb_core.c:383:55: warning: incorrect type in argument 2 (different address spaces)
drivers/usb/musb/musb_core.c:383:55: expected void const *addr
drivers/usb/musb/musb_core.c:383:55: got void const [noderef] <asn:2> *addr
drivers/usb/musb/musb_core.c:390:56: warning: incorrect type in argument 2 (different address spaces)
drivers/usb/musb/musb_core.c:390:56: expected void const *addr
drivers/usb/musb/musb_core.c:390:56: got void [noderef] <asn:2> *addr

Signed-off-by: Ben Dooks <[email protected]>
---
Cc: Bin Liu <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: [email protected]
Cc: [email protected]
---
drivers/usb/musb/musb_trace.h | 33 +++++++++++++++++++++------------
1 file changed, 21 insertions(+), 12 deletions(-)

diff --git a/drivers/usb/musb/musb_trace.h b/drivers/usb/musb/musb_trace.h
index a97d618fe8ff..b193daf69685 100644
--- a/drivers/usb/musb/musb_trace.h
+++ b/drivers/usb/musb/musb_trace.h
@@ -38,11 +38,12 @@ TRACE_EVENT(musb_log,
);

DECLARE_EVENT_CLASS(musb_regb,
- TP_PROTO(void *caller, const void *addr, unsigned int offset, u8 data),
+ TP_PROTO(void *caller, const void __iomem *addr,
+ unsigned int offset, u8 data),
TP_ARGS(caller, addr, offset, data),
TP_STRUCT__entry(
__field(void *, caller)
- __field(const void *, addr)
+ __field(const void __iomem *, addr)
__field(unsigned int, offset)
__field(u8, data)
),
@@ -57,21 +58,24 @@ DECLARE_EVENT_CLASS(musb_regb,
);

DEFINE_EVENT(musb_regb, musb_readb,
- TP_PROTO(void *caller, const void *addr, unsigned int offset, u8 data),
+ TP_PROTO(void *caller, const void __iomem *addr,
+ unsigned int offset, u8 data),
TP_ARGS(caller, addr, offset, data)
);

DEFINE_EVENT(musb_regb, musb_writeb,
- TP_PROTO(void *caller, const void *addr, unsigned int offset, u8 data),
+ TP_PROTO(void *caller, const void __iomem *addr,
+ unsigned int offset, u8 data),
TP_ARGS(caller, addr, offset, data)
);

DECLARE_EVENT_CLASS(musb_regw,
- TP_PROTO(void *caller, const void *addr, unsigned int offset, u16 data),
+ TP_PROTO(void *caller, const void __iomem *addr,
+ unsigned int offset, u16 data),
TP_ARGS(caller, addr, offset, data),
TP_STRUCT__entry(
__field(void *, caller)
- __field(const void *, addr)
+ __field(const void __iomem *, addr)
__field(unsigned int, offset)
__field(u16, data)
),
@@ -86,21 +90,24 @@ DECLARE_EVENT_CLASS(musb_regw,
);

DEFINE_EVENT(musb_regw, musb_readw,
- TP_PROTO(void *caller, const void *addr, unsigned int offset, u16 data),
+ TP_PROTO(void *caller, const void __iomem *addr,
+ unsigned int offset, u16 data),
TP_ARGS(caller, addr, offset, data)
);

DEFINE_EVENT(musb_regw, musb_writew,
- TP_PROTO(void *caller, const void *addr, unsigned int offset, u16 data),
+ TP_PROTO(void *caller, const void __iomem *addr,
+ unsigned int offset, u16 data),
TP_ARGS(caller, addr, offset, data)
);

DECLARE_EVENT_CLASS(musb_regl,
- TP_PROTO(void *caller, const void *addr, unsigned int offset, u32 data),
+ TP_PROTO(void *caller, const void __iomem *addr,
+ unsigned int offset, u32 data),
TP_ARGS(caller, addr, offset, data),
TP_STRUCT__entry(
__field(void *, caller)
- __field(const void *, addr)
+ __field(const void __iomem *, addr)
__field(unsigned int, offset)
__field(u32, data)
),
@@ -115,12 +122,14 @@ DECLARE_EVENT_CLASS(musb_regl,
);

DEFINE_EVENT(musb_regl, musb_readl,
- TP_PROTO(void *caller, const void *addr, unsigned int offset, u32 data),
+ TP_PROTO(void *caller, const void __iomem *addr,
+ unsigned int offset, u32 data),
TP_ARGS(caller, addr, offset, data)
);

DEFINE_EVENT(musb_regl, musb_writel,
- TP_PROTO(void *caller, const void *addr, unsigned int offset, u32 data),
+ TP_PROTO(void *caller, const void __iomem *addr,
+ unsigned int offset, u32 data),
TP_ARGS(caller, addr, offset, data)
);

--
2.23.0


2019-12-12 21:44:51

by Bin Liu

[permalink] [raw]
Subject: Re: [PATCH] USB: musb: fix __iomem in trace functions

Hi,

On Tue, Oct 15, 2019 at 04:03:09PM +0100, Ben Dooks (Codethink) wrote:
> The trace functions should have __iomem on the addr
> pointers. Add __iomem to avoid the following warnings
> from sparse:
>
> drivers/usb/musb/musb_core.c:253:55: warning: incorrect type in argument 2 (different address spaces)
> drivers/usb/musb/musb_core.c:253:55: expected void const *addr
> drivers/usb/musb/musb_core.c:253:55: got void const [noderef] <asn:2> *addr
> drivers/usb/musb/musb_core.c:259:56: warning: incorrect type in argument 2 (different address spaces)
> drivers/usb/musb/musb_core.c:259:56: expected void const *addr
> drivers/usb/musb/musb_core.c:259:56: got void [noderef] <asn:2> *addr
> drivers/usb/musb/musb_core.c:267:55: warning: incorrect type in argument 2 (different address spaces)
> drivers/usb/musb/musb_core.c:267:55: expected void const *addr
> drivers/usb/musb/musb_core.c:267:55: got void const [noderef] <asn:2> *addr
> drivers/usb/musb/musb_core.c:273:56: warning: incorrect type in argument 2 (different address spaces)
> drivers/usb/musb/musb_core.c:273:56: expected void const *addr
> drivers/usb/musb/musb_core.c:273:56: got void [noderef] <asn:2> *addr
> drivers/usb/musb/musb_core.c:383:55: warning: incorrect type in argument 2 (different address spaces)
> drivers/usb/musb/musb_core.c:383:55: expected void const *addr
> drivers/usb/musb/musb_core.c:383:55: got void const [noderef] <asn:2> *addr
> drivers/usb/musb/musb_core.c:390:56: warning: incorrect type in argument 2 (different address spaces)
> drivers/usb/musb/musb_core.c:390:56: expected void const *addr
> drivers/usb/musb/musb_core.c:390:56: got void [noderef] <asn:2> *addr
>
> Signed-off-by: Ben Dooks <[email protected]>

Thanks for the patch. But checkpatch.pl complains that the author and
Signed-off-by do not match. Can you please fix it and re-send?

-Bin.