Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dd3db6eb authored by Ralf Baechle's avatar Ralf Baechle
Browse files

[MIPS] i8253: Cleanup.

parent 9aa4cc11
Loading
Loading
Loading
Loading
+12 −11
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
#include <asm/delay.h>
#include <asm/i8253.h>
#include <asm/io.h>
#include <asm/time.h>

static DEFINE_SPINLOCK(i8253_lock);

@@ -87,11 +88,10 @@ struct clock_event_device pit_clockevent = {
	.features	= CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,
	.set_mode	= init_pit_timer,
	.set_next_event = pit_next_event,
	.shift		= 32,
	.irq		= 0,
};

irqreturn_t timer_interrupt(int irq, void *dev_id)
static irqreturn_t timer_interrupt(int irq, void *dev_id)
{
	pit_clockevent.event_handler(&pit_clockevent);

@@ -111,19 +111,20 @@ static struct irqaction irq0 = {
 */
void __init setup_pit_timer(void)
{
	struct clock_event_device *cd = &pit_clockevent;
	unsigned int cpu = smp_processor_id();

	/*
	 * Start pit with the boot cpu mask and make it global after the
	 * IO_APIC has been initialized.
	 */
	pit_clockevent.cpumask = cpumask_of_cpu(0);
	pit_clockevent.mult = div_sc(CLOCK_TICK_RATE, NSEC_PER_SEC, 32);
	pit_clockevent.max_delta_ns =
		clockevent_delta2ns(0x7FFF, &pit_clockevent);
	pit_clockevent.min_delta_ns =
		clockevent_delta2ns(0xF, &pit_clockevent);
	clockevents_register_device(&pit_clockevent);

	irq0.mask = cpumask_of_cpu(0);
	cd->cpumask = cpumask_of_cpu(cpu);
	clockevent_set_clock(cd, CLOCK_TICK_RATE);
	cd->max_delta_ns = clockevent_delta2ns(0x7FFF, cd);
	cd->min_delta_ns = clockevent_delta2ns(0xF, cd);
	clockevents_register_device(cd);

	irq0.mask = cpumask_of_cpu(cpu);
	setup_irq(0, &irq0);
}