* struct ftrace_raw_<call> {
* struct trace_entry ent;
* <type> <item>;
+ * <type2> <item2>[<len>];
* [...]
* };
*
- * The <type> <item> is created by the TRACE_FIELD(type, item, assign)
- * macro. We simply do "type item;", and that will create the fields
+ * The <type> <item> is created by the __field(type, item) macro or
+ * the __array(type2, item2, len) macro.
+ * We simply do "type item;", and that will create the fields
* in the structure.
*/
*
* field = (typeof(field))entry;
*
- * ret = trace_seq_printf(s, <TP_RAW_FMT> "%s", <ARGS> "\n");
+ * ret = trace_seq_printf(s, <TP_printk> "\n");
* if (!ret)
* return TRACE_TYPE_PARTIAL_LINE;
*
* int ret;
*
* ret = trace_seq_printf(s, #type " " #item ";"
- * " size:%d; offset:%d;\n",
- * sizeof(field.type),
- * offsetof(struct ftrace_raw_##call,
- * item));
+ * " offset:%u; size:%u;\n",
+ * offsetof(struct ftrace_raw_##call, item),
+ * sizeof(field.type));
*
* }
*/
* return;
* entry = ring_buffer_event_data(event);
*
- * <tstruct>; <-- Here we assign the entries by the TRACE_FIELD.
+ * <assign>; <-- Here we assign the entries by the __field and
+ * __array macros.
*
* trace_current_buffer_unlock_commit(event, irq_flags, pc);
* }
* __attribute__((__aligned__(4)))
* __attribute__((section("_ftrace_events"))) event_<call> = {
* .name = "<call>",
+ * .system = "<system>",
+ * .raw_init = ftrace_raw_init_event_<call>,
* .regfunc = ftrace_reg_event_<call>,
* .unregfunc = ftrace_unreg_event_<call>,
- * .raw_init = ftrace_raw_init_event_<call>,
- * .raw_reg = ftrace_raw_reg_event_<call>,
- * .raw_unreg = ftrace_raw_unreg_event_<call>,
* .show_format = ftrace_format_<call>,
* }
*