X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=instrumentation%2Fevents%2Flttng-module%2Fregmap.h;h=358d744f9e815c7482071986e0654334a0710ec3;hb=ffc696db884c44a49780bcd9e3b0f97ef82d2382;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..358d744f 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,175 +14,265 @@ 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 device *dev, unsigned int reg, + TP_PROTO(struct regmap *map, unsigned int reg, unsigned int val), - TP_ARGS(dev, reg, val), + TP_ARGS(map, reg, val), - TP_STRUCT__entry( - __string( name, dev_name(dev) ) - __field( unsigned int, reg ) - __field( unsigned int, val ) - ), + TP_FIELDS( + ctf_string(name, regmap_name(map)) + ctf_integer(unsigned int, reg, reg) + ctf_integer(unsigned int, val, val) + ) +) +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_write, - TP_fast_assign( - tp_strcpy(name, dev_name(dev)) - tp_assign(reg, reg) - tp_assign(val, val) - ), + TP_PROTO(struct regmap *map, unsigned int reg, + unsigned int val), - TP_printk("%s reg=%x val=%x", __get_str(name), - (unsigned int)__entry->reg, - (unsigned int)__entry->val) + TP_ARGS(map, reg, val) ) -DEFINE_EVENT(regmap_reg, regmap_reg_write, +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), - TP_ARGS(dev, reg, val) + TP_ARGS(dev, reg, val), + TP_FIELDS( + ctf_string(name, dev_name(dev)) + ctf_integer(unsigned int, reg, reg) + ctf_integer(unsigned int, val, val) + ) ) -DEFINE_EVENT(regmap_reg, regmap_reg_read, +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) - ) -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)) -DEFINE_EVENT(regmap_reg, regmap_reg_read_cache, +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), + 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 device *dev, unsigned int reg, int count), + TP_PROTO(struct regmap *map, unsigned int reg, int count), - TP_ARGS(dev, reg, count), + TP_ARGS(map, reg, count), - TP_STRUCT__entry( - __string( name, dev_name(dev) ) - __field( unsigned int, reg ) - __field( int, count ) - ), + TP_FIELDS( + ctf_string(name, regmap_name(map)) + ctf_integer(unsigned int, reg, reg) + ctf_integer(int, count, count) + ) +) + +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_block, regmap_hw_read_start, - TP_fast_assign( - tp_strcpy(name, dev_name(dev)) - tp_assign(reg, reg) - tp_assign(count, count) - ), + TP_PROTO(struct regmap *map, unsigned int reg, int count), - TP_printk("%s reg=%x count=%d", __get_str(name), - (unsigned int)__entry->reg, - (int)__entry->count) + TP_ARGS(map, reg, count) ) -DEFINE_EVENT(regmap_block, regmap_hw_read_start, +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), + + TP_ARGS(dev, reg, count), + + TP_FIELDS( + ctf_string(name, dev_name(dev)) + ctf_integer(unsigned int, reg, reg) + ctf_integer(int, count, count) + ) +) + +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_MAP(regcache_sync, + + regmap_regcache_sync, -TRACE_EVENT(regcache_sync, + TP_PROTO(struct regmap *map, const char *type, + const char *status), + + TP_ARGS(map, type, status), + + TP_FIELDS( + ctf_string(name, regmap_name(map)) + ctf_string(status, status) + ctf_string(type, type) + ) +) +#else +LTTNG_TRACEPOINT_EVENT_MAP(regcache_sync, + + regmap_regcache_sync, TP_PROTO(struct device *dev, const char *type, const char *status), TP_ARGS(dev, type, status), - TP_STRUCT__entry( - __string( name, dev_name(dev) ) - __string( status, status ) - __string( type, type ) - ), + TP_FIELDS( + ctf_string(name, dev_name(dev)) + ctf_string(status, status) + ctf_string(type, type) + ) +) +#endif + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,4)) +LTTNG_TRACEPOINT_EVENT_CLASS(regmap_bool, + + TP_PROTO(struct regmap *map, bool flag), - TP_fast_assign( - tp_strcpy(name, dev_name(dev)) - tp_strcpy(status, status) - tp_strcpy(type, type) - ), + TP_ARGS(map, flag), - TP_printk("%s type=%s status=%s", __get_str(name), - __get_str(type), __get_str(status)) + TP_FIELDS( + ctf_string(name, regmap_name(map)) + ctf_integer(int, flag, 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 device *dev, bool flag), + TP_PROTO(struct regmap *map, bool flag), - TP_ARGS(dev, flag), + TP_ARGS(map, flag) +) - TP_STRUCT__entry( - __string( name, dev_name(dev) ) - __field( int, flag ) - ), +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_bypass, - TP_fast_assign( - tp_strcpy(name, dev_name(dev)) - tp_assign(flag, flag) - ), + TP_PROTO(struct regmap *map, bool flag), - TP_printk("%s flag=%d", __get_str(name), - (int)__entry->flag) -) + TP_ARGS(map, flag) -DEFINE_EVENT(regmap_bool, regmap_cache_only, +) +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) +LTTNG_TRACEPOINT_EVENT_CLASS(regmap_bool, TP_PROTO(struct device *dev, bool flag), - TP_ARGS(dev, flag) + TP_ARGS(dev, flag), + TP_FIELDS( + ctf_string(name, dev_name(dev)) + ctf_integer(int, flag, flag) + ) ) -DEFINE_EVENT(regmap_bool, regmap_cache_bypass, +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_only, TP_PROTO(struct device *dev, bool flag), TP_ARGS(dev, flag) +) +LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_bool, regmap_cache_bypass, + + TP_PROTO(struct device *dev, bool flag), + + TP_ARGS(dev, flag) ) #endif -#endif /* _TRACE_REGMAP_H */ +#endif /* LTTNG_TRACE_REGMAP_H */ /* This part must be outside protection */ #include "../../../probes/define_trace.h"