linux/drivers/misc
David Brownell 4d243f92e4 atmel_tc clocksource/clockevent code
Clocksource and clockevent device based on the Atmel TC blocks.

The clockevent device handles both periodic and oneshot modes, so this
enables NO_HZ and high res timers on some platforms that previously
couldn't use those mechanisms.

This works on both AVR32 and AT91 chips, given relevant patches for
tclib support (always) and clockevents (or else this will only look
like a higher precision clocksource).  It's an updated and modularized
version of an AT91-only patch that has circulated for some time now.

Changes relative to the original patch:
  * Update to use new tclib API
  * Replace open-coded do-while loop using goto with a real do-while loop
  * Minor irq handler optimization: Load register base address from
    dev_id instead of a global variable.
  * Aggressively turn off clocks when the clockevent isn't being used
  * Include the clockevent code on AT91RM9200 as well. The rating is
    lower than the System Timer, so the clock will usually stay off.
  * Don't assume that the number of clocks is always equal to the
    number of irqs.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2008-03-04 13:42:24 +01:00
..
hdpuftrs [POWERPC] Sky Cpu and Nexus: use seq_file/single_open on proc interface 2007-10-03 12:02:44 +10:00
ibmasm kobject: convert ibmasm to use kref, not kobject 2008-01-24 20:40:08 -08:00
Kconfig atmel_tc clocksource/clockevent code 2008-03-04 13:42:24 +01:00
Makefile atmel_tc library 2008-03-04 13:41:23 +01:00
acer-wmi.c acer-wmi: Add DMI match for mail LED on Acer TravelMate 4200 series 2008-02-16 00:47:13 -05:00
asus-laptop.c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2008-02-07 09:45:58 -08:00
atmel-ssc.c Driver for the Atmel on-chip SSC on AT32AP and AT91 2007-10-17 08:42:47 -07:00
atmel_pwm.c Basic PWM driver for AVR32 and AT91 2008-02-08 09:22:38 -08:00
atmel_tclib.c atmel_tc library 2008-03-04 13:41:23 +01:00
eeprom_93cx6.c eeprom_93cx6: shorten pulse timing to match spec (bis) 2007-07-10 12:41:09 -04:00
enclosure.c [SCSI] enclosure: add support for enclosure services 2008-02-07 18:04:10 -06:00
fujitsu-laptop.c Remove inclusions of <linux/autoconf.h> 2008-02-06 10:41:00 -08:00
intel_menlow.c intel_menlo: extract return values using PTR_ERR 2008-02-15 18:29:30 -05:00
ioc4.c drivers/misc: Move misplaced pci_dev_put's 2007-11-14 18:45:39 -08:00
lkdtm.c drivers/misc/lkdtm.c: cleanups 2008-02-06 10:41:03 -08:00
msi-laptop.c Remove inclusions of <linux/autoconf.h> 2008-02-06 10:41:00 -08:00
phantom.c phantom: don't grab other devices 2008-02-06 10:41:10 -08:00
sony-laptop.c sony-laptop: fix scancode decode 2008-01-24 00:47:29 -05:00
tc1100-wmi.c tc1100-wmi: Add driver for HP Compaq TC1100 Tablets 2008-02-05 15:07:16 -05:00
thinkpad_acpi.c ACPI: thinkpad-acpi: add tablet-mode reporting 2008-02-16 00:34:06 -05:00
tifm_7xx1.c memstick: initial commit for Sony MemoryStick support 2008-02-09 11:08:34 -08:00
tifm_core.c memstick: initial commit for Sony MemoryStick support 2008-02-09 11:08:34 -08:00