#include "intel_crtc.h"
 #include "intel_display_types.h"
 
+#define __dev_name_i915(i915) dev_name((i915)->drm.dev)
+#define __dev_name_kms(obj) dev_name((obj)->base.dev->dev)
+
 TRACE_EVENT(intel_pipe_enable,
            TP_PROTO(struct intel_crtc *crtc),
            TP_ARGS(crtc),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_kms(crtc))
                             __array(u32, frame, 3)
                             __array(u32, scanline, 3)
                             __field(enum pipe, pipe)
            TP_fast_assign(
                           struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
                           struct intel_crtc *it__;
+                          __assign_str(dev, __dev_name_kms(crtc));
                           for_each_intel_crtc(&dev_priv->drm, it__) {
                                   __entry->frame[it__->pipe] = intel_crtc_get_vblank_counter(it__);
                                   __entry->scanline[it__->pipe] = intel_get_crtc_scanline(it__);
                           __entry->pipe = crtc->pipe;
                           ),
 
-           TP_printk("pipe %c enable, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
-                     pipe_name(__entry->pipe),
+           TP_printk("dev %s, pipe %c enable, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
+                     __get_str(dev), pipe_name(__entry->pipe),
                      __entry->frame[PIPE_A], __entry->scanline[PIPE_A],
                      __entry->frame[PIPE_B], __entry->scanline[PIPE_B],
                      __entry->frame[PIPE_C], __entry->scanline[PIPE_C])
            TP_ARGS(crtc),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_kms(crtc))
                             __array(u32, frame, 3)
                             __array(u32, scanline, 3)
                             __field(enum pipe, pipe)
            TP_fast_assign(
                           struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
                           struct intel_crtc *it__;
+                          __assign_str(dev, __dev_name_kms(crtc));
                           for_each_intel_crtc(&dev_priv->drm, it__) {
                                   __entry->frame[it__->pipe] = intel_crtc_get_vblank_counter(it__);
                                   __entry->scanline[it__->pipe] = intel_get_crtc_scanline(it__);
                           __entry->pipe = crtc->pipe;
                           ),
 
-           TP_printk("pipe %c disable, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
-                     pipe_name(__entry->pipe),
+           TP_printk("dev %s, pipe %c disable, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
+                     __get_str(dev), pipe_name(__entry->pipe),
                      __entry->frame[PIPE_A], __entry->scanline[PIPE_A],
                      __entry->frame[PIPE_B], __entry->scanline[PIPE_B],
                      __entry->frame[PIPE_C], __entry->scanline[PIPE_C])
            TP_ARGS(crtc, crcs),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_kms(crtc))
                             __field(enum pipe, pipe)
                             __field(u32, frame)
                             __field(u32, scanline)
                             ),
 
            TP_fast_assign(
+                          __assign_str(dev, __dev_name_kms(crtc));
                           __entry->pipe = crtc->pipe;
                           __entry->frame = intel_crtc_get_vblank_counter(crtc);
                           __entry->scanline = intel_get_crtc_scanline(crtc);
                           memcpy(__entry->crcs, crcs, sizeof(__entry->crcs));
                           ),
 
-           TP_printk("pipe %c, frame=%u, scanline=%u crc=%08x %08x %08x %08x %08x",
-                     pipe_name(__entry->pipe), __entry->frame, __entry->scanline,
-                     __entry->crcs[0], __entry->crcs[1], __entry->crcs[2],
-                     __entry->crcs[3], __entry->crcs[4])
+           TP_printk("dev %s, pipe %c, frame=%u, scanline=%u crc=%08x %08x %08x %08x %08x",
+                     __get_str(dev), pipe_name(__entry->pipe),
+                     __entry->frame, __entry->scanline,
+                     __entry->crcs[0], __entry->crcs[1],
+                     __entry->crcs[2], __entry->crcs[3],
+                     __entry->crcs[4])
 );
 
 TRACE_EVENT(intel_cpu_fifo_underrun,
            TP_ARGS(dev_priv, pipe),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_i915(dev_priv))
                             __field(enum pipe, pipe)
                             __field(u32, frame)
                             __field(u32, scanline)
 
            TP_fast_assign(
                            struct intel_crtc *crtc = intel_crtc_for_pipe(dev_priv, pipe);
+                          __assign_str(dev, __dev_name_kms(crtc));
                           __entry->pipe = pipe;
                           __entry->frame = intel_crtc_get_vblank_counter(crtc);
                           __entry->scanline = intel_get_crtc_scanline(crtc);
                           ),
 
-           TP_printk("pipe %c, frame=%u, scanline=%u",
-                     pipe_name(__entry->pipe),
+           TP_printk("dev %s, pipe %c, frame=%u, scanline=%u",
+                     __get_str(dev), pipe_name(__entry->pipe),
                      __entry->frame, __entry->scanline)
 );
 
            TP_ARGS(dev_priv, pch_transcoder),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_i915(dev_priv))
                             __field(enum pipe, pipe)
                             __field(u32, frame)
                             __field(u32, scanline)
            TP_fast_assign(
                           enum pipe pipe = pch_transcoder;
                           struct intel_crtc *crtc = intel_crtc_for_pipe(dev_priv, pipe);
+                          __assign_str(dev, __dev_name_i915(dev_priv));
                           __entry->pipe = pipe;
                           __entry->frame = intel_crtc_get_vblank_counter(crtc);
                           __entry->scanline = intel_get_crtc_scanline(crtc);
                           ),
 
-           TP_printk("pch transcoder %c, frame=%u, scanline=%u",
-                     pipe_name(__entry->pipe),
+           TP_printk("dev %s, pch transcoder %c, frame=%u, scanline=%u",
+                     __get_str(dev), pipe_name(__entry->pipe),
                      __entry->frame, __entry->scanline)
 );
 
            TP_ARGS(dev_priv, old, new),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_i915(dev_priv))
                             __array(u32, frame, 3)
                             __array(u32, scanline, 3)
                             __field(bool, old)
 
            TP_fast_assign(
                           struct intel_crtc *crtc;
+                          __assign_str(dev, __dev_name_i915(dev_priv));
                           for_each_intel_crtc(&dev_priv->drm, crtc) {
                                   __entry->frame[crtc->pipe] = intel_crtc_get_vblank_counter(crtc);
                                   __entry->scanline[crtc->pipe] = intel_get_crtc_scanline(crtc);
                           __entry->new = new;
                           ),
 
-           TP_printk("%s->%s, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
-                     str_on_off(__entry->old), str_on_off(__entry->new),
+           TP_printk("dev %s, cxsr %s->%s, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
+                     __get_str(dev), str_on_off(__entry->old), str_on_off(__entry->new),
                      __entry->frame[PIPE_A], __entry->scanline[PIPE_A],
                      __entry->frame[PIPE_B], __entry->scanline[PIPE_B],
                      __entry->frame[PIPE_C], __entry->scanline[PIPE_C])
            TP_ARGS(crtc, wm),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_kms(crtc))
                             __field(enum pipe, pipe)
                             __field(u32, frame)
                             __field(u32, scanline)
                             ),
 
            TP_fast_assign(
+                          __assign_str(dev, __dev_name_kms(crtc));
                           __entry->pipe = crtc->pipe;
                           __entry->frame = intel_crtc_get_vblank_counter(crtc);
                           __entry->scanline = intel_get_crtc_scanline(crtc);
                           __entry->fbc = wm->fbc_en;
                           ),
 
-           TP_printk("pipe %c, frame=%u, scanline=%u, wm %d/%d/%d, sr %s/%d/%d/%d, hpll %s/%d/%d/%d, fbc %s",
-                     pipe_name(__entry->pipe), __entry->frame, __entry->scanline,
+           TP_printk("dev %s, pipe %c, frame=%u, scanline=%u, wm %d/%d/%d, sr %s/%d/%d/%d, hpll %s/%d/%d/%d, fbc %s",
+                     __get_str(dev), pipe_name(__entry->pipe),
+                     __entry->frame, __entry->scanline,
                      __entry->primary, __entry->sprite, __entry->cursor,
                      str_yes_no(__entry->cxsr), __entry->sr_plane, __entry->sr_cursor, __entry->sr_fbc,
                      str_yes_no(__entry->hpll), __entry->hpll_plane, __entry->hpll_cursor, __entry->hpll_fbc,
            TP_ARGS(crtc, wm),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_kms(crtc))
                             __field(enum pipe, pipe)
                             __field(u32, frame)
                             __field(u32, scanline)
                             ),
 
            TP_fast_assign(
+                          __assign_str(dev, __dev_name_kms(crtc));
                           __entry->pipe = crtc->pipe;
                           __entry->frame = intel_crtc_get_vblank_counter(crtc);
                           __entry->scanline = intel_get_crtc_scanline(crtc);
                           __entry->sr_cursor = wm->sr.cursor;
                           ),
 
-           TP_printk("pipe %c, frame=%u, scanline=%u, level=%d, cxsr=%d, wm %d/%d/%d/%d, sr %d/%d",
-                     pipe_name(__entry->pipe), __entry->frame,
-                     __entry->scanline, __entry->level, __entry->cxsr,
+           TP_printk("dev %s, pipe %c, frame=%u, scanline=%u, level=%d, cxsr=%d, wm %d/%d/%d/%d, sr %d/%d",
+                     __get_str(dev), pipe_name(__entry->pipe),
+                     __entry->frame, __entry->scanline,
+                     __entry->level, __entry->cxsr,
                      __entry->primary, __entry->sprite0, __entry->sprite1, __entry->cursor,
                      __entry->sr_plane, __entry->sr_cursor)
 );
            TP_ARGS(crtc, sprite0_start, sprite1_start, fifo_size),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_kms(crtc))
                             __field(enum pipe, pipe)
                             __field(u32, frame)
                             __field(u32, scanline)
                             ),
 
            TP_fast_assign(
+                          __assign_str(dev, __dev_name_kms(crtc));
                           __entry->pipe = crtc->pipe;
                           __entry->frame = intel_crtc_get_vblank_counter(crtc);
                           __entry->scanline = intel_get_crtc_scanline(crtc);
                           __entry->fifo_size = fifo_size;
                           ),
 
-           TP_printk("pipe %c, frame=%u, scanline=%u, %d/%d/%d",
-                     pipe_name(__entry->pipe), __entry->frame,
-                     __entry->scanline, __entry->sprite0_start,
-                     __entry->sprite1_start, __entry->fifo_size)
+           TP_printk("dev %s, pipe %c, frame=%u, scanline=%u, %d/%d/%d",
+                     __get_str(dev), pipe_name(__entry->pipe),
+                     __entry->frame, __entry->scanline,
+                     __entry->sprite0_start, __entry->sprite1_start, __entry->fifo_size)
 );
 
 TRACE_EVENT(intel_plane_update_noarm,
            TP_ARGS(plane, crtc),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_kms(plane))
                             __field(enum pipe, pipe)
                             __field(u32, frame)
                             __field(u32, scanline)
                             ),
 
            TP_fast_assign(
+                          __assign_str(dev, __dev_name_kms(plane));
                           __assign_str(name, plane->base.name);
                           __entry->pipe = crtc->pipe;
                           __entry->frame = intel_crtc_get_vblank_counter(crtc);
                           memcpy(__entry->dst, &plane->base.state->dst, sizeof(__entry->dst));
                           ),
 
-           TP_printk("pipe %c, plane %s, frame=%u, scanline=%u, " DRM_RECT_FP_FMT " -> " DRM_RECT_FMT,
-                     pipe_name(__entry->pipe), __get_str(name),
+           TP_printk("dev %s, pipe %c, plane %s, frame=%u, scanline=%u, " DRM_RECT_FP_FMT " -> " DRM_RECT_FMT,
+                     __get_str(dev), pipe_name(__entry->pipe), __get_str(name),
                      __entry->frame, __entry->scanline,
                      DRM_RECT_FP_ARG((const struct drm_rect *)__entry->src),
                      DRM_RECT_ARG((const struct drm_rect *)__entry->dst))
            TP_ARGS(plane, crtc),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_kms(plane))
                             __field(enum pipe, pipe)
                             __field(u32, frame)
                             __field(u32, scanline)
                             ),
 
            TP_fast_assign(
+                          __assign_str(dev, __dev_name_kms(plane));
                           __assign_str(name, plane->base.name);
                           __entry->pipe = crtc->pipe;
                           __entry->frame = intel_crtc_get_vblank_counter(crtc);
                           memcpy(__entry->dst, &plane->base.state->dst, sizeof(__entry->dst));
                           ),
 
-           TP_printk("pipe %c, plane %s, frame=%u, scanline=%u, " DRM_RECT_FP_FMT " -> " DRM_RECT_FMT,
-                     pipe_name(__entry->pipe), __get_str(name),
+           TP_printk("dev %s, pipe %c, plane %s, frame=%u, scanline=%u, " DRM_RECT_FP_FMT " -> " DRM_RECT_FMT,
+                     __get_str(dev), pipe_name(__entry->pipe), __get_str(name),
                      __entry->frame, __entry->scanline,
                      DRM_RECT_FP_ARG((const struct drm_rect *)__entry->src),
                      DRM_RECT_ARG((const struct drm_rect *)__entry->dst))
            TP_ARGS(plane, crtc),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_kms(plane))
                             __field(enum pipe, pipe)
                             __field(u32, frame)
                             __field(u32, scanline)
                             ),
 
            TP_fast_assign(
+                          __assign_str(dev, __dev_name_kms(plane));
                           __assign_str(name, plane->base.name);
                           __entry->pipe = crtc->pipe;
                           __entry->frame = intel_crtc_get_vblank_counter(crtc);
                           __entry->scanline = intel_get_crtc_scanline(crtc);
                           ),
 
-           TP_printk("pipe %c, plane %s, frame=%u, scanline=%u",
-                     pipe_name(__entry->pipe), __get_str(name),
+           TP_printk("dev %s, pipe %c, plane %s, frame=%u, scanline=%u",
+                     __get_str(dev), pipe_name(__entry->pipe), __get_str(name),
                      __entry->frame, __entry->scanline)
 );
 
            TP_ARGS(plane),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_kms(plane))
                             __string(name, plane->base.name)
                             __field(enum pipe, pipe)
                             __field(u32, frame)
            TP_fast_assign(
                           struct intel_crtc *crtc = intel_crtc_for_pipe(to_i915(plane->base.dev),
                                                                         plane->pipe);
+                          __assign_str(dev, __dev_name_kms(plane));
                           __assign_str(name, plane->base.name)
                           __entry->pipe = crtc->pipe;
                           __entry->frame = intel_crtc_get_vblank_counter(crtc);
                           __entry->scanline = intel_get_crtc_scanline(crtc);
                           ),
 
-           TP_printk("pipe %c, plane %s, frame=%u, scanline=%u",
-                     pipe_name(__entry->pipe), __get_str(name),
+           TP_printk("dev %s, pipe %c, plane %s, frame=%u, scanline=%u",
+                     __get_str(dev), pipe_name(__entry->pipe), __get_str(name),
                      __entry->frame, __entry->scanline)
 );
 
            TP_ARGS(plane),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_kms(plane))
                             __string(name, plane->base.name)
                             __field(enum pipe, pipe)
                             __field(u32, frame)
            TP_fast_assign(
                           struct intel_crtc *crtc = intel_crtc_for_pipe(to_i915(plane->base.dev),
                                                                         plane->pipe);
+                          __assign_str(dev, __dev_name_kms(plane));
                           __assign_str(name, plane->base.name)
                           __entry->pipe = crtc->pipe;
                           __entry->frame = intel_crtc_get_vblank_counter(crtc);
                           __entry->scanline = intel_get_crtc_scanline(crtc);
                           ),
 
-           TP_printk("pipe %c, plane %s, frame=%u, scanline=%u",
-                     pipe_name(__entry->pipe), __get_str(name),
+           TP_printk("dev %s, pipe %c, plane %s, frame=%u, scanline=%u",
+                     __get_str(dev), pipe_name(__entry->pipe), __get_str(name),
                      __entry->frame, __entry->scanline)
 );
 
            TP_ARGS(plane),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_kms(plane))
                             __string(name, plane->base.name)
                             __field(enum pipe, pipe)
                             __field(u32, frame)
            TP_fast_assign(
                           struct intel_crtc *crtc = intel_crtc_for_pipe(to_i915(plane->base.dev),
                                                                         plane->pipe);
+                          __assign_str(dev, __dev_name_kms(plane));
                           __assign_str(name, plane->base.name)
                           __entry->pipe = crtc->pipe;
                           __entry->frame = intel_crtc_get_vblank_counter(crtc);
                           __entry->scanline = intel_get_crtc_scanline(crtc);
                           ),
 
-           TP_printk("pipe %c, plane %s, frame=%u, scanline=%u",
-                     pipe_name(__entry->pipe), __get_str(name),
+           TP_printk("dev %s, pipe %c, plane %s, frame=%u, scanline=%u",
+                     __get_str(dev), pipe_name(__entry->pipe), __get_str(name),
                      __entry->frame, __entry->scanline)
 );
 
            TP_ARGS(crtc),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_kms(crtc))
                             __field(enum pipe, pipe)
                             __field(u32, frame)
                             __field(u32, scanline)
                             ),
 
            TP_fast_assign(
+                          __assign_str(dev, __dev_name_kms(crtc));
                           __entry->pipe = crtc->pipe;
                           __entry->frame = intel_crtc_get_vblank_counter(crtc);
                           __entry->scanline = intel_get_crtc_scanline(crtc);
                           ),
 
-           TP_printk("pipe %c, frame=%u, scanline=%u",
-                     pipe_name(__entry->pipe), __entry->frame,
-                      __entry->scanline)
+           TP_printk("dev %s, pipe %c, frame=%u, scanline=%u",
+                     __get_str(dev), pipe_name(__entry->pipe),
+                     __entry->frame, __entry->scanline)
 );
 
 TRACE_EVENT(intel_crtc_vblank_work_end,
            TP_ARGS(crtc),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_kms(crtc))
                             __field(enum pipe, pipe)
                             __field(u32, frame)
                             __field(u32, scanline)
                             ),
 
            TP_fast_assign(
+                          __assign_str(dev, __dev_name_kms(crtc));
                           __entry->pipe = crtc->pipe;
                           __entry->frame = intel_crtc_get_vblank_counter(crtc);
                           __entry->scanline = intel_get_crtc_scanline(crtc);
                           ),
 
-           TP_printk("pipe %c, frame=%u, scanline=%u",
-                     pipe_name(__entry->pipe), __entry->frame,
-                      __entry->scanline)
+           TP_printk("dev %s, pipe %c, frame=%u, scanline=%u",
+                     __get_str(dev), pipe_name(__entry->pipe),
+                     __entry->frame, __entry->scanline)
 );
 
 TRACE_EVENT(intel_pipe_update_start,
            TP_ARGS(crtc),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_kms(crtc))
                             __field(enum pipe, pipe)
                             __field(u32, frame)
                             __field(u32, scanline)
                             ),
 
            TP_fast_assign(
+                          __assign_str(dev, __dev_name_kms(crtc));
                           __entry->pipe = crtc->pipe;
                           __entry->frame = intel_crtc_get_vblank_counter(crtc);
                           __entry->scanline = intel_get_crtc_scanline(crtc);
                           __entry->max = crtc->debug.max_vbl;
                           ),
 
-           TP_printk("pipe %c, frame=%u, scanline=%u, min=%u, max=%u",
-                     pipe_name(__entry->pipe), __entry->frame,
-                      __entry->scanline, __entry->min, __entry->max)
+           TP_printk("dev %s, pipe %c, frame=%u, scanline=%u, min=%u, max=%u",
+                     __get_str(dev), pipe_name(__entry->pipe),
+                     __entry->frame, __entry->scanline,
+                     __entry->min, __entry->max)
 );
 
 TRACE_EVENT(intel_pipe_update_vblank_evaded,
            TP_ARGS(crtc),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_kms(crtc))
                             __field(enum pipe, pipe)
                             __field(u32, frame)
                             __field(u32, scanline)
                             ),
 
            TP_fast_assign(
+                          __assign_str(dev, __dev_name_kms(crtc));
                           __entry->pipe = crtc->pipe;
                           __entry->frame = crtc->debug.start_vbl_count;
                           __entry->scanline = crtc->debug.scanline_start;
                           __entry->max = crtc->debug.max_vbl;
                           ),
 
-           TP_printk("pipe %c, frame=%u, scanline=%u, min=%u, max=%u",
-                     pipe_name(__entry->pipe), __entry->frame,
-                      __entry->scanline, __entry->min, __entry->max)
+           TP_printk("dev %s, pipe %c, frame=%u, scanline=%u, min=%u, max=%u",
+                     __get_str(dev), pipe_name(__entry->pipe),
+                     __entry->frame, __entry->scanline,
+                     __entry->min, __entry->max)
 );
 
 TRACE_EVENT(intel_pipe_update_end,
            TP_ARGS(crtc, frame, scanline_end),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_kms(crtc))
                             __field(enum pipe, pipe)
                             __field(u32, frame)
                             __field(u32, scanline)
                             ),
 
            TP_fast_assign(
+                          __assign_str(dev, __dev_name_kms(crtc));
                           __entry->pipe = crtc->pipe;
                           __entry->frame = frame;
                           __entry->scanline = scanline_end;
                           ),
 
-           TP_printk("pipe %c, frame=%u, scanline=%u",
-                     pipe_name(__entry->pipe), __entry->frame,
-                     __entry->scanline)
+           TP_printk("dev %s, pipe %c, frame=%u, scanline=%u",
+                     __get_str(dev), pipe_name(__entry->pipe),
+                     __entry->frame, __entry->scanline)
 );
 
 TRACE_EVENT(intel_frontbuffer_invalidate,
            TP_ARGS(i915, frontbuffer_bits, origin),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_i915(i915))
                             __field(unsigned int, frontbuffer_bits)
                             __field(unsigned int, origin)
                             ),
 
            TP_fast_assign(
+                          __assign_str(dev, __dev_name_i915(i915));
                           __entry->frontbuffer_bits = frontbuffer_bits;
                           __entry->origin = origin;
                           ),
 
-           TP_printk("frontbuffer_bits=0x%08x, origin=%u",
-                     __entry->frontbuffer_bits, __entry->origin)
+           TP_printk("dev %s, frontbuffer_bits=0x%08x, origin=%u",
+                     __get_str(dev), __entry->frontbuffer_bits, __entry->origin)
 );
 
 TRACE_EVENT(intel_frontbuffer_flush,
            TP_ARGS(i915, frontbuffer_bits, origin),
 
            TP_STRUCT__entry(
+                            __string(dev, __dev_name_i915(i915))
                             __field(unsigned int, frontbuffer_bits)
                             __field(unsigned int, origin)
                             ),
 
            TP_fast_assign(
+                          __assign_str(dev, __dev_name_i915(i915));
                           __entry->frontbuffer_bits = frontbuffer_bits;
                           __entry->origin = origin;
                           ),
 
-           TP_printk("frontbuffer_bits=0x%08x, origin=%u",
-                     __entry->frontbuffer_bits, __entry->origin)
+           TP_printk("dev %s, frontbuffer_bits=0x%08x, origin=%u",
+                     __get_str(dev), __entry->frontbuffer_bits, __entry->origin)
 );
 
 #endif /* __INTEL_DISPLAY_TRACE_H__ */