Commit 0049f04c authored by Thorsten Blum's avatar Thorsten Blum Committed by Dave Hansen

x86/apic: Improve data types to fix Coccinelle warnings

Given that acpi_pm_read_early() returns a u32 (masked to 24 bits), several
variables that store its return value are improved by adjusting their data
types from unsigned long to u32. Specifically, change deltapm's type from
long to u32 because its value fits into 32 bits and it cannot be negative.

These data type improvements resolve the following two Coccinelle/
coccicheck warnings reported by do_div.cocci:

arch/x86/kernel/apic/apic.c:734:1-7: WARNING: do_div() does a 64-by-32
division, please consider using div64_long instead.

arch/x86/kernel/apic/apic.c:742:2-8: WARNING: do_div() does a 64-by-32
division, please consider using div64_long instead.
Signed-off-by: default avatarThorsten Blum <thorsten.blum@toblux.com>
Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
Link: https://lore.kernel.org/all/20240318104721.117741-3-thorsten.blum%40toblux.com
parent 39cd87c4
...@@ -631,7 +631,7 @@ void lapic_update_tsc_freq(void) ...@@ -631,7 +631,7 @@ void lapic_update_tsc_freq(void)
static __initdata int lapic_cal_loops = -1; static __initdata int lapic_cal_loops = -1;
static __initdata long lapic_cal_t1, lapic_cal_t2; static __initdata long lapic_cal_t1, lapic_cal_t2;
static __initdata unsigned long long lapic_cal_tsc1, lapic_cal_tsc2; static __initdata unsigned long long lapic_cal_tsc1, lapic_cal_tsc2;
static __initdata unsigned long lapic_cal_pm1, lapic_cal_pm2; static __initdata u32 lapic_cal_pm1, lapic_cal_pm2;
static __initdata unsigned long lapic_cal_j1, lapic_cal_j2; static __initdata unsigned long lapic_cal_j1, lapic_cal_j2;
/* /*
...@@ -641,7 +641,7 @@ static void __init lapic_cal_handler(struct clock_event_device *dev) ...@@ -641,7 +641,7 @@ static void __init lapic_cal_handler(struct clock_event_device *dev)
{ {
unsigned long long tsc = 0; unsigned long long tsc = 0;
long tapic = apic_read(APIC_TMCCT); long tapic = apic_read(APIC_TMCCT);
unsigned long pm = acpi_pm_read_early(); u32 pm = acpi_pm_read_early();
if (boot_cpu_has(X86_FEATURE_TSC)) if (boot_cpu_has(X86_FEATURE_TSC))
tsc = rdtsc(); tsc = rdtsc();
...@@ -666,7 +666,7 @@ static void __init lapic_cal_handler(struct clock_event_device *dev) ...@@ -666,7 +666,7 @@ static void __init lapic_cal_handler(struct clock_event_device *dev)
} }
static int __init static int __init
calibrate_by_pmtimer(long deltapm, long *delta, long *deltatsc) calibrate_by_pmtimer(u32 deltapm, long *delta, long *deltatsc)
{ {
const long pm_100ms = PMTMR_TICKS_PER_SEC / 10; const long pm_100ms = PMTMR_TICKS_PER_SEC / 10;
const long pm_thresh = pm_100ms / 100; const long pm_thresh = pm_100ms / 100;
...@@ -677,7 +677,7 @@ calibrate_by_pmtimer(long deltapm, long *delta, long *deltatsc) ...@@ -677,7 +677,7 @@ calibrate_by_pmtimer(long deltapm, long *delta, long *deltatsc)
return -1; return -1;
#endif #endif
apic_printk(APIC_VERBOSE, "... PM-Timer delta = %ld\n", deltapm); apic_printk(APIC_VERBOSE, "... PM-Timer delta = %u\n", deltapm);
/* Check, if the PM timer is available */ /* Check, if the PM timer is available */
if (!deltapm) if (!deltapm)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment