Skip to content

Commit

Permalink
[PATCH] move rtc_interrupt() prototype to rtc.h
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Paul Gortmaker <[email protected]>
Acked-by: Paul Mundt <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
AdrianBunk authored and Linus Torvalds committed Jan 9, 2006
1 parent 28fd129 commit 2a10e0b
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 9 deletions.
5 changes: 3 additions & 2 deletions arch/arm/mach-integrator/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -124,7 +125,7 @@ static int rtc_probe(struct amba_device *dev, void *id)

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;
Expand Down
2 changes: 0 additions & 2 deletions arch/i386/kernel/time_hpet.c
Original file line number Diff line number Diff line change
Expand Up @@ -259,8 +259,6 @@ __setup("hpet=", hpet_setup);
#include <linux/mc146818rtc.h>
#include <linux/rtc.h>

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

Expand Down
7 changes: 4 additions & 3 deletions arch/sh64/kernel/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,7 @@ static __init unsigned int get_cpu_hz(void)
/*
** 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");

Expand Down Expand Up @@ -482,7 +482,8 @@ static __init unsigned int get_cpu_hz(void)
#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 */
Expand All @@ -491,7 +492,7 @@ static irqreturn_t rtc_interrupt(int irq, void *dev_id, struct pt_regs *regs)
}

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)
{
Expand Down
2 changes: 0 additions & 2 deletions arch/x86_64/kernel/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -1075,8 +1075,6 @@ device_initcall(time_init_device);
*/
#include <linux/rtc.h>

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

Expand Down
3 changes: 3 additions & 0 deletions include/linux/rtc.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
#ifndef _LINUX_RTC_H_
#define _LINUX_RTC_H_

#include <linux/interrupt.h>

/*
* The struct used to pass data via the following ioctl. Similar to the
* struct tm in <time.h>, but it needs to be here so that the kernel
Expand Down Expand Up @@ -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__ */

Expand Down

0 comments on commit 2a10e0b

Please sign in to comment.