Commit 70b07bec authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'asm-generic-6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic

Pull asm-generic updates from Arnd Bergmann:
 "There are only three fairly simple patches.

  The #include change to linux/swab.h addresses a userspace build issue,
  and the change to the mmio tracing logic helps provide more useful
  traces"

* tag 'asm-generic-6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
  uapi: Add missing _UAPI prefix to <asm-generic/types.h> include guard
  asm-generic/io: Add _RET_IP_ to MMIO trace for more accurate debug info
  include/uapi/linux/swab: Fix potentially missing __always_inline
parents 850f7a5c 32975c49
...@@ -80,24 +80,24 @@ DECLARE_TRACEPOINT(rwmmio_read); ...@@ -80,24 +80,24 @@ DECLARE_TRACEPOINT(rwmmio_read);
DECLARE_TRACEPOINT(rwmmio_post_read); DECLARE_TRACEPOINT(rwmmio_post_read);
void log_write_mmio(u64 val, u8 width, volatile void __iomem *addr, void log_write_mmio(u64 val, u8 width, volatile void __iomem *addr,
unsigned long caller_addr); unsigned long caller_addr, unsigned long caller_addr0);
void log_post_write_mmio(u64 val, u8 width, volatile void __iomem *addr, void log_post_write_mmio(u64 val, u8 width, volatile void __iomem *addr,
unsigned long caller_addr); unsigned long caller_addr, unsigned long caller_addr0);
void log_read_mmio(u8 width, const volatile void __iomem *addr, void log_read_mmio(u8 width, const volatile void __iomem *addr,
unsigned long caller_addr); unsigned long caller_addr, unsigned long caller_addr0);
void log_post_read_mmio(u64 val, u8 width, const volatile void __iomem *addr, void log_post_read_mmio(u64 val, u8 width, const volatile void __iomem *addr,
unsigned long caller_addr); unsigned long caller_addr, unsigned long caller_addr0);
#else #else
static inline void log_write_mmio(u64 val, u8 width, volatile void __iomem *addr, static inline void log_write_mmio(u64 val, u8 width, volatile void __iomem *addr,
unsigned long caller_addr) {} unsigned long caller_addr, unsigned long caller_addr0) {}
static inline void log_post_write_mmio(u64 val, u8 width, volatile void __iomem *addr, static inline void log_post_write_mmio(u64 val, u8 width, volatile void __iomem *addr,
unsigned long caller_addr) {} unsigned long caller_addr, unsigned long caller_addr0) {}
static inline void log_read_mmio(u8 width, const volatile void __iomem *addr, static inline void log_read_mmio(u8 width, const volatile void __iomem *addr,
unsigned long caller_addr) {} unsigned long caller_addr, unsigned long caller_addr0) {}
static inline void log_post_read_mmio(u64 val, u8 width, const volatile void __iomem *addr, static inline void log_post_read_mmio(u64 val, u8 width, const volatile void __iomem *addr,
unsigned long caller_addr) {} unsigned long caller_addr, unsigned long caller_addr0) {}
#endif /* CONFIG_TRACE_MMIO_ACCESS */ #endif /* CONFIG_TRACE_MMIO_ACCESS */
...@@ -188,11 +188,11 @@ static inline u8 readb(const volatile void __iomem *addr) ...@@ -188,11 +188,11 @@ static inline u8 readb(const volatile void __iomem *addr)
{ {
u8 val; u8 val;
log_read_mmio(8, addr, _THIS_IP_); log_read_mmio(8, addr, _THIS_IP_, _RET_IP_);
__io_br(); __io_br();
val = __raw_readb(addr); val = __raw_readb(addr);
__io_ar(val); __io_ar(val);
log_post_read_mmio(val, 8, addr, _THIS_IP_); log_post_read_mmio(val, 8, addr, _THIS_IP_, _RET_IP_);
return val; return val;
} }
#endif #endif
...@@ -203,11 +203,11 @@ static inline u16 readw(const volatile void __iomem *addr) ...@@ -203,11 +203,11 @@ static inline u16 readw(const volatile void __iomem *addr)
{ {
u16 val; u16 val;
log_read_mmio(16, addr, _THIS_IP_); log_read_mmio(16, addr, _THIS_IP_, _RET_IP_);
__io_br(); __io_br();
val = __le16_to_cpu((__le16 __force)__raw_readw(addr)); val = __le16_to_cpu((__le16 __force)__raw_readw(addr));
__io_ar(val); __io_ar(val);
log_post_read_mmio(val, 16, addr, _THIS_IP_); log_post_read_mmio(val, 16, addr, _THIS_IP_, _RET_IP_);
return val; return val;
} }
#endif #endif
...@@ -218,11 +218,11 @@ static inline u32 readl(const volatile void __iomem *addr) ...@@ -218,11 +218,11 @@ static inline u32 readl(const volatile void __iomem *addr)
{ {
u32 val; u32 val;
log_read_mmio(32, addr, _THIS_IP_); log_read_mmio(32, addr, _THIS_IP_, _RET_IP_);
__io_br(); __io_br();
val = __le32_to_cpu((__le32 __force)__raw_readl(addr)); val = __le32_to_cpu((__le32 __force)__raw_readl(addr));
__io_ar(val); __io_ar(val);
log_post_read_mmio(val, 32, addr, _THIS_IP_); log_post_read_mmio(val, 32, addr, _THIS_IP_, _RET_IP_);
return val; return val;
} }
#endif #endif
...@@ -234,11 +234,11 @@ static inline u64 readq(const volatile void __iomem *addr) ...@@ -234,11 +234,11 @@ static inline u64 readq(const volatile void __iomem *addr)
{ {
u64 val; u64 val;
log_read_mmio(64, addr, _THIS_IP_); log_read_mmio(64, addr, _THIS_IP_, _RET_IP_);
__io_br(); __io_br();
val = __le64_to_cpu(__raw_readq(addr)); val = __le64_to_cpu(__raw_readq(addr));
__io_ar(val); __io_ar(val);
log_post_read_mmio(val, 64, addr, _THIS_IP_); log_post_read_mmio(val, 64, addr, _THIS_IP_, _RET_IP_);
return val; return val;
} }
#endif #endif
...@@ -248,11 +248,11 @@ static inline u64 readq(const volatile void __iomem *addr) ...@@ -248,11 +248,11 @@ static inline u64 readq(const volatile void __iomem *addr)
#define writeb writeb #define writeb writeb
static inline void writeb(u8 value, volatile void __iomem *addr) static inline void writeb(u8 value, volatile void __iomem *addr)
{ {
log_write_mmio(value, 8, addr, _THIS_IP_); log_write_mmio(value, 8, addr, _THIS_IP_, _RET_IP_);
__io_bw(); __io_bw();
__raw_writeb(value, addr); __raw_writeb(value, addr);
__io_aw(); __io_aw();
log_post_write_mmio(value, 8, addr, _THIS_IP_); log_post_write_mmio(value, 8, addr, _THIS_IP_, _RET_IP_);
} }
#endif #endif
...@@ -260,11 +260,11 @@ static inline void writeb(u8 value, volatile void __iomem *addr) ...@@ -260,11 +260,11 @@ static inline void writeb(u8 value, volatile void __iomem *addr)
#define writew writew #define writew writew
static inline void writew(u16 value, volatile void __iomem *addr) static inline void writew(u16 value, volatile void __iomem *addr)
{ {
log_write_mmio(value, 16, addr, _THIS_IP_); log_write_mmio(value, 16, addr, _THIS_IP_, _RET_IP_);
__io_bw(); __io_bw();
__raw_writew((u16 __force)cpu_to_le16(value), addr); __raw_writew((u16 __force)cpu_to_le16(value), addr);
__io_aw(); __io_aw();
log_post_write_mmio(value, 16, addr, _THIS_IP_); log_post_write_mmio(value, 16, addr, _THIS_IP_, _RET_IP_);
} }
#endif #endif
...@@ -272,11 +272,11 @@ static inline void writew(u16 value, volatile void __iomem *addr) ...@@ -272,11 +272,11 @@ static inline void writew(u16 value, volatile void __iomem *addr)
#define writel writel #define writel writel
static inline void writel(u32 value, volatile void __iomem *addr) static inline void writel(u32 value, volatile void __iomem *addr)
{ {
log_write_mmio(value, 32, addr, _THIS_IP_); log_write_mmio(value, 32, addr, _THIS_IP_, _RET_IP_);
__io_bw(); __io_bw();
__raw_writel((u32 __force)__cpu_to_le32(value), addr); __raw_writel((u32 __force)__cpu_to_le32(value), addr);
__io_aw(); __io_aw();
log_post_write_mmio(value, 32, addr, _THIS_IP_); log_post_write_mmio(value, 32, addr, _THIS_IP_, _RET_IP_);
} }
#endif #endif
...@@ -285,11 +285,11 @@ static inline void writel(u32 value, volatile void __iomem *addr) ...@@ -285,11 +285,11 @@ static inline void writel(u32 value, volatile void __iomem *addr)
#define writeq writeq #define writeq writeq
static inline void writeq(u64 value, volatile void __iomem *addr) static inline void writeq(u64 value, volatile void __iomem *addr)
{ {
log_write_mmio(value, 64, addr, _THIS_IP_); log_write_mmio(value, 64, addr, _THIS_IP_, _RET_IP_);
__io_bw(); __io_bw();
__raw_writeq(__cpu_to_le64(value), addr); __raw_writeq(__cpu_to_le64(value), addr);
__io_aw(); __io_aw();
log_post_write_mmio(value, 64, addr, _THIS_IP_); log_post_write_mmio(value, 64, addr, _THIS_IP_, _RET_IP_);
} }
#endif #endif
#endif /* CONFIG_64BIT */ #endif /* CONFIG_64BIT */
...@@ -305,9 +305,9 @@ static inline u8 readb_relaxed(const volatile void __iomem *addr) ...@@ -305,9 +305,9 @@ static inline u8 readb_relaxed(const volatile void __iomem *addr)
{ {
u8 val; u8 val;
log_read_mmio(8, addr, _THIS_IP_); log_read_mmio(8, addr, _THIS_IP_, _RET_IP_);
val = __raw_readb(addr); val = __raw_readb(addr);
log_post_read_mmio(val, 8, addr, _THIS_IP_); log_post_read_mmio(val, 8, addr, _THIS_IP_, _RET_IP_);
return val; return val;
} }
#endif #endif
...@@ -318,9 +318,9 @@ static inline u16 readw_relaxed(const volatile void __iomem *addr) ...@@ -318,9 +318,9 @@ static inline u16 readw_relaxed(const volatile void __iomem *addr)
{ {
u16 val; u16 val;
log_read_mmio(16, addr, _THIS_IP_); log_read_mmio(16, addr, _THIS_IP_, _RET_IP_);
val = __le16_to_cpu(__raw_readw(addr)); val = __le16_to_cpu(__raw_readw(addr));
log_post_read_mmio(val, 16, addr, _THIS_IP_); log_post_read_mmio(val, 16, addr, _THIS_IP_, _RET_IP_);
return val; return val;
} }
#endif #endif
...@@ -331,9 +331,9 @@ static inline u32 readl_relaxed(const volatile void __iomem *addr) ...@@ -331,9 +331,9 @@ static inline u32 readl_relaxed(const volatile void __iomem *addr)
{ {
u32 val; u32 val;
log_read_mmio(32, addr, _THIS_IP_); log_read_mmio(32, addr, _THIS_IP_, _RET_IP_);
val = __le32_to_cpu(__raw_readl(addr)); val = __le32_to_cpu(__raw_readl(addr));
log_post_read_mmio(val, 32, addr, _THIS_IP_); log_post_read_mmio(val, 32, addr, _THIS_IP_, _RET_IP_);
return val; return val;
} }
#endif #endif
...@@ -344,9 +344,9 @@ static inline u64 readq_relaxed(const volatile void __iomem *addr) ...@@ -344,9 +344,9 @@ static inline u64 readq_relaxed(const volatile void __iomem *addr)
{ {
u64 val; u64 val;
log_read_mmio(64, addr, _THIS_IP_); log_read_mmio(64, addr, _THIS_IP_, _RET_IP_);
val = __le64_to_cpu(__raw_readq(addr)); val = __le64_to_cpu(__raw_readq(addr));
log_post_read_mmio(val, 64, addr, _THIS_IP_); log_post_read_mmio(val, 64, addr, _THIS_IP_, _RET_IP_);
return val; return val;
} }
#endif #endif
...@@ -355,9 +355,9 @@ static inline u64 readq_relaxed(const volatile void __iomem *addr) ...@@ -355,9 +355,9 @@ static inline u64 readq_relaxed(const volatile void __iomem *addr)
#define writeb_relaxed writeb_relaxed #define writeb_relaxed writeb_relaxed
static inline void writeb_relaxed(u8 value, volatile void __iomem *addr) static inline void writeb_relaxed(u8 value, volatile void __iomem *addr)
{ {
log_write_mmio(value, 8, addr, _THIS_IP_); log_write_mmio(value, 8, addr, _THIS_IP_, _RET_IP_);
__raw_writeb(value, addr); __raw_writeb(value, addr);
log_post_write_mmio(value, 8, addr, _THIS_IP_); log_post_write_mmio(value, 8, addr, _THIS_IP_, _RET_IP_);
} }
#endif #endif
...@@ -365,9 +365,9 @@ static inline void writeb_relaxed(u8 value, volatile void __iomem *addr) ...@@ -365,9 +365,9 @@ static inline void writeb_relaxed(u8 value, volatile void __iomem *addr)
#define writew_relaxed writew_relaxed #define writew_relaxed writew_relaxed
static inline void writew_relaxed(u16 value, volatile void __iomem *addr) static inline void writew_relaxed(u16 value, volatile void __iomem *addr)
{ {
log_write_mmio(value, 16, addr, _THIS_IP_); log_write_mmio(value, 16, addr, _THIS_IP_, _RET_IP_);
__raw_writew(cpu_to_le16(value), addr); __raw_writew(cpu_to_le16(value), addr);
log_post_write_mmio(value, 16, addr, _THIS_IP_); log_post_write_mmio(value, 16, addr, _THIS_IP_, _RET_IP_);
} }
#endif #endif
...@@ -375,9 +375,9 @@ static inline void writew_relaxed(u16 value, volatile void __iomem *addr) ...@@ -375,9 +375,9 @@ static inline void writew_relaxed(u16 value, volatile void __iomem *addr)
#define writel_relaxed writel_relaxed #define writel_relaxed writel_relaxed
static inline void writel_relaxed(u32 value, volatile void __iomem *addr) static inline void writel_relaxed(u32 value, volatile void __iomem *addr)
{ {
log_write_mmio(value, 32, addr, _THIS_IP_); log_write_mmio(value, 32, addr, _THIS_IP_, _RET_IP_);
__raw_writel(__cpu_to_le32(value), addr); __raw_writel(__cpu_to_le32(value), addr);
log_post_write_mmio(value, 32, addr, _THIS_IP_); log_post_write_mmio(value, 32, addr, _THIS_IP_, _RET_IP_);
} }
#endif #endif
...@@ -385,9 +385,9 @@ static inline void writel_relaxed(u32 value, volatile void __iomem *addr) ...@@ -385,9 +385,9 @@ static inline void writel_relaxed(u32 value, volatile void __iomem *addr)
#define writeq_relaxed writeq_relaxed #define writeq_relaxed writeq_relaxed
static inline void writeq_relaxed(u64 value, volatile void __iomem *addr) static inline void writeq_relaxed(u64 value, volatile void __iomem *addr)
{ {
log_write_mmio(value, 64, addr, _THIS_IP_); log_write_mmio(value, 64, addr, _THIS_IP_, _RET_IP_);
__raw_writeq(__cpu_to_le64(value), addr); __raw_writeq(__cpu_to_le64(value), addr);
log_post_write_mmio(value, 64, addr, _THIS_IP_); log_post_write_mmio(value, 64, addr, _THIS_IP_, _RET_IP_);
} }
#endif #endif
......
...@@ -12,12 +12,14 @@ ...@@ -12,12 +12,14 @@
DECLARE_EVENT_CLASS(rwmmio_rw_template, DECLARE_EVENT_CLASS(rwmmio_rw_template,
TP_PROTO(unsigned long caller, u64 val, u8 width, volatile void __iomem *addr), TP_PROTO(unsigned long caller, unsigned long caller0, u64 val, u8 width,
volatile void __iomem *addr),
TP_ARGS(caller, val, width, addr), TP_ARGS(caller, caller0, val, width, addr),
TP_STRUCT__entry( TP_STRUCT__entry(
__field(unsigned long, caller) __field(unsigned long, caller)
__field(unsigned long, caller0)
__field(unsigned long, addr) __field(unsigned long, addr)
__field(u64, val) __field(u64, val)
__field(u8, width) __field(u8, width)
...@@ -25,56 +27,64 @@ DECLARE_EVENT_CLASS(rwmmio_rw_template, ...@@ -25,56 +27,64 @@ DECLARE_EVENT_CLASS(rwmmio_rw_template,
TP_fast_assign( TP_fast_assign(
__entry->caller = caller; __entry->caller = caller;
__entry->caller0 = caller0;
__entry->val = val; __entry->val = val;
__entry->addr = (unsigned long)addr; __entry->addr = (unsigned long)addr;
__entry->width = width; __entry->width = width;
), ),
TP_printk("%pS width=%d val=%#llx addr=%#lx", TP_printk("%pS -> %pS width=%d val=%#llx addr=%#lx",
(void *)__entry->caller, __entry->width, (void *)__entry->caller0, (void *)__entry->caller, __entry->width,
__entry->val, __entry->addr) __entry->val, __entry->addr)
); );
DEFINE_EVENT(rwmmio_rw_template, rwmmio_write, DEFINE_EVENT(rwmmio_rw_template, rwmmio_write,
TP_PROTO(unsigned long caller, u64 val, u8 width, volatile void __iomem *addr), TP_PROTO(unsigned long caller, unsigned long caller0, u64 val, u8 width,
TP_ARGS(caller, val, width, addr) volatile void __iomem *addr),
TP_ARGS(caller, caller0, val, width, addr)
); );
DEFINE_EVENT(rwmmio_rw_template, rwmmio_post_write, DEFINE_EVENT(rwmmio_rw_template, rwmmio_post_write,
TP_PROTO(unsigned long caller, u64 val, u8 width, volatile void __iomem *addr), TP_PROTO(unsigned long caller, unsigned long caller0, u64 val, u8 width,
TP_ARGS(caller, val, width, addr) volatile void __iomem *addr),
TP_ARGS(caller, caller0, val, width, addr)
); );
TRACE_EVENT(rwmmio_read, TRACE_EVENT(rwmmio_read,
TP_PROTO(unsigned long caller, u8 width, const volatile void __iomem *addr), TP_PROTO(unsigned long caller, unsigned long caller0, u8 width,
const volatile void __iomem *addr),
TP_ARGS(caller, width, addr), TP_ARGS(caller, caller0, width, addr),
TP_STRUCT__entry( TP_STRUCT__entry(
__field(unsigned long, caller) __field(unsigned long, caller)
__field(unsigned long, caller0)
__field(unsigned long, addr) __field(unsigned long, addr)
__field(u8, width) __field(u8, width)
), ),
TP_fast_assign( TP_fast_assign(
__entry->caller = caller; __entry->caller = caller;
__entry->caller0 = caller0;
__entry->addr = (unsigned long)addr; __entry->addr = (unsigned long)addr;
__entry->width = width; __entry->width = width;
), ),
TP_printk("%pS width=%d addr=%#lx", TP_printk("%pS -> %pS width=%d addr=%#lx",
(void *)__entry->caller, __entry->width, __entry->addr) (void *)__entry->caller0, (void *)__entry->caller, __entry->width, __entry->addr)
); );
TRACE_EVENT(rwmmio_post_read, TRACE_EVENT(rwmmio_post_read,
TP_PROTO(unsigned long caller, u64 val, u8 width, const volatile void __iomem *addr), TP_PROTO(unsigned long caller, unsigned long caller0, u64 val, u8 width,
const volatile void __iomem *addr),
TP_ARGS(caller, val, width, addr), TP_ARGS(caller, caller0, val, width, addr),
TP_STRUCT__entry( TP_STRUCT__entry(
__field(unsigned long, caller) __field(unsigned long, caller)
__field(unsigned long, caller0)
__field(unsigned long, addr) __field(unsigned long, addr)
__field(u64, val) __field(u64, val)
__field(u8, width) __field(u8, width)
...@@ -82,13 +92,14 @@ TRACE_EVENT(rwmmio_post_read, ...@@ -82,13 +92,14 @@ TRACE_EVENT(rwmmio_post_read,
TP_fast_assign( TP_fast_assign(
__entry->caller = caller; __entry->caller = caller;
__entry->caller0 = caller0;
__entry->val = val; __entry->val = val;
__entry->addr = (unsigned long)addr; __entry->addr = (unsigned long)addr;
__entry->width = width; __entry->width = width;
), ),
TP_printk("%pS width=%d val=%#llx addr=%#lx", TP_printk("%pS -> %pS width=%d val=%#llx addr=%#lx",
(void *)__entry->caller, __entry->width, (void *)__entry->caller0, (void *)__entry->caller, __entry->width,
__entry->val, __entry->addr) __entry->val, __entry->addr)
); );
......
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _ASM_GENERIC_TYPES_H #ifndef _UAPI_ASM_GENERIC_TYPES_H
#define _ASM_GENERIC_TYPES_H #define _UAPI_ASM_GENERIC_TYPES_H
/* /*
* int-ll64 is used everywhere now. * int-ll64 is used everywhere now.
*/ */
#include <asm-generic/int-ll64.h> #include <asm-generic/int-ll64.h>
#endif /* _ASM_GENERIC_TYPES_H */ #endif /* _UAPI_ASM_GENERIC_TYPES_H */
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#define _UAPI_LINUX_SWAB_H #define _UAPI_LINUX_SWAB_H
#include <linux/types.h> #include <linux/types.h>
#include <linux/compiler.h> #include <linux/stddef.h>
#include <asm/bitsperlong.h> #include <asm/bitsperlong.h>
#include <asm/swab.h> #include <asm/swab.h>
......
...@@ -14,33 +14,33 @@ ...@@ -14,33 +14,33 @@
#ifdef CONFIG_TRACE_MMIO_ACCESS #ifdef CONFIG_TRACE_MMIO_ACCESS
void log_write_mmio(u64 val, u8 width, volatile void __iomem *addr, void log_write_mmio(u64 val, u8 width, volatile void __iomem *addr,
unsigned long caller_addr) unsigned long caller_addr, unsigned long caller_addr0)
{ {
trace_rwmmio_write(caller_addr, val, width, addr); trace_rwmmio_write(caller_addr, caller_addr0, val, width, addr);
} }
EXPORT_SYMBOL_GPL(log_write_mmio); EXPORT_SYMBOL_GPL(log_write_mmio);
EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_write); EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_write);
void log_post_write_mmio(u64 val, u8 width, volatile void __iomem *addr, void log_post_write_mmio(u64 val, u8 width, volatile void __iomem *addr,
unsigned long caller_addr) unsigned long caller_addr, unsigned long caller_addr0)
{ {
trace_rwmmio_post_write(caller_addr, val, width, addr); trace_rwmmio_post_write(caller_addr, caller_addr0, val, width, addr);
} }
EXPORT_SYMBOL_GPL(log_post_write_mmio); EXPORT_SYMBOL_GPL(log_post_write_mmio);
EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_post_write); EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_post_write);
void log_read_mmio(u8 width, const volatile void __iomem *addr, void log_read_mmio(u8 width, const volatile void __iomem *addr,
unsigned long caller_addr) unsigned long caller_addr, unsigned long caller_addr0)
{ {
trace_rwmmio_read(caller_addr, width, addr); trace_rwmmio_read(caller_addr, caller_addr0, width, addr);
} }
EXPORT_SYMBOL_GPL(log_read_mmio); EXPORT_SYMBOL_GPL(log_read_mmio);
EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_read); EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_read);
void log_post_read_mmio(u64 val, u8 width, const volatile void __iomem *addr, void log_post_read_mmio(u64 val, u8 width, const volatile void __iomem *addr,
unsigned long caller_addr) unsigned long caller_addr, unsigned long caller_addr0)
{ {
trace_rwmmio_post_read(caller_addr, val, width, addr); trace_rwmmio_post_read(caller_addr, caller_addr0, val, width, addr);
} }
EXPORT_SYMBOL_GPL(log_post_read_mmio); EXPORT_SYMBOL_GPL(log_post_read_mmio);
EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_post_read); EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_post_read);
......
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