Re: [PATCH v3] intel_idle: introduce 'no_native' module parameter

kernel test robot
2025-02-12T10:10:39Z

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-20250212]
[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-006-20250212 (https://download.01.org/0day-ci/archive/20250212/202502121732.P7lZkbhm-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250212/202502121732.P7lZkbhm-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202502121732.P7lZkbhm-lkp@intel.com/

All errors (new ones prefixed by >>):

drivers/idle/intel_idle.c: In function 'intel_idle_init':
>> drivers/idle/intel_idle.c:2289:27: error: 'no_acpi' undeclared (first use in this function); did you mean 'no_action'?
2289 | if (no_native && !no_acpi) {
| ^~~~~~~
| no_action
drivers/idle/intel_idle.c:2289:27: note: each undeclared identifier is reported only once for each function it appears in

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