*/
 int trace_print_lat_fmt(struct trace_seq *s, struct trace_entry *entry)
 {
-       int hardirq, softirq;
+       char hardsoft_irq;
+       char need_resched;
+       char irqs_off;
+       int hardirq;
+       int softirq;
        int ret;
 
        hardirq = entry->flags & TRACE_FLAG_HARDIRQ;
        softirq = entry->flags & TRACE_FLAG_SOFTIRQ;
 
+       irqs_off =
+               (entry->flags & TRACE_FLAG_IRQS_OFF) ? 'd' :
+               (entry->flags & TRACE_FLAG_IRQS_NOSUPPORT) ? 'X' :
+               '.';
+       need_resched =
+               (entry->flags & TRACE_FLAG_NEED_RESCHED) ? 'N' : '.';
+       hardsoft_irq =
+               (hardirq && softirq) ? 'H' :
+               hardirq ? 'h' :
+               softirq ? 's' :
+               '.';
+
        if (!trace_seq_printf(s, "%c%c%c",
-                             (entry->flags & TRACE_FLAG_IRQS_OFF) ? 'd' :
-                               (entry->flags & TRACE_FLAG_IRQS_NOSUPPORT) ?
-                                 'X' : '.',
-                             (entry->flags & TRACE_FLAG_NEED_RESCHED) ?
-                               'N' : '.',
-                             (hardirq && softirq) ? 'H' :
-                               hardirq ? 'h' : softirq ? 's' : '.'))
+                             irqs_off, need_resched, hardsoft_irq))
                return 0;
 
        if (entry->preempt_count)