x86: i8253 cleanup
Impact: cleanup - fix various style problems - fix header file issues Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
This commit is contained in:
parent
390cd85c8a
commit
c8344bc218
1 changed files with 33 additions and 35 deletions
|
@ -3,17 +3,17 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#include <linux/clockchips.h>
|
#include <linux/clockchips.h>
|
||||||
#include <linux/init.h>
|
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
|
#include <linux/spinlock.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/spinlock.h>
|
#include <linux/delay.h>
|
||||||
|
#include <linux/init.h>
|
||||||
|
#include <linux/io.h>
|
||||||
|
|
||||||
#include <asm/smp.h>
|
|
||||||
#include <asm/delay.h>
|
|
||||||
#include <asm/i8253.h>
|
#include <asm/i8253.h>
|
||||||
#include <asm/io.h>
|
|
||||||
#include <asm/hpet.h>
|
#include <asm/hpet.h>
|
||||||
|
#include <asm/smp.h>
|
||||||
|
|
||||||
DEFINE_SPINLOCK(i8253_lock);
|
DEFINE_SPINLOCK(i8253_lock);
|
||||||
EXPORT_SYMBOL(i8253_lock);
|
EXPORT_SYMBOL(i8253_lock);
|
||||||
|
@ -40,7 +40,7 @@ static void init_pit_timer(enum clock_event_mode mode,
|
||||||
{
|
{
|
||||||
spin_lock(&i8253_lock);
|
spin_lock(&i8253_lock);
|
||||||
|
|
||||||
switch(mode) {
|
switch (mode) {
|
||||||
case CLOCK_EVT_MODE_PERIODIC:
|
case CLOCK_EVT_MODE_PERIODIC:
|
||||||
/* binary, mode 2, LSB/MSB, ch 0 */
|
/* binary, mode 2, LSB/MSB, ch 0 */
|
||||||
outb_pit(0x34, PIT_MODE);
|
outb_pit(0x34, PIT_MODE);
|
||||||
|
@ -95,7 +95,7 @@ static int pit_next_event(unsigned long delta, struct clock_event_device *evt)
|
||||||
* registered. This mechanism replaces the previous #ifdef LOCAL_APIC -
|
* registered. This mechanism replaces the previous #ifdef LOCAL_APIC -
|
||||||
* !using_apic_timer decisions in do_timer_interrupt_hook()
|
* !using_apic_timer decisions in do_timer_interrupt_hook()
|
||||||
*/
|
*/
|
||||||
static struct clock_event_device pit_clockevent = {
|
static struct clock_event_device pit_ce = {
|
||||||
.name = "pit",
|
.name = "pit",
|
||||||
.features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,
|
.features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,
|
||||||
.set_mode = init_pit_timer,
|
.set_mode = init_pit_timer,
|
||||||
|
@ -114,15 +114,13 @@ void __init setup_pit_timer(void)
|
||||||
* Start pit with the boot cpu mask and make it global after the
|
* Start pit with the boot cpu mask and make it global after the
|
||||||
* IO_APIC has been initialized.
|
* IO_APIC has been initialized.
|
||||||
*/
|
*/
|
||||||
pit_clockevent.cpumask = cpumask_of(smp_processor_id());
|
pit_ce.cpumask = cpumask_of(smp_processor_id());
|
||||||
pit_clockevent.mult = div_sc(CLOCK_TICK_RATE, NSEC_PER_SEC,
|
pit_ce.mult = div_sc(CLOCK_TICK_RATE, NSEC_PER_SEC, pit_ce.shift);
|
||||||
pit_clockevent.shift);
|
pit_ce.max_delta_ns = clockevent_delta2ns(0x7FFF, &pit_ce);
|
||||||
pit_clockevent.max_delta_ns =
|
pit_ce.min_delta_ns = clockevent_delta2ns(0xF, &pit_ce);
|
||||||
clockevent_delta2ns(0x7FFF, &pit_clockevent);
|
|
||||||
pit_clockevent.min_delta_ns =
|
clockevents_register_device(&pit_ce);
|
||||||
clockevent_delta2ns(0xF, &pit_clockevent);
|
global_clock_event = &pit_ce;
|
||||||
clockevents_register_device(&pit_clockevent);
|
|
||||||
global_clock_event = &pit_clockevent;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CONFIG_X86_64
|
#ifndef CONFIG_X86_64
|
||||||
|
@ -133,11 +131,11 @@ void __init setup_pit_timer(void)
|
||||||
*/
|
*/
|
||||||
static cycle_t pit_read(void)
|
static cycle_t pit_read(void)
|
||||||
{
|
{
|
||||||
|
static int old_count;
|
||||||
|
static u32 old_jifs;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
int count;
|
int count;
|
||||||
u32 jifs;
|
u32 jifs;
|
||||||
static int old_count;
|
|
||||||
static u32 old_jifs;
|
|
||||||
|
|
||||||
spin_lock_irqsave(&i8253_lock, flags);
|
spin_lock_irqsave(&i8253_lock, flags);
|
||||||
/*
|
/*
|
||||||
|
@ -179,9 +177,9 @@ static cycle_t pit_read(void)
|
||||||
* Previous attempts to handle these cases intelligently were
|
* Previous attempts to handle these cases intelligently were
|
||||||
* buggy, so we just do the simple thing now.
|
* buggy, so we just do the simple thing now.
|
||||||
*/
|
*/
|
||||||
if (count > old_count && jifs == old_jifs) {
|
if (count > old_count && jifs == old_jifs)
|
||||||
count = old_count;
|
count = old_count;
|
||||||
}
|
|
||||||
old_count = count;
|
old_count = count;
|
||||||
old_jifs = jifs;
|
old_jifs = jifs;
|
||||||
|
|
||||||
|
@ -192,13 +190,13 @@ static cycle_t pit_read(void)
|
||||||
return (cycle_t)(jifs * LATCH) + count;
|
return (cycle_t)(jifs * LATCH) + count;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct clocksource clocksource_pit = {
|
static struct clocksource pit_cs = {
|
||||||
.name = "pit",
|
.name = "pit",
|
||||||
.rating = 110,
|
.rating = 110,
|
||||||
.read = pit_read,
|
.read = pit_read,
|
||||||
.mask = CLOCKSOURCE_MASK(32),
|
.mask = CLOCKSOURCE_MASK(32),
|
||||||
.mult = 0,
|
.mult = 0,
|
||||||
.shift = 20,
|
.shift = 20,
|
||||||
};
|
};
|
||||||
|
|
||||||
static void pit_disable_clocksource(void)
|
static void pit_disable_clocksource(void)
|
||||||
|
@ -206,9 +204,9 @@ static void pit_disable_clocksource(void)
|
||||||
/*
|
/*
|
||||||
* Use mult to check whether it is registered or not
|
* Use mult to check whether it is registered or not
|
||||||
*/
|
*/
|
||||||
if (clocksource_pit.mult) {
|
if (pit_cs.mult) {
|
||||||
clocksource_unregister(&clocksource_pit);
|
clocksource_unregister(&pit_cs);
|
||||||
clocksource_pit.mult = 0;
|
pit_cs.mult = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,13 +220,13 @@ static int __init init_pit_clocksource(void)
|
||||||
* - when local APIC timer is active (PIT is switched off)
|
* - when local APIC timer is active (PIT is switched off)
|
||||||
*/
|
*/
|
||||||
if (num_possible_cpus() > 1 || is_hpet_enabled() ||
|
if (num_possible_cpus() > 1 || is_hpet_enabled() ||
|
||||||
pit_clockevent.mode != CLOCK_EVT_MODE_PERIODIC)
|
pit_ce.mode != CLOCK_EVT_MODE_PERIODIC)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
clocksource_pit.mult = clocksource_hz2mult(CLOCK_TICK_RATE,
|
pit_cs.mult = clocksource_hz2mult(CLOCK_TICK_RATE, pit_cs.shift);
|
||||||
clocksource_pit.shift);
|
|
||||||
return clocksource_register(&clocksource_pit);
|
return clocksource_register(&pit_cs);
|
||||||
}
|
}
|
||||||
arch_initcall(init_pit_clocksource);
|
arch_initcall(init_pit_clocksource);
|
||||||
|
|
||||||
#endif
|
#endif /* !CONFIG_X86_64 */
|
||||||
|
|
Loading…
Reference in a new issue