From: Carlos R. Mafra When CONFIG_HPET_EMULATE_RTC is defined the external declaration of hpet_rtc_interrupt is redundant due to the inclusion of hpet.h. When !CONFIG_HPET_EMULATE_RTC we make it clear that hpet_rtc_interrupt is not used by defining it to return zero. Signed-off-by: Carlos R. Mafra Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton --- drivers/char/rtc.c | 2 -- drivers/rtc/rtc-cmos.c | 5 ++++- 2 files changed, 4 insertions(+), 3 deletions(-) diff -puN drivers/char/rtc.c~rtc-remove-and-clarify-unneeded-externs drivers/char/rtc.c --- a/drivers/char/rtc.c~rtc-remove-and-clarify-unneeded-externs +++ a/drivers/char/rtc.c @@ -120,8 +120,6 @@ static irqreturn_t hpet_rtc_interrupt(in return 0; } #endif -#else -extern irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id); #endif /* diff -puN drivers/rtc/rtc-cmos.c~rtc-remove-and-clarify-unneeded-externs drivers/rtc/rtc-cmos.c --- a/drivers/rtc/rtc-cmos.c~rtc-remove-and-clarify-unneeded-externs +++ a/drivers/rtc/rtc-cmos.c @@ -52,7 +52,10 @@ #define hpet_rtc_timer_init() do { } while (0) #define hpet_register_irq_handler(h) 0 #define hpet_unregister_irq_handler(h) do { } while (0) -extern irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id); +static irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id) +{ + return 0; +} #endif struct cmos_rtc { _