From: Adrian Bunk This patch moves the rtc_interrupt() prototype to rtc.h and removes the prototypes from C files. It also renames static rtc_interrupt() functions in arch/arm/mach-integrator/time.c and arch/sh64/kernel/time.c to avoid compile problems. Signed-off-by: Adrian Bunk Signed-off-by: Paul Gortmaker Signed-off-by: Andrew Morton --- arch/arm/mach-integrator/time.c | 5 +++-- arch/i386/kernel/time_hpet.c | 2 -- arch/sh64/kernel/time.c | 7 ++++--- arch/x86_64/kernel/time.c | 2 -- include/linux/rtc.h | 3 +++ 5 files changed, 10 insertions(+), 9 deletions(-) diff -puN arch/arm/mach-integrator/time.c~move-rtc_interrupt-prototype-to-rtch arch/arm/mach-integrator/time.c --- devel/arch/arm/mach-integrator/time.c~move-rtc_interrupt-prototype-to-rtch 2005-11-07 19:07:49.000000000 -0800 +++ devel-akpm/arch/arm/mach-integrator/time.c 2005-11-07 19:07:49.000000000 -0800 @@ -96,7 +96,8 @@ static struct rtc_ops rtc_ops = { .set_alarm = rtc_set_alarm, }; -static irqreturn_t rtc_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t arm_rtc_interrupt(int irq, void *dev_id, + struct pt_regs *regs) { writel(0, rtc_base + RTC_EOI); return IRQ_HANDLED; @@ -124,7 +125,7 @@ static int rtc_probe(struct amba_device xtime.tv_sec = __raw_readl(rtc_base + RTC_DR); - ret = request_irq(dev->irq[0], rtc_interrupt, SA_INTERRUPT, + ret = request_irq(dev->irq[0], arm_rtc_interrupt, SA_INTERRUPT, "rtc-pl030", dev); if (ret) goto map_out; diff -puN arch/i386/kernel/time_hpet.c~move-rtc_interrupt-prototype-to-rtch arch/i386/kernel/time_hpet.c --- devel/arch/i386/kernel/time_hpet.c~move-rtc_interrupt-prototype-to-rtch 2005-11-07 19:07:49.000000000 -0800 +++ devel-akpm/arch/i386/kernel/time_hpet.c 2005-11-07 19:07:49.000000000 -0800 @@ -259,8 +259,6 @@ __setup("hpet=", hpet_setup); #include #include -extern irqreturn_t rtc_interrupt(int irq, void *dev_id, struct pt_regs *regs); - #define DEFAULT_RTC_INT_FREQ 64 #define RTC_NUM_INTS 1 diff -puN arch/sh64/kernel/time.c~move-rtc_interrupt-prototype-to-rtch arch/sh64/kernel/time.c --- devel/arch/sh64/kernel/time.c~move-rtc_interrupt-prototype-to-rtch 2005-11-07 19:07:49.000000000 -0800 +++ devel-akpm/arch/sh64/kernel/time.c 2005-11-07 19:07:49.000000000 -0800 @@ -417,7 +417,7 @@ static __init unsigned int get_cpu_hz(vo /* ** Regardless the toolchain, force the compiler to use the ** arbitrary register r3 as a clock tick counter. - ** NOTE: r3 must be in accordance with rtc_interrupt() + ** NOTE: r3 must be in accordance with sh64_rtc_interrupt() */ register unsigned long long __rtc_irq_flag __asm__ ("r3"); @@ -482,7 +482,8 @@ static __init unsigned int get_cpu_hz(vo #endif } -static irqreturn_t rtc_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t sh64_rtc_interrupt(int irq, void *dev_id, + struct pt_regs *regs) { ctrl_outb(0, RCR1); /* Disable Carry Interrupts */ regs->regs[3] = 1; /* Using r3 */ @@ -491,7 +492,7 @@ static irqreturn_t rtc_interrupt(int irq } static struct irqaction irq0 = { timer_interrupt, SA_INTERRUPT, CPU_MASK_NONE, "timer", NULL, NULL}; -static struct irqaction irq1 = { rtc_interrupt, SA_INTERRUPT, CPU_MASK_NONE, "rtc", NULL, NULL}; +static struct irqaction irq1 = { sh64_rtc_interrupt, SA_INTERRUPT, CPU_MASK_NONE, "rtc", NULL, NULL}; void __init time_init(void) { diff -puN arch/x86_64/kernel/time.c~move-rtc_interrupt-prototype-to-rtch arch/x86_64/kernel/time.c --- devel/arch/x86_64/kernel/time.c~move-rtc_interrupt-prototype-to-rtch 2005-11-07 19:07:49.000000000 -0800 +++ devel-akpm/arch/x86_64/kernel/time.c 2005-11-07 19:07:49.000000000 -0800 @@ -1078,8 +1078,6 @@ device_initcall(time_init_device); */ #include -extern irqreturn_t rtc_interrupt(int irq, void *dev_id, struct pt_regs *regs); - #define DEFAULT_RTC_INT_FREQ 64 #define RTC_NUM_INTS 1 diff -puN include/linux/rtc.h~move-rtc_interrupt-prototype-to-rtch include/linux/rtc.h --- devel/include/linux/rtc.h~move-rtc_interrupt-prototype-to-rtch 2005-11-07 19:07:49.000000000 -0800 +++ devel-akpm/include/linux/rtc.h 2005-11-07 19:07:49.000000000 -0800 @@ -11,6 +11,8 @@ #ifndef _LINUX_RTC_H_ #define _LINUX_RTC_H_ +#include + /* * The struct used to pass data via the following ioctl. Similar to the * struct tm in , but it needs to be here so that the kernel @@ -102,6 +104,7 @@ int rtc_register(rtc_task_t *task); int rtc_unregister(rtc_task_t *task); int rtc_control(rtc_task_t *t, unsigned int cmd, unsigned long arg); void rtc_get_rtc_time(struct rtc_time *rtc_tm); +irqreturn_t rtc_interrupt(int irq, void *dev_id, struct pt_regs *regs); #endif /* __KERNEL__ */ _