diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/clocksource/Kconfig | 6 | ||||
-rw-r--r-- | drivers/clocksource/Makefile | 2 | ||||
-rw-r--r-- | drivers/clocksource/i8253.c | 13 |
3 files changed, 19 insertions, 2 deletions
diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig index 96c921910469..330343bcb67e 100644 --- a/drivers/clocksource/Kconfig +++ b/drivers/clocksource/Kconfig | |||
@@ -1,5 +1,11 @@ | |||
1 | config CLKSRC_I8253 | 1 | config CLKSRC_I8253 |
2 | bool | 2 | bool |
3 | 3 | ||
4 | config I8253_LOCK | ||
5 | bool | ||
6 | |||
7 | config CLKBLD_I8253 | ||
8 | def_bool y if CLKSRC_I8253 || I8253_LOCK | ||
9 | |||
4 | config CLKSRC_MMIO | 10 | config CLKSRC_MMIO |
5 | bool | 11 | bool |
diff --git a/drivers/clocksource/Makefile b/drivers/clocksource/Makefile index b995942a5060..7922a0cfc99f 100644 --- a/drivers/clocksource/Makefile +++ b/drivers/clocksource/Makefile | |||
@@ -6,5 +6,5 @@ obj-$(CONFIG_CS5535_CLOCK_EVENT_SRC) += cs5535-clockevt.o | |||
6 | obj-$(CONFIG_SH_TIMER_CMT) += sh_cmt.o | 6 | obj-$(CONFIG_SH_TIMER_CMT) += sh_cmt.o |
7 | obj-$(CONFIG_SH_TIMER_MTU2) += sh_mtu2.o | 7 | obj-$(CONFIG_SH_TIMER_MTU2) += sh_mtu2.o |
8 | obj-$(CONFIG_SH_TIMER_TMU) += sh_tmu.o | 8 | obj-$(CONFIG_SH_TIMER_TMU) += sh_tmu.o |
9 | obj-$(CONFIG_CLKSRC_I8253) += i8253.o | 9 | obj-$(CONFIG_CLKBLD_I8253) += i8253.o |
10 | obj-$(CONFIG_CLKSRC_MMIO) += mmio.o | 10 | obj-$(CONFIG_CLKSRC_MMIO) += mmio.o |
diff --git a/drivers/clocksource/i8253.c b/drivers/clocksource/i8253.c index 33735ebd2dcc..e594f52eb88e 100644 --- a/drivers/clocksource/i8253.c +++ b/drivers/clocksource/i8253.c | |||
@@ -6,10 +6,20 @@ | |||
6 | #include <linux/io.h> | 6 | #include <linux/io.h> |
7 | #include <linux/spinlock.h> | 7 | #include <linux/spinlock.h> |
8 | #include <linux/timex.h> | 8 | #include <linux/timex.h> |
9 | 9 | #include <linux/module.h> | |
10 | #include <linux/i8253.h> | 10 | #include <linux/i8253.h> |
11 | 11 | ||
12 | /* | 12 | /* |
13 | * Protects access to I/O ports | ||
14 | * | ||
15 | * 0040-0043 : timer0, i8253 / i8254 | ||
16 | * 0061-0061 : NMI Control Register which contains two speaker control bits. | ||
17 | */ | ||
18 | DEFINE_RAW_SPINLOCK(i8253_lock); | ||
19 | EXPORT_SYMBOL(i8253_lock); | ||
20 | |||
21 | #ifdef CONFIG_CLKSRC_I8253 | ||
22 | /* | ||
13 | * Since the PIT overflows every tick, its not very useful | 23 | * Since the PIT overflows every tick, its not very useful |
14 | * to just read by itself. So use jiffies to emulate a free | 24 | * to just read by itself. So use jiffies to emulate a free |
15 | * running counter: | 25 | * running counter: |
@@ -86,3 +96,4 @@ int __init clocksource_i8253_init(void) | |||
86 | { | 96 | { |
87 | return clocksource_register_hz(&i8253_cs, PIT_TICK_RATE); | 97 | return clocksource_register_hz(&i8253_cs, PIT_TICK_RATE); |
88 | } | 98 | } |
99 | #endif | ||