Commit 23af368e authored by Thomas Gleixner's avatar Thomas Gleixner

clockevents: Use u32 for mult and shift factors

The mult and shift factors of clock events differ in their data type
from those of clock sources for no reason. u32 is sufficient for
both. shift is always <= 32 and mult is limited to 2^32-1 to avoid
64bit multiplication overflows in the conversion.

Preparatory patch for a generic mult/shift factor calculation
function.
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Tested-by: default avatarMikael Pettersson <mikpe@it.uu.se>
Acked-by: default avatarRalf Baechle <ralf@linux-mips.org>
Acked-by: default avatarLinus Walleij <linus.walleij@stericsson.com>
Cc: John Stultz <johnstul@us.ibm.com>
LKML-Reference: <20091111134229.725664788@linutronix.de>
parent 3c5d92a0
...@@ -79,8 +79,8 @@ struct clock_event_device { ...@@ -79,8 +79,8 @@ struct clock_event_device {
unsigned int features; unsigned int features;
unsigned long max_delta_ns; unsigned long max_delta_ns;
unsigned long min_delta_ns; unsigned long min_delta_ns;
unsigned long mult; u32 mult;
int shift; u32 shift;
int rating; int rating;
int irq; int irq;
const struct cpumask *cpumask; const struct cpumask *cpumask;
......
...@@ -206,8 +206,8 @@ print_tickdevice(struct seq_file *m, struct tick_device *td, int cpu) ...@@ -206,8 +206,8 @@ print_tickdevice(struct seq_file *m, struct tick_device *td, int cpu)
SEQ_printf(m, "%s\n", dev->name); SEQ_printf(m, "%s\n", dev->name);
SEQ_printf(m, " max_delta_ns: %lu\n", dev->max_delta_ns); SEQ_printf(m, " max_delta_ns: %lu\n", dev->max_delta_ns);
SEQ_printf(m, " min_delta_ns: %lu\n", dev->min_delta_ns); SEQ_printf(m, " min_delta_ns: %lu\n", dev->min_delta_ns);
SEQ_printf(m, " mult: %lu\n", dev->mult); SEQ_printf(m, " mult: %u\n", dev->mult);
SEQ_printf(m, " shift: %d\n", dev->shift); SEQ_printf(m, " shift: %u\n", dev->shift);
SEQ_printf(m, " mode: %d\n", dev->mode); SEQ_printf(m, " mode: %d\n", dev->mode);
SEQ_printf(m, " next_event: %Ld nsecs\n", SEQ_printf(m, " next_event: %Ld nsecs\n",
(unsigned long long) ktime_to_ns(dev->next_event)); (unsigned long long) ktime_to_ns(dev->next_event));
......
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