trace_print_array_seq(p, array, count, el_size);        \
        })
 
+#undef __print_dynamic_array
+#define __print_dynamic_array(array, el_size)                          \
+       ({                                                              \
+               __print_array(__get_dynamic_array(array),               \
+                             __get_dynamic_array_len(array) / (el_size), \
+                             (el_size));                               \
+       })
+
 #undef __print_hex_dump
 #define __print_hex_dump(prefix_str, prefix_type,                      \
                         rowsize, groupsize, buf, len, ascii)           \
 
                __assign_cpumask(cpum, cpumask_bits(mask));
        ),
 
-       TP_printk("foo %s %d %s %s %s %s %s (%s) (%s) %s", __entry->foo, __entry->bar,
+       TP_printk("foo %s %d %s %s %s %s %s %s (%s) (%s) %s", __entry->foo, __entry->bar,
 
 /*
  * Notice here the use of some helper functions. This includes:
                  __print_array(__get_dynamic_array(list),
                                __get_dynamic_array_len(list) / sizeof(int),
                                sizeof(int)),
+
+/*     A shortcut is to use __print_dynamic_array for dynamic arrays */
+
+                 __print_dynamic_array(list, sizeof(int)),
+
                  __get_str(str), __get_str(lstr),
                  __get_bitmask(cpus), __get_cpumask(cpum),
                  __get_str(vstr))