diff options
author | Bernhard Walle <bwalle@suse.de> | 2008-01-30 07:33:31 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:33:31 -0500 |
commit | f8f76481bc2803aea03ff213c7e1405b53f7e488 (patch) | |
tree | 5356ad1b63ed7b2e36c57102bbac3a1ce44427b9 /arch/x86 | |
parent | 1bdbdaacf774f2979ed4cb0c4a4316c9e578c897 (diff) |
rtc: use the IRQ callback interface in (old) RTC driver
the previous patch in the old RTC driver. It also removes the direct
rtc_interrupt() call from arch/x86/kernel/hpetc.c so that there's finally no
(code) dependency to CONFIG_RTC in arch/x86/kernel/hpet.c.
Because of this, it's possible to compile the drivers/char/rtc.ko driver as
module and still use the HPET emulation functionality. This is also expressed
in Kconfig.
Signed-off-by: Bernhard Walle <bwalle@suse.de>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: David Brownell <david-b@pacbell.net>
Cc: Andi Kleen <ak@suse.de>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Robert Picco <Robert.Picco@hp.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/Kconfig | 2 | ||||
-rw-r--r-- | arch/x86/kernel/hpet.c | 2 |
2 files changed, 1 insertions, 3 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 81af31e5a9f1..4e911d0a4962 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -390,7 +390,7 @@ config HPET_TIMER | |||
390 | 390 | ||
391 | config HPET_EMULATE_RTC | 391 | config HPET_EMULATE_RTC |
392 | def_bool y | 392 | def_bool y |
393 | depends on HPET_TIMER && RTC=y | 393 | depends on HPET_TIMER && (RTC=y || RTC=m) |
394 | 394 | ||
395 | # Mark as embedded because too many people got it wrong. | 395 | # Mark as embedded because too many people got it wrong. |
396 | # The code disables itself when not needed. | 396 | # The code disables itself when not needed. |
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c index d65ced59a18f..429d084e014d 100644 --- a/arch/x86/kernel/hpet.c +++ b/arch/x86/kernel/hpet.c | |||
@@ -705,8 +705,6 @@ irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id) | |||
705 | rtc_int_flag |= (RTC_IRQF | (RTC_NUM_INTS << 8)); | 705 | rtc_int_flag |= (RTC_IRQF | (RTC_NUM_INTS << 8)); |
706 | if (irq_handler) | 706 | if (irq_handler) |
707 | irq_handler(rtc_int_flag, dev_id); | 707 | irq_handler(rtc_int_flag, dev_id); |
708 | |||
709 | rtc_interrupt(rtc_int_flag, dev_id); | ||
710 | } | 708 | } |
711 | return IRQ_HANDLED; | 709 | return IRQ_HANDLED; |
712 | } | 710 | } |