linux/include/trace/events/fsi_master_gpio.h
Jeremy Kerr 1247cf7ab8 drivers/fsi/gpio: Add tracepoints for GPIO master
Trace low level input/output GPIO operations.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Christopher Bostic <cbostic@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-09 11:52:09 +02:00

69 lines
1.5 KiB
C

#undef TRACE_SYSTEM
#define TRACE_SYSTEM fsi_master_gpio
#if !defined(_TRACE_FSI_MASTER_GPIO_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_FSI_MASTER_GPIO_H
#include <linux/tracepoint.h>
TRACE_EVENT(fsi_master_gpio_in,
TP_PROTO(const struct fsi_master_gpio *master, int bits, uint64_t msg),
TP_ARGS(master, bits, msg),
TP_STRUCT__entry(
__field(int, master_idx)
__field(int, bits)
__field(uint64_t, msg)
),
TP_fast_assign(
__entry->master_idx = master->master.idx;
__entry->bits = bits;
__entry->msg = msg & ((1ull<<bits) - 1);
),
TP_printk("fsi-gpio%d => %0*llx[%d]",
__entry->master_idx,
(__entry->bits + 3) / 4,
__entry->msg,
__entry->bits
)
);
TRACE_EVENT(fsi_master_gpio_out,
TP_PROTO(const struct fsi_master_gpio *master, int bits, uint64_t msg),
TP_ARGS(master, bits, msg),
TP_STRUCT__entry(
__field(int, master_idx)
__field(int, bits)
__field(uint64_t, msg)
),
TP_fast_assign(
__entry->master_idx = master->master.idx;
__entry->bits = bits;
__entry->msg = msg & ((1ull<<bits) - 1);
),
TP_printk("fsi-gpio%d <= %0*llx[%d]",
__entry->master_idx,
(__entry->bits + 3) / 4,
__entry->msg,
__entry->bits
)
);
TRACE_EVENT(fsi_master_gpio_break,
TP_PROTO(const struct fsi_master_gpio *master),
TP_ARGS(master),
TP_STRUCT__entry(
__field(int, master_idx)
),
TP_fast_assign(
__entry->master_idx = master->master.idx;
),
TP_printk("fsi-gpio%d ----break---",
__entry->master_idx
)
);
#endif /* _TRACE_FSI_MASTER_GPIO_H */
#include <trace/define_trace.h>