Subject: linux-next: build failure after merge of the thermal tree

From: Stephen Rothwell <[email-masked]>
Date: Tue, 15 Dec 2020 12:58:06 +1100

Hi all,

After merging the thermal tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

drivers/thermal/devfreq_cooling.c: In function 'devfreq_cooling_set_cur_state':
drivers/thermal/devfreq_cooling.c:102:9: error: 'struct device' has no member named 'em_pd'
  102 |  if (dev->em_pd) {
      |         ^~
drivers/thermal/devfreq_cooling.c:104:13: error: 'struct device' has no member named 'em_pd'
  104 |   freq = dev->em_pd->table[perf_idx].frequency * 1000;
      |             ^~
drivers/thermal/devfreq_cooling.c: In function 'devfreq_cooling_get_requested_power':
drivers/thermal/devfreq_cooling.c:207:23: error: 'struct device' has no member named 'em_pd'
  207 |    dfc->res_util = dev->em_pd->table[state].power;
      |                       ^~
drivers/thermal/devfreq_cooling.c:217:30: error: 'struct device' has no member named 'em_pd'
  217 |   perf_idx = get_perf_idx(dev->em_pd, freq / 1000);
      |                              ^~
drivers/thermal/devfreq_cooling.c:226:15: error: 'struct device' has no member named 'em_pd'
  226 |   *power = dev->em_pd->table[perf_idx].power;
      |               ^~
drivers/thermal/devfreq_cooling.c: In function 'devfreq_cooling_state2power':
drivers/thermal/devfreq_cooling.c:252:14: error: 'struct device' has no member named 'em_pd'
  252 |  *power = dev->em_pd->table[perf_idx].power;
      |              ^~
drivers/thermal/devfreq_cooling.c: In function 'devfreq_cooling_power2state':
drivers/thermal/devfreq_cooling.c:290:23: error: 'struct device' has no member named 'em_pd'
  290 |   if (est_power >= dev->em_pd->table[i].power)
      |                       ^~
drivers/thermal/devfreq_cooling.c: In function 'of_devfreq_cooling_register_power':
drivers/thermal/devfreq_cooling.c:377:9: error: 'struct device' has no member named 'em_pd'
  377 |  if (dev->em_pd) {
      |         ^~
drivers/thermal/devfreq_cooling.c:385:38: error: 'struct device' has no member named 'em_pd'
  385 |   num_opps = em_pd_nr_perf_states(dev->em_pd);
      |                                      ^~

Caused by commit

  615510fe13bd ("thermal: devfreq_cooling: remove old power model and use EM")

em_pd is only available when CONFIG_ENERGY_MODEL is set.

I have used the thermal tree from next-20201214 for today.

-- 
Cheers,
Stephen Rothwell