home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / arm / include / asm / mach / time.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.7 KB  |  58 lines

  1. /*
  2.  * arch/arm/include/asm/mach/time.h
  3.  *
  4.  * Copyright (C) 2004 MontaVista Software, Inc.
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License version 2 as
  8.  * published by the Free Software Foundation.
  9.  */
  10. #ifndef __ASM_ARM_MACH_TIME_H
  11. #define __ASM_ARM_MACH_TIME_H
  12.  
  13. #include <linux/sysdev.h>
  14.  
  15. /*
  16.  * This is our kernel timer structure.
  17.  *
  18.  * - init
  19.  *   Initialise the kernels jiffy timer source, claim interrupt
  20.  *   using setup_irq.  This is called early on during initialisation
  21.  *   while interrupts are still disabled on the local CPU.
  22.  * - suspend
  23.  *   Suspend the kernel jiffy timer source, if necessary.  This
  24.  *   is called with interrupts disabled, after all normal devices
  25.  *   have been suspended.  If no action is required, set this to
  26.  *   NULL.
  27.  * - resume
  28.  *   Resume the kernel jiffy timer source, if necessary.  This
  29.  *   is called with interrupts disabled before any normal devices
  30.  *   are resumed.  If no action is required, set this to NULL.
  31.  * - offset
  32.  *   Return the timer offset in microseconds since the last timer
  33.  *   interrupt.  Note: this must take account of any unprocessed
  34.  *   timer interrupt which may be pending.
  35.  */
  36. struct sys_timer {
  37.     struct sys_device    dev;
  38.     void            (*init)(void);
  39.     void            (*suspend)(void);
  40.     void            (*resume)(void);
  41. #ifndef CONFIG_GENERIC_TIME
  42.     unsigned long        (*offset)(void);
  43. #endif
  44. };
  45.  
  46. extern struct sys_timer *system_timer;
  47. extern void timer_tick(void);
  48.  
  49. /*
  50.  * Kernel time keeping support.
  51.  */
  52. struct timespec;
  53. extern int (*set_rtc)(void);
  54. extern void save_time_delta(struct timespec *delta, struct timespec *rtc);
  55. extern void restore_time_delta(struct timespec *delta, struct timespec *rtc);
  56.  
  57. #endif
  58.