Hi David, kernel test robot noticed the following build errors: [auto build test ERROR on acpi/next] [also build test ERROR on amd-pstate/linux-next amd-pstate/bleeding-edge linus/master v6.14-rc2 next-20250213] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/David-Arcari/intel_idle-introduce-no_native-module-parameter/20250211-213031 base: https://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux.git next patch link: https://lore.kernel.org/r/20250211132741.99944-1-darcari%40redhat.com patch subject: [PATCH v3] intel_idle: introduce 'no_native' module parameter config: i386-buildonly-randconfig-002-20250213 (https://download.01.org/0day-ci/archive/20250213/202502131953.d3fHaDCE-lkp@xxxxxxxxx/config) compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250213/202502131953.d3fHaDCE-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202502131953.d3fHaDCE-lkp@xxxxxxxxx/ All error/warnings (new ones prefixed by >>): In file included from drivers/idle/intel_idle.c:48: In file included from include/trace/events/power.h:12: In file included from include/linux/trace_events.h:6: In file included from include/linux/ring_buffer.h:5: In file included from include/linux/mm.h:2213: include/linux/vmstat.h:518:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 518 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ >> drivers/idle/intel_idle.c:2289:20: error: use of undeclared identifier 'no_acpi'; did you mean 'no_action'? 2289 | if (no_native && !no_acpi) { | ^~~~~~~ | no_action include/linux/interrupt.h:138:20: note: 'no_action' declared here 138 | extern irqreturn_t no_action(int cpl, void *dev_id); | ^ >> drivers/idle/intel_idle.c:2289:20: warning: address of function 'no_action' will always evaluate to 'true' [-Wpointer-bool-conversion] 2289 | if (no_native && !no_acpi) { | ~^~~~~~~ drivers/idle/intel_idle.c:2289:20: note: prefix with the address-of operator to silence this warning 2289 | if (no_native && !no_acpi) { | ^ | & 2 warnings and 1 error generated. vim +2289 drivers/idle/intel_idle.c 2248 2249 static int __init intel_idle_init(void) 2250 { 2251 const struct x86_cpu_id *id; 2252 unsigned int eax, ebx, ecx; 2253 int retval; 2254 2255 /* Do not load intel_idle at all for now if idle= is passed */ 2256 if (boot_option_idle_override != IDLE_NO_OVERRIDE) 2257 return -ENODEV; 2258 2259 if (max_cstate == 0) { 2260 pr_debug("disabled\n"); 2261 return -EPERM; 2262 } 2263 2264 id = x86_match_cpu(intel_idle_ids); 2265 if (id) { 2266 if (!boot_cpu_has(X86_FEATURE_MWAIT)) { 2267 pr_debug("Please enable MWAIT in BIOS SETUP\n"); 2268 return -ENODEV; 2269 } 2270 } else { 2271 id = x86_match_cpu(intel_mwait_ids); 2272 if (!id) 2273 return -ENODEV; 2274 } 2275 2276 if (boot_cpu_data.cpuid_level < CPUID_MWAIT_LEAF) 2277 return -ENODEV; 2278 2279 cpuid(CPUID_MWAIT_LEAF, &eax, &ebx, &ecx, &mwait_substates); 2280 2281 if (!(ecx & CPUID5_ECX_EXTENSIONS_SUPPORTED) || 2282 !(ecx & CPUID5_ECX_INTERRUPT_BREAK) || 2283 !mwait_substates) 2284 return -ENODEV; 2285 2286 pr_debug("MWAIT substates: 0x%x\n", mwait_substates); 2287 2288 icpu = (const struct idle_cpu *)id->driver_data; > 2289 if (no_native && !no_acpi) { 2290 if (icpu) { 2291 pr_debug("ignoring native cpu idle states\n"); 2292 icpu = NULL; 2293 } 2294 } 2295 if (icpu) { 2296 if (icpu->state_table) 2297 cpuidle_state_table = icpu->state_table; 2298 else if (!intel_idle_acpi_cst_extract()) 2299 return -ENODEV; 2300 2301 auto_demotion_disable_flags = icpu->auto_demotion_disable_flags; 2302 if (icpu->disable_promotion_to_c1e) 2303 c1e_promotion = C1E_PROMOTION_DISABLE; 2304 if (icpu->use_acpi || force_use_acpi) 2305 intel_idle_acpi_cst_extract(); 2306 } else if (!intel_idle_acpi_cst_extract()) { 2307 return -ENODEV; 2308 } 2309 2310 pr_debug("v" INTEL_IDLE_VERSION " model 0x%X\n", 2311 boot_cpu_data.x86_model); 2312 2313 intel_idle_cpuidle_devices = alloc_percpu(struct cpuidle_device); 2314 if (!intel_idle_cpuidle_devices) 2315 return -ENOMEM; 2316 2317 intel_idle_cpuidle_driver_init(&intel_idle_driver); 2318 2319 retval = cpuidle_register_driver(&intel_idle_driver); 2320 if (retval) { 2321 struct cpuidle_driver *drv = cpuidle_get_driver(); 2322 printk(KERN_DEBUG pr_fmt("intel_idle yielding to %s\n"), 2323 drv ? drv->name : "none"); 2324 goto init_driver_fail; 2325 } 2326 2327 retval = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "idle/intel:online", 2328 intel_idle_cpu_online, NULL); 2329 if (retval < 0) 2330 goto hp_setup_fail; 2331 2332 pr_debug("Local APIC timer is reliable in %s\n", 2333 boot_cpu_has(X86_FEATURE_ARAT) ? "all C-states" : "C1"); 2334 2335 return 0; 2336 2337 hp_setup_fail: 2338 intel_idle_cpuidle_devices_uninit(); 2339 cpuidle_unregister_driver(&intel_idle_driver); 2340 init_driver_fail: 2341 free_percpu(intel_idle_cpuidle_devices); 2342 return retval; 2343 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki