home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-mips / rtc.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.6 KB  |  74 lines

  1. /*
  2.  * include/asm-mips/rtc.h
  3.  *
  4.  * (Really an interface for drivers/char/genrtc.c)
  5.  *
  6.  * Copyright (C) 2004 MontaVista Software Inc.
  7.  * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net
  8.  *
  9.  * Please read the COPYING file for all license details.
  10.  */
  11.  
  12. #ifndef _MIPS_RTC_H
  13. #define _MIPS_RTC_H
  14.  
  15. #ifdef __KERNEL__
  16.  
  17. #include <linux/rtc.h>
  18. #include <asm/time.h>
  19.  
  20. #define RTC_PIE 0x40            /* periodic interrupt enable */
  21. #define RTC_AIE 0x20            /* alarm interrupt enable */
  22. #define RTC_UIE 0x10            /* update-finished interrupt enable */
  23.  
  24. /* some dummy definitions */
  25. #define RTC_BATT_BAD 0x100      /* battery bad */
  26. #define RTC_SQWE 0x08           /* enable square-wave output */
  27. #define RTC_DM_BINARY 0x04      /* all time/date values are BCD if clear */
  28. #define RTC_24H 0x02            /* 24 hour mode - else hours bit 7 means pm */
  29. #define RTC_DST_EN 0x01         /* auto switch DST - works f. USA only */
  30.  
  31. static inline unsigned int get_rtc_time(struct rtc_time *time)
  32. {
  33.     unsigned long nowtime;
  34.  
  35.     nowtime = rtc_mips_get_time();
  36.     to_tm(nowtime, time);
  37.     time->tm_year -= 1900;
  38.  
  39.     return RTC_24H;
  40. }
  41.  
  42. static inline int set_rtc_time(struct rtc_time *time)
  43. {
  44.     unsigned long nowtime;
  45.     int ret;
  46.  
  47.     nowtime = mktime(time->tm_year+1900, time->tm_mon+1,
  48.             time->tm_mday, time->tm_hour, time->tm_min,
  49.             time->tm_sec);
  50.     ret = rtc_mips_set_time(nowtime);
  51.  
  52.     return ret;
  53. }
  54.  
  55. static inline unsigned int get_rtc_ss(void)
  56. {
  57.     struct rtc_time h;
  58.  
  59.     get_rtc_time(&h);
  60.     return h.tm_sec;
  61. }
  62.  
  63. static inline int get_rtc_pll(struct rtc_pll_info *pll)
  64. {
  65.     return -EINVAL;
  66. }
  67.  
  68. static inline int set_rtc_pll(struct rtc_pll_info *pll)
  69. {
  70.     return -EINVAL;
  71. }
  72. #endif
  73. #endif
  74.