What is the right way to setup MIPS timer irq in 2.6.29?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Has the system timer paradigm changed between 2.6.18 and 2.6.29?
I'm trying to update my Broadcom-based embedded system to 2.6.29,
and I'm running into problems getting the system timer to run.
I'm looking for a clue about how to port forward my arch/mips/brcmstb/*
files, specifically I want to write a plat_time_init() function
that does for 2.6.29 what plat_timer_setup(struct irqaction *irq)
did for 2.6.18.

In 2.6.18, arch/mips/kernel/time.c defines a high-level ISR called
timer_interrupt (which does things like lock xtime_lock, call
mips_hpt_read() and do_timer(regs), and return IRQ_HANDLED). time.c
then defines a struct irqaction timer_irqaction and sets
timer_interrupt to be the .handler field.  Finally, time.c calls
plat_timer_setup(timer_irqaction), which is defined by the Broadcom
patches to call setup_irq(timer_irqaction).

In 2.6.29, arch/mips/kernel/time.c has a comment saying that the new
plat_time_init hook does not receive the irqaction pointer argument
anymore, because each "clock_event_device" should use its own struct
irqrequest.

I tried having the broadcom arch's plat_time_init() function create an
irqaction and call setup_irq(), but the timer_interrupt() function
that used to be in arch/mips/kernel/time.c doesn't exist anymore, and
I can't seem to find the replacement.

Is there a replacement for timer_interrupt()?  I thought that maybe
the hrtimer_interrupt() might be the one, but it requires something
called a struct clock_event_device.  Am I barking up the wrong tree
here?

Thanks,
Dave


--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux