cpufreq / intel_pstate: Fix 32 bit build
authorDirk Brandewie <dirk.brandewie@gmail.com>
Mon, 11 Feb 2013 19:33:34 +0000 (20:33 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 11 Feb 2013 19:33:34 +0000 (20:33 +0100)
Fixes 32 bit build.

on i386:
drivers/built-in.o: In function `intel_pstate_timer_func':
intel_pstate.c:(.text+0x4ce97e): undefined reference to `__udivdi3'
drivers/built-in.o: In function `intel_pstate_cpu_init':
intel_pstate.c:(.cpuinit.text+0x974): undefined reference to `__udivdi3'

Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/intel_pstate.c

index 86ad482..e879963 100644 (file)
@@ -456,7 +456,8 @@ static inline void intel_pstate_calc_busy(struct cpudata *cpu,
        core_pct = div64_u64(sample->aperf * 100, sample->mperf);
        sample->freq = cpu->pstate.turbo_pstate * core_pct * 1000;
 
-       sample->core_pct_busy = sample->pstate_pct_busy * core_pct / 100;
+       sample->core_pct_busy = div_s64((sample->pstate_pct_busy * core_pct),
+                                       100);
 }
 
 static inline void intel_pstate_sample(struct cpudata *cpu)