+ for (i = 0; i < ARRAY_SIZE(TP_ID(__event_desc___, TRACE_SYSTEM)); i++) {
+ const struct lttng_event_desc *event_desc;
+
+ event_desc = &TP_ID(__event_desc___, TRACE_SYSTEM)[i];
+ ret = ltt_probe_register(event_desc->name,
+ event_desc->probe_callback);
+ if (ret)
+ goto error;
+ }
+ return 0;
+
+error:
+ for (i--; i >= 0; i--) {
+ const struct lttng_event_desc *event_desc;
+
+ event_desc = &TP_ID(__event_desc___, TRACE_SYSTEM)[i];
+ ltt_probe_unregister(event_desc->name);
+ }