|
@@ -707,6 +707,8 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq)
|
|
|
goto cleanup1;
|
|
|
}
|
|
|
|
|
|
+ hpet_rtc_timer_init();
|
|
|
+
|
|
|
if (is_valid_irq(rtc_irq)) {
|
|
|
irq_handler_t rtc_cmos_int_handler;
|
|
|
|
|
@@ -714,6 +716,7 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq)
|
|
|
rtc_cmos_int_handler = hpet_rtc_interrupt;
|
|
|
retval = hpet_register_irq_handler(cmos_interrupt);
|
|
|
if (retval) {
|
|
|
+ hpet_mask_rtc_irq_bit(RTC_IRQMASK);
|
|
|
dev_warn(dev, "hpet_register_irq_handler "
|
|
|
" failed in rtc_init().");
|
|
|
goto cleanup1;
|
|
@@ -729,7 +732,6 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq)
|
|
|
goto cleanup1;
|
|
|
}
|
|
|
}
|
|
|
- hpet_rtc_timer_init();
|
|
|
|
|
|
/* export at least the first block of NVRAM */
|
|
|
nvram.size = address_space - NVRAM_OFFSET;
|