]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
perf/x86/intel/p4: Fix unused variable warning in p4_pmu_init()
authorAldo Conte <aldocontelk@gmail.com>
Fri, 20 Mar 2026 11:23:02 +0000 (12:23 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 24 Mar 2026 14:11:42 +0000 (15:11 +0100)
Build the kernel with make W=1 generates the following warning:

  arch/x86/events/intel/p4.c: In function ‘p4_pmu_init’:
  arch/x86/events/intel/p4.c:1370:27: error: variable ‘high’ set but not used [-Werror=unused-but-set-variable]
   1370 |         unsigned int low, high;
        |                           ^~~~

This happens because, although both variables are declared and
initialized by rdmsr, only `low` is used in the subsequent if statement.

This patch uses the rdmsrq() macro instead of the rdmsr() macro.
The rdmsrq() macro avoids the use of high and low variables
because it reads the msr value in a single u64 variable.
Also, replace (1 << 7) with the proper macro.

Running `make W=1` again resolves the error.
I was unable to test the patch because
i do not have the hardware.

Suggested-by: Dave Hansen <dave.hansen@linux.intel.com>
Signed-off-by: Aldo Conte <aldocontelk@gmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20260320112302.281549-1-aldocontelk@gmail.com
arch/x86/events/intel/p4.c

index e5fd7367e45d673a899b6630454c39b94ed220fb..02bfdb77158b46c1ee6ff44243a5d21cb2825c52 100644 (file)
@@ -1367,14 +1367,14 @@ static __initconst const struct x86_pmu p4_pmu = {
 
 __init int p4_pmu_init(void)
 {
-       unsigned int low, high;
+       unsigned int misc;
        int i, reg;
 
        /* If we get stripped -- indexing fails */
        BUILD_BUG_ON(ARCH_P4_MAX_CCCR > INTEL_PMC_MAX_GENERIC);
 
-       rdmsr(MSR_IA32_MISC_ENABLE, low, high);
-       if (!(low & (1 << 7))) {
+       rdmsrq(MSR_IA32_MISC_ENABLE, misc);
+       if (!(misc & MSR_IA32_MISC_ENABLE_EMON)) {
                pr_cont("unsupported Netburst CPU model %d ",
                        boot_cpu_data.x86_model);
                return -ENODEV;