* struct em_perf_domain - Performance domain
  * @table:             List of performance states, in ascending order
  * @nr_perf_states:    Number of performance states
- * @milliwatts:                Flag indicating the power values are in milli-Watts
- *                     or some other scale.
+ * @flags:             See "em_perf_domain flags"
  * @cpus:              Cpumask covering the CPUs of the domain. It's here
  *                     for performance reasons to avoid potential cache
  *                     misses during energy calculations in the scheduler
 struct em_perf_domain {
        struct em_perf_state *table;
        int nr_perf_states;
-       int milliwatts;
+       unsigned long flags;
        unsigned long cpus[];
 };
 
+/*
+ *  em_perf_domain flags:
+ *
+ *  EM_PERF_DOMAIN_MILLIWATTS: The power values are in milli-Watts or some
+ *  other scale.
+ */
+#define EM_PERF_DOMAIN_MILLIWATTS BIT(0)
+
 #define em_span_cpus(em) (to_cpumask((em)->cpus))
 
 #ifdef CONFIG_ENERGY_MODEL
 
 static int em_debug_units_show(struct seq_file *s, void *unused)
 {
        struct em_perf_domain *pd = s->private;
-       char *units = pd->milliwatts ? "milliWatts" : "bogoWatts";
+       char *units = (pd->flags & EM_PERF_DOMAIN_MILLIWATTS) ?
+               "milliWatts" : "bogoWatts";
 
        seq_printf(s, "%s\n", units);
 
        if (ret)
                goto unlock;
 
-       dev->em_pd->milliwatts = milliwatts;
+       if (milliwatts)
+               dev->em_pd->flags |= EM_PERF_DOMAIN_MILLIWATTS;
 
        em_debug_create_pd(dev);
        dev_info(dev, "EM: created perf domain\n");