This source file includes following definitions.
- isa_rtc_init
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #define RTC_PORT(x) (0x70+(x))
19 #define RTC_ALWAYS_BCD 0
20
21 #include <linux/init.h>
22 #include <linux/mc146818rtc.h>
23 #include <linux/bcd.h>
24 #include <linux/io.h>
25
26 #include "common.h"
27
28 void __init isa_rtc_init(void)
29 {
30 int reg_d, reg_b;
31
32
33
34
35 reg_d = CMOS_READ(RTC_REG_D);
36
37
38
39
40 CMOS_WRITE(RTC_REF_CLCK_32KHZ, RTC_REG_A);
41
42
43
44
45
46 reg_b = CMOS_READ(RTC_REG_B) & 0x7f;
47 reg_b |= 2;
48 CMOS_WRITE(reg_b, RTC_REG_B);
49
50 if ((CMOS_READ(RTC_REG_A) & 0x7f) == RTC_REF_CLCK_32KHZ &&
51 CMOS_READ(RTC_REG_B) == reg_b) {
52
53
54
55 if ((reg_d & 0x80) == 0)
56 printk(KERN_WARNING "RTC: *** warning: CMOS battery bad\n");
57 }
58 }