[MIPS] Fix smp barriers in test_and_{change,clear,set}_bit
[linux-2.6] / include / asm-mips / ds1216.h
1 #ifndef _DS1216_H
2 #define _DS1216_H
3
4 extern volatile unsigned char *ds1216_base;
5 unsigned long ds1216_get_cmos_time(void);
6 int ds1216_set_rtc_mmss(unsigned long nowtime);
7
8 #define DS1216_SEC_BYTE         1
9 #define DS1216_MIN_BYTE         2
10 #define DS1216_HOUR_BYTE        3
11 #define DS1216_HOUR_MASK        (0x1f)
12 #define DS1216_AMPM_MASK        (1<<5)
13 #define DS1216_1224_MASK        (1<<7)
14 #define DS1216_DAY_BYTE         4
15 #define DS1216_DAY_MASK         (0x7)
16 #define DS1216_DATE_BYTE        5
17 #define DS1216_DATE_MASK        (0x3f)
18 #define DS1216_MONTH_BYTE       6
19 #define DS1216_MONTH_MASK       (0x1f)
20 #define DS1216_YEAR_BYTE        7
21
22 #define DS1216_SEC(buf)         (buf[DS1216_SEC_BYTE])
23 #define DS1216_MIN(buf)         (buf[DS1216_MIN_BYTE])
24 #define DS1216_HOUR(buf)        (buf[DS1216_HOUR_BYTE] & DS1216_HOUR_MASK)
25 #define DS1216_AMPM(buf)        (buf[DS1216_HOUR_BYTE] & DS1216_AMPM_MASK)
26 #define DS1216_1224(buf)        (buf[DS1216_HOUR_BYTE] & DS1216_1224_MASK)
27 #define DS1216_DATE(buf)        (buf[DS1216_DATE_BYTE] & DS1216_DATE_MASK)
28 #define DS1216_MONTH(buf)       (buf[DS1216_MONTH_BYTE] & DS1216_MONTH_MASK)
29 #define DS1216_YEAR(buf)        (buf[DS1216_YEAR_BYTE])
30
31 #endif