X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=instrumentation%2Fevents%2Flttng-module%2Fregmap.h;h=e1a27e73f32e8f39bc895d37161c0e5873775b96;hb=206584b257bfe5e9820bdb3184a7b694a88a1854;hp=df56ac00dbc323201fc8b0520cac2dd23b4be418;hpb=b87700e318c27267890cbd6fb5e50b687279131b;p=lttng-modules.git diff --git a/instrumentation/events/lttng-module/regmap.h b/instrumentation/events/lttng-module/regmap.h index df56ac00..e1a27e73 100644 --- a/instrumentation/events/lttng-module/regmap.h +++ b/instrumentation/events/lttng-module/regmap.h @@ -1,11 +1,11 @@ #undef TRACE_SYSTEM #define TRACE_SYSTEM regmap -#if !defined(_TRACE_REGMAP_H) || defined(TRACE_HEADER_MULTI_READ) -#define _TRACE_REGMAP_H +#if !defined(LTTNG_TRACE_REGMAP_H) || defined(TRACE_HEADER_MULTI_READ) +#define LTTNG_TRACE_REGMAP_H +#include "../../../probes/lttng-tracepoint-event.h" #include -#include #include #ifndef _TRACE_REGMAP_DEF_ @@ -14,10 +14,54 @@ struct device; struct regmap; #endif +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,4)) /* * Log register events */ -DECLARE_EVENT_CLASS(regmap_reg, +LTTNG_TRACEPOINT_EVENT_CLASS(regmap_reg, + + TP_PROTO(struct regmap *map, unsigned int reg, + unsigned int val), + + TP_ARGS(map, reg, val), + + TP_STRUCT__entry( + __string( name, regmap_name(map)) + __field( unsigned int, reg ) + __field( unsigned int, val ) + ), + + TP_fast_assign( + tp_strcpy(name, regmap_name(map)) + tp_assign(reg, reg) + tp_assign(val, val) + ), + + TP_printk("%s reg=%x val=%x", __get_str(name), + (unsigned int)__entry->reg, + (unsigned int)__entry->val) +) + +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_write, + + TP_PROTO(struct regmap *map, unsigned int reg, + unsigned int val), + + TP_ARGS(map, reg, val) +) + +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_read, + + TP_PROTO(struct regmap *map, unsigned int reg, + unsigned int val), + + TP_ARGS(map, reg, val) +) +#else +/* + * Log register events + */ +LTTNG_TRACEPOINT_EVENT_CLASS(regmap_reg, TP_PROTO(struct device *dev, unsigned int reg, unsigned int val), @@ -41,36 +85,94 @@ DECLARE_EVENT_CLASS(regmap_reg, (unsigned int)__entry->val) ) -DEFINE_EVENT(regmap_reg, regmap_reg_write, +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_write, TP_PROTO(struct device *dev, unsigned int reg, unsigned int val), TP_ARGS(dev, reg, val) - ) -DEFINE_EVENT(regmap_reg, regmap_reg_read, +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_read, TP_PROTO(struct device *dev, unsigned int reg, unsigned int val), TP_ARGS(dev, reg, val) - ) +#endif + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,4)) +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_read_cache, + + TP_PROTO(struct regmap *map, unsigned int reg, + unsigned int val), -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)) -DEFINE_EVENT(regmap_reg, regmap_reg_read_cache, + TP_ARGS(map, reg, val) +) +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)) +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_read_cache, TP_PROTO(struct device *dev, unsigned int reg, unsigned int val), TP_ARGS(dev, reg, val) - ) #endif -DECLARE_EVENT_CLASS(regmap_block, +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,4)) +LTTNG_TRACEPOINT_EVENT_CLASS(regmap_block, + + TP_PROTO(struct regmap *map, unsigned int reg, int count), + + TP_ARGS(map, reg, count), + + TP_STRUCT__entry( + __string( name, regmap_name(map)) + __field( unsigned int, reg ) + __field( int, count ) + ), + + TP_fast_assign( + tp_strcpy(name, regmap_name(map)) + tp_assign(reg, reg) + tp_assign(count, count) + ), + + TP_printk("%s reg=%x count=%d", __get_str(name), + (unsigned int)__entry->reg, + (int)__entry->count) +) + +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_read_start, + + TP_PROTO(struct regmap *map, unsigned int reg, int count), + + TP_ARGS(map, reg, count) +) + +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_read_done, + + TP_PROTO(struct regmap *map, unsigned int reg, int count), + + TP_ARGS(map, reg, count) +) + +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_write_start, + + TP_PROTO(struct regmap *map, unsigned int reg, int count), + + TP_ARGS(map, reg, count) +) + +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_write_done, + + TP_PROTO(struct regmap *map, unsigned int reg, int count), + + TP_ARGS(map, reg, count) +) +#else +LTTNG_TRACEPOINT_EVENT_CLASS(regmap_block, TP_PROTO(struct device *dev, unsigned int reg, int count), @@ -93,35 +195,60 @@ DECLARE_EVENT_CLASS(regmap_block, (int)__entry->count) ) -DEFINE_EVENT(regmap_block, regmap_hw_read_start, +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_read_start, TP_PROTO(struct device *dev, unsigned int reg, int count), TP_ARGS(dev, reg, count) ) -DEFINE_EVENT(regmap_block, regmap_hw_read_done, +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_read_done, TP_PROTO(struct device *dev, unsigned int reg, int count), TP_ARGS(dev, reg, count) ) -DEFINE_EVENT(regmap_block, regmap_hw_write_start, +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_write_start, TP_PROTO(struct device *dev, unsigned int reg, int count), TP_ARGS(dev, reg, count) ) -DEFINE_EVENT(regmap_block, regmap_hw_write_done, +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_write_done, TP_PROTO(struct device *dev, unsigned int reg, int count), TP_ARGS(dev, reg, count) ) +#endif + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,4)) +LTTNG_TRACEPOINT_EVENT(regcache_sync, + + TP_PROTO(struct regmap *map, const char *type, + const char *status), + + TP_ARGS(map, type, status), + + TP_STRUCT__entry( + __string( name, regmap_name(map)) + __string( status, status ) + __string( type, type ) + ), -TRACE_EVENT(regcache_sync, + TP_fast_assign( + tp_strcpy(name, regmap_name(map)) + tp_strcpy(status, status) + tp_strcpy(type, type) + ), + + TP_printk("%s type=%s status=%s", __get_str(name), + __get_str(type), __get_str(status)) +) +#else +LTTNG_TRACEPOINT_EVENT(regcache_sync, TP_PROTO(struct device *dev, const char *type, const char *status), @@ -143,9 +270,45 @@ TRACE_EVENT(regcache_sync, TP_printk("%s type=%s status=%s", __get_str(name), __get_str(type), __get_str(status)) ) +#endif + + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,4)) +LTTNG_TRACEPOINT_EVENT_CLASS(regmap_bool, + + TP_PROTO(struct regmap *map, bool flag), + + TP_ARGS(map, flag), + + TP_STRUCT__entry( + __string( name, regmap_name(map)) + __field( int, flag ) + ), + + TP_fast_assign( + tp_strcpy(name, regmap_name(map)) + tp_assign(flag, flag) + ), + + TP_printk("%s flag=%d", __get_str(name), + (int)__entry->flag) +) -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) -DECLARE_EVENT_CLASS(regmap_bool, +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_only, + + TP_PROTO(struct regmap *map, bool flag), + + TP_ARGS(map, flag) +) + +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_bypass, + + TP_PROTO(struct regmap *map, bool flag), + + TP_ARGS(map, flag) +) +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) +LTTNG_TRACEPOINT_EVENT_CLASS(regmap_bool, TP_PROTO(struct device *dev, bool flag), @@ -165,7 +328,7 @@ DECLARE_EVENT_CLASS(regmap_bool, (int)__entry->flag) ) -DEFINE_EVENT(regmap_bool, regmap_cache_only, +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_only, TP_PROTO(struct device *dev, bool flag), @@ -173,7 +336,7 @@ DEFINE_EVENT(regmap_bool, regmap_cache_only, ) -DEFINE_EVENT(regmap_bool, regmap_cache_bypass, +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_bypass, TP_PROTO(struct device *dev, bool flag), @@ -182,7 +345,7 @@ DEFINE_EVENT(regmap_bool, regmap_cache_bypass, ) #endif -#endif /* _TRACE_REGMAP_H */ +#endif /* LTTNG_TRACE_REGMAP_H */ /* This part must be outside protection */ #include "../../../probes/define_trace.h"