Hi all, After merging the pm tree, today's linux-next build (x86_64 allmodconfig) failed like this: In file included from drivers/cpufreq/intel_pstate.c:11: drivers/cpufreq/intel_pstate.c: In function 'intel_pstate_update_max_freq': drivers/cpufreq/intel_pstate.c:912:31: error: 'struct cpufreq_policy' has no member named 'user_policy'; did you mean 'last_policy'? new_policy.max = min(policy->user_policy.max, policy->cpuinfo.max_freq); ^~~~~~~~~~~ include/linux/kernel.h:819:22: note: in definition of macro '__typecheck' (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) ^ include/linux/kernel.h:843:24: note: in expansion of macro '__safe_cmp' __builtin_choose_expr(__safe_cmp(x, y), \ ^~~~~~~~~~ include/linux/kernel.h:852:19: note: in expansion of macro '__careful_cmp' #define min(x, y) __careful_cmp(x, y, <) ^~~~~~~~~~~~~ drivers/cpufreq/intel_pstate.c:912:19: note: in expansion of macro 'min' new_policy.max = min(policy->user_policy.max, policy->cpuinfo.max_freq); ^~~ drivers/cpufreq/intel_pstate.c:912:31: error: 'struct cpufreq_policy' has no member named 'user_policy'; did you mean 'last_policy'? new_policy.max = min(policy->user_policy.max, policy->cpuinfo.max_freq); ^~~~~~~~~~~ include/linux/kernel.h:827:48: note: in definition of macro '__is_constexpr' (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) ^ include/linux/kernel.h:833:25: note: in expansion of macro '__no_side_effects' (__typecheck(x, y) && __no_side_effects(x, y)) ^~~~~~~~~~~~~~~~~ include/linux/kernel.h:843:24: note: in expansion of macro '__safe_cmp' __builtin_choose_expr(__safe_cmp(x, y), \ ^~~~~~~~~~ include/linux/kernel.h:852:19: note: in expansion of macro '__careful_cmp' #define min(x, y) __careful_cmp(x, y, <) ^~~~~~~~~~~~~ drivers/cpufreq/intel_pstate.c:912:19: note: in expansion of macro 'min' new_policy.max = min(policy->user_policy.max, policy->cpuinfo.max_freq); ^~~ drivers/cpufreq/intel_pstate.c:912:31: error: 'struct cpufreq_policy' has no member named 'user_policy'; did you mean 'last_policy'? new_policy.max = min(policy->user_policy.max, policy->cpuinfo.max_freq); ^~~~~~~~~~~ include/linux/kernel.h:835:27: note: in definition of macro '__cmp' #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) ^ include/linux/kernel.h:852:19: note: in expansion of macro '__careful_cmp' #define min(x, y) __careful_cmp(x, y, <) ^~~~~~~~~~~~~ drivers/cpufreq/intel_pstate.c:912:19: note: in expansion of macro 'min' new_policy.max = min(policy->user_policy.max, policy->cpuinfo.max_freq); ^~~ drivers/cpufreq/intel_pstate.c:912:31: error: 'struct cpufreq_policy' has no member named 'user_policy'; did you mean 'last_policy'? new_policy.max = min(policy->user_policy.max, policy->cpuinfo.max_freq); ^~~~~~~~~~~ include/linux/kernel.h:835:40: note: in definition of macro '__cmp' #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) ^ include/linux/kernel.h:852:19: note: in expansion of macro '__careful_cmp' #define min(x, y) __careful_cmp(x, y, <) ^~~~~~~~~~~~~ drivers/cpufreq/intel_pstate.c:912:19: note: in expansion of macro 'min' new_policy.max = min(policy->user_policy.max, policy->cpuinfo.max_freq); ^~~ drivers/cpufreq/intel_pstate.c:912:31: error: 'struct cpufreq_policy' has no member named 'user_policy'; did you mean 'last_policy'? new_policy.max = min(policy->user_policy.max, policy->cpuinfo.max_freq); ^~~~~~~~~~~ include/linux/kernel.h:838:10: note: in definition of macro '__cmp_once' typeof(x) unique_x = (x); \ ^ include/linux/kernel.h:852:19: note: in expansion of macro '__careful_cmp' #define min(x, y) __careful_cmp(x, y, <) ^~~~~~~~~~~~~ drivers/cpufreq/intel_pstate.c:912:19: note: in expansion of macro 'min' new_policy.max = min(policy->user_policy.max, policy->cpuinfo.max_freq); ^~~ drivers/cpufreq/intel_pstate.c:912:31: error: 'struct cpufreq_policy' has no member named 'user_policy'; did you mean 'last_policy'? new_policy.max = min(policy->user_policy.max, policy->cpuinfo.max_freq); ^~~~~~~~~~~ include/linux/kernel.h:838:25: note: in definition of macro '__cmp_once' typeof(x) unique_x = (x); \ ^ include/linux/kernel.h:852:19: note: in expansion of macro '__careful_cmp' #define min(x, y) __careful_cmp(x, y, <) ^~~~~~~~~~~~~ drivers/cpufreq/intel_pstate.c:912:19: note: in expansion of macro 'min' new_policy.max = min(policy->user_policy.max, policy->cpuinfo.max_freq); ^~~ include/linux/kernel.h:843:2: error: first argument to '__builtin_choose_expr' not a constant __builtin_choose_expr(__safe_cmp(x, y), \ ^~~~~~~~~~~~~~~~~~~~~ include/linux/kernel.h:852:19: note: in expansion of macro '__careful_cmp' #define min(x, y) __careful_cmp(x, y, <) ^~~~~~~~~~~~~ drivers/cpufreq/intel_pstate.c:912:19: note: in expansion of macro 'min' new_policy.max = min(policy->user_policy.max, policy->cpuinfo.max_freq); ^~~ drivers/cpufreq/intel_pstate.c:913:31: error: 'struct cpufreq_policy' has no member named 'user_policy'; did you mean 'last_policy'? new_policy.min = min(policy->user_policy.min, new_policy.max); ^~~~~~~~~~~ include/linux/kernel.h:819:22: note: in definition of macro '__typecheck' (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) ^ include/linux/kernel.h:843:24: note: in expansion of macro '__safe_cmp' __builtin_choose_expr(__safe_cmp(x, y), \ ^~~~~~~~~~ include/linux/kernel.h:852:19: note: in expansion of macro '__careful_cmp' #define min(x, y) __careful_cmp(x, y, <) ^~~~~~~~~~~~~ drivers/cpufreq/intel_pstate.c:913:19: note: in expansion of macro 'min' new_policy.min = min(policy->user_policy.min, new_policy.max); ^~~ drivers/cpufreq/intel_pstate.c:913:31: error: 'struct cpufreq_policy' has no member named 'user_policy'; did you mean 'last_policy'? new_policy.min = min(policy->user_policy.min, new_policy.max); ^~~~~~~~~~~ include/linux/kernel.h:827:48: note: in definition of macro '__is_constexpr' (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) ^ include/linux/kernel.h:833:25: note: in expansion of macro '__no_side_effects' (__typecheck(x, y) && __no_side_effects(x, y)) ^~~~~~~~~~~~~~~~~ include/linux/kernel.h:843:24: note: in expansion of macro '__safe_cmp' __builtin_choose_expr(__safe_cmp(x, y), \ ^~~~~~~~~~ include/linux/kernel.h:852:19: note: in expansion of macro '__careful_cmp' #define min(x, y) __careful_cmp(x, y, <) ^~~~~~~~~~~~~ drivers/cpufreq/intel_pstate.c:913:19: note: in expansion of macro 'min' new_policy.min = min(policy->user_policy.min, new_policy.max); ^~~ drivers/cpufreq/intel_pstate.c:913:31: error: 'struct cpufreq_policy' has no member named 'user_policy'; did you mean 'last_policy'? new_policy.min = min(policy->user_policy.min, new_policy.max); ^~~~~~~~~~~ include/linux/kernel.h:835:27: note: in definition of macro '__cmp' #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) ^ include/linux/kernel.h:852:19: note: in expansion of macro '__careful_cmp' #define min(x, y) __careful_cmp(x, y, <) ^~~~~~~~~~~~~ drivers/cpufreq/intel_pstate.c:913:19: note: in expansion of macro 'min' new_policy.min = min(policy->user_policy.min, new_policy.max); ^~~ drivers/cpufreq/intel_pstate.c:913:31: error: 'struct cpufreq_policy' has no member named 'user_policy'; did you mean 'last_policy'? new_policy.min = min(policy->user_policy.min, new_policy.max); ^~~~~~~~~~~ include/linux/kernel.h:835:40: note: in definition of macro '__cmp' #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) ^ include/linux/kernel.h:852:19: note: in expansion of macro '__careful_cmp' #define min(x, y) __careful_cmp(x, y, <) ^~~~~~~~~~~~~ drivers/cpufreq/intel_pstate.c:913:19: note: in expansion of macro 'min' new_policy.min = min(policy->user_policy.min, new_policy.max); ^~~ drivers/cpufreq/intel_pstate.c:913:31: error: 'struct cpufreq_policy' has no member named 'user_policy'; did you mean 'last_policy'? new_policy.min = min(policy->user_policy.min, new_policy.max); ^~~~~~~~~~~ include/linux/kernel.h:838:10: note: in definition of macro '__cmp_once' typeof(x) unique_x = (x); \ ^ include/linux/kernel.h:852:19: note: in expansion of macro '__careful_cmp' #define min(x, y) __careful_cmp(x, y, <) ^~~~~~~~~~~~~ drivers/cpufreq/intel_pstate.c:913:19: note: in expansion of macro 'min' new_policy.min = min(policy->user_policy.min, new_policy.max); ^~~ drivers/cpufreq/intel_pstate.c:913:31: error: 'struct cpufreq_policy' has no member named 'user_policy'; did you mean 'last_policy'? new_policy.min = min(policy->user_policy.min, new_policy.max); ^~~~~~~~~~~ include/linux/kernel.h:838:25: note: in definition of macro '__cmp_once' typeof(x) unique_x = (x); \ ^ include/linux/kernel.h:852:19: note: in expansion of macro '__careful_cmp' #define min(x, y) __careful_cmp(x, y, <) ^~~~~~~~~~~~~ drivers/cpufreq/intel_pstate.c:913:19: note: in expansion of macro 'min' new_policy.min = min(policy->user_policy.min, new_policy.max); ^~~ include/linux/kernel.h:843:2: error: first argument to '__builtin_choose_expr' not a constant __builtin_choose_expr(__safe_cmp(x, y), \ ^~~~~~~~~~~~~~~~~~~~~ include/linux/kernel.h:852:19: note: in expansion of macro '__careful_cmp' #define min(x, y) __careful_cmp(x, y, <) ^~~~~~~~~~~~~ drivers/cpufreq/intel_pstate.c:913:19: note: in expansion of macro 'min' new_policy.min = min(policy->user_policy.min, new_policy.max); ^~~ Caused by commit 218208538ffe ("cpufreq: Add QoS requests for userspace constraints") from the pm tree interacting with commit 9083e4986124 ("cpufreq: intel_pstate: Update max frequency on global turbo changes") from Linus' tree. I have used the pm tree from next-20190628 for today. -- Cheers, Stephen Rothwell