Commit 4359f9b0 authored by Russell King's avatar Russell King

[ARM] Fix timer interrupts to use irqreturn_t

Also remove uninitialised variable warning and update mach-types.
parent 9c6250fb
...@@ -65,7 +65,7 @@ dc21285_read_config(struct pci_bus *bus, unsigned int devfn, int where, ...@@ -65,7 +65,7 @@ dc21285_read_config(struct pci_bus *bus, unsigned int devfn, int where,
int size, u32 *value) int size, u32 *value)
{ {
unsigned long addr = dc21285_base_address(bus, devfn); unsigned long addr = dc21285_base_address(bus, devfn);
u32 v; u32 v = 0xffffffff;
if (addr) if (addr)
switch (size) { switch (size) {
...@@ -82,8 +82,6 @@ dc21285_read_config(struct pci_bus *bus, unsigned int devfn, int where, ...@@ -82,8 +82,6 @@ dc21285_read_config(struct pci_bus *bus, unsigned int devfn, int where,
: "=r" (v) : "r" (addr), "r" (where)); : "=r" (v) : "r" (addr), "r" (where));
break; break;
} }
else
v = 0xffffffff;
*value = v; *value = v;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
# To add an entry into this database, please see Documentation/arm/README, # To add an entry into this database, please see Documentation/arm/README,
# or contact rmk@arm.linux.org.uk # or contact rmk@arm.linux.org.uk
# #
# Last update: Sat Apr 26 11:41:41 2003 # Last update: Wed May 7 23:43:08 2003
# #
# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
# #
...@@ -328,3 +328,14 @@ m7100 SA1100_M7100 M7100 316 ...@@ -328,3 +328,14 @@ m7100 SA1100_M7100 M7100 316
nipc2 ARCH_NIPC2 NIPC2 317 nipc2 ARCH_NIPC2 NIPC2 317
fu7202 ARCH_FU7202 FU7202 318 fu7202 ARCH_FU7202 FU7202 318
adsagx ARCH_ADSAGX ADSAGX 319 adsagx ARCH_ADSAGX ADSAGX 319
pxa_pooh ARCH_PXA_POOH PXA_POOH 320
bandon ARCH_BANDON BANDON 321
pcm7210 ARCH_PCM7210 PCM7210 322
nms9200 ARCH_NMS9200 NMS9200 323
gealog ARCH_GEALOG GEALOG 324
m7140 SA1100_M7140 M7140 325
korebot ARCH_KOREBOT KOREBOT 326
iq31244 ARCH_IQ31244 IQ31244 327
koan393 SA1100_KOAN393 KOAN393 328
inhandftip3 ARCH_INHANDFTIP3 INHANDFTIP3 329
gonzo ARCH_GONZO GONZO 330
...@@ -14,10 +14,11 @@ ...@@ -14,10 +14,11 @@
#ifndef __ASM_ARCH_TIME_H #ifndef __ASM_ARCH_TIME_H
#define __ASM_ARCH_TIME_H #define __ASM_ARCH_TIME_H
static void static irqreturn_t
anakin_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) anakin_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
do_timer(regs); do_timer(regs);
return IRQ_HANDLED;
} }
void __init time_init(void) void __init time_init(void)
......
...@@ -14,11 +14,13 @@ ...@@ -14,11 +14,13 @@
*/ */
extern void ioctime_init(void); extern void ioctime_init(void);
static void timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t
timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
do_timer(regs); do_timer(regs);
do_set_rtc(); do_set_rtc();
do_profile(regs); do_profile(regs);
return IRQ_HANDLED;
} }
/* /*
......
...@@ -11,7 +11,8 @@ ...@@ -11,7 +11,8 @@
extern void ioctime_init(void); extern void ioctime_init(void);
static void timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t
timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
do_timer(regs); do_timer(regs);
do_set_rtc(); do_set_rtc();
...@@ -26,6 +27,7 @@ static void timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -26,6 +27,7 @@ static void timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
*((volatile unsigned int *)LED_ADDRESS) = state; *((volatile unsigned int *)LED_ADDRESS) = state;
} }
} }
return IRQ_HANDLED;
} }
/* /*
......
...@@ -25,11 +25,13 @@ extern void clps711x_setup_timer(void); ...@@ -25,11 +25,13 @@ extern void clps711x_setup_timer(void);
/* /*
* IRQ handler for the timer * IRQ handler for the timer
*/ */
static void p720t_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t
p720t_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
do_leds(); do_leds();
do_timer(regs); do_timer(regs);
do_profile(regs); do_profile(regs);
return IRQ_HANDLED;
} }
/* /*
......
...@@ -74,7 +74,8 @@ static unsigned long ebsa110_gettimeoffset(void) ...@@ -74,7 +74,8 @@ static unsigned long ebsa110_gettimeoffset(void)
return offset; return offset;
} }
static void timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t
timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
u32 count; u32 count;
...@@ -91,6 +92,8 @@ static void timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -91,6 +92,8 @@ static void timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
do_leds(); do_leds();
do_timer(regs); do_timer(regs);
do_profile(regs); do_profile(regs);
return IRQ_HANDLED;
} }
/* /*
......
...@@ -69,7 +69,8 @@ static unsigned long isa_gettimeoffset(void) ...@@ -69,7 +69,8 @@ static unsigned long isa_gettimeoffset(void)
return count; return count;
} }
static void isa_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t
isa_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
if (machine_is_netwinder()) if (machine_is_netwinder())
do_leds(); do_leds();
...@@ -77,6 +78,8 @@ static void isa_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -77,6 +78,8 @@ static void isa_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
do_timer(regs); do_timer(regs);
do_set_rtc(); do_set_rtc();
do_profile(regs); do_profile(regs);
return IRQ_HANDLED;
} }
static unsigned long __init get_isa_cmos_time(void) static unsigned long __init get_isa_cmos_time(void)
...@@ -186,7 +189,8 @@ static unsigned long timer1_gettimeoffset (void) ...@@ -186,7 +189,8 @@ static unsigned long timer1_gettimeoffset (void)
return ((tick_nsec / 1000) * value) / LATCH; return ((tick_nsec / 1000) * value) / LATCH;
} }
static void timer1_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t
timer1_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
*CSR_TIMER1_CLR = 0; *CSR_TIMER1_CLR = 0;
...@@ -195,6 +199,8 @@ static void timer1_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -195,6 +199,8 @@ static void timer1_interrupt(int irq, void *dev_id, struct pt_regs *regs)
do_timer(regs); do_timer(regs);
do_set_rtc(); do_set_rtc();
do_profile(regs); do_profile(regs);
return IRQ_HANDLED;
} }
/* /*
......
...@@ -27,7 +27,8 @@ ...@@ -27,7 +27,8 @@
/* /*
* IRQ handler for the timer * IRQ handler for the timer
*/ */
static void excalibur_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t
excalibur_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
// ...clear the interrupt // ...clear the interrupt
...@@ -36,6 +37,8 @@ static void excalibur_timer_interrupt(int irq, void *dev_id, struct pt_regs *reg ...@@ -36,6 +37,8 @@ static void excalibur_timer_interrupt(int irq, void *dev_id, struct pt_regs *reg
do_leds(); do_leds();
do_timer(regs); do_timer(regs);
do_profile(regs); do_profile(regs);
return IRQ_HANDLED;
} }
/* /*
......
...@@ -98,7 +98,8 @@ static unsigned long integrator_gettimeoffset(void) ...@@ -98,7 +98,8 @@ static unsigned long integrator_gettimeoffset(void)
/* /*
* IRQ handler for the timer * IRQ handler for the timer
*/ */
static void integrator_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t
integrator_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
volatile TimerStruct_t *timer1 = (volatile TimerStruct_t *)TIMER1_VA_BASE; volatile TimerStruct_t *timer1 = (volatile TimerStruct_t *)TIMER1_VA_BASE;
...@@ -108,6 +109,8 @@ static void integrator_timer_interrupt(int irq, void *dev_id, struct pt_regs *re ...@@ -108,6 +109,8 @@ static void integrator_timer_interrupt(int irq, void *dev_id, struct pt_regs *re
do_leds(); do_leds();
do_timer(regs); do_timer(regs);
do_profile(regs); do_profile(regs);
return IRQ_HANDLED;
} }
/* /*
......
...@@ -42,11 +42,14 @@ ...@@ -42,11 +42,14 @@
/* /*
* Handler for RTC timer interrupt * Handler for RTC timer interrupt
*/ */
static void timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t
timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
do_timer(regs); do_timer(regs);
do_profile(regs); do_profile(regs);
RTC_RTCC = 0; /* Clear interrupt */ RTC_RTCC = 0; /* Clear interrupt */
return IRQ_HANDLED;
} }
/* /*
......
...@@ -14,7 +14,8 @@ ...@@ -14,7 +14,8 @@
* 2 of the License, or (at your option) any later version. * 2 of the License, or (at your option) any later version.
*/ */
static void timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t
timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
static int count = 25; static int count = 25;
unsigned char stat = __raw_readb(DUART_BASE + 0x14); unsigned char stat = __raw_readb(DUART_BASE + 0x14);
...@@ -41,6 +42,8 @@ static void timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -41,6 +42,8 @@ static void timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
__raw_readb(DUART_BASE + 0x14); __raw_readb(DUART_BASE + 0x14);
do_timer(regs); do_timer(regs);
return IRQ_HANDLED;
} }
void __init time_init(void) void __init time_init(void)
......
...@@ -47,7 +47,8 @@ static unsigned long pxa_gettimeoffset (void) ...@@ -47,7 +47,8 @@ static unsigned long pxa_gettimeoffset (void)
return usec; return usec;
} }
static void pxa_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t
pxa_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
int next_match; int next_match;
...@@ -66,6 +67,8 @@ static void pxa_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -66,6 +67,8 @@ static void pxa_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
OSSR = OSSR_M0; /* Clear match on timer 0 */ OSSR = OSSR_M0; /* Clear match on timer 0 */
next_match = (OSMR0 += LATCH); next_match = (OSMR0 += LATCH);
} while( (signed long)(next_match - OSCR) <= 0 ); } while( (signed long)(next_match - OSCR) <= 0 );
return IRQ_HANDLED;
} }
void __init time_init(void) void __init time_init(void)
......
...@@ -14,11 +14,14 @@ ...@@ -14,11 +14,14 @@
*/ */
extern void ioctime_init(void); extern void ioctime_init(void);
static void timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t
timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
do_timer(regs); do_timer(regs);
do_set_rtc(); do_set_rtc();
do_profile(regs); do_profile(regs);
return IRQ_HANDLED;
} }
/* /*
......
...@@ -72,7 +72,8 @@ static unsigned long sa1100_gettimeoffset (void) ...@@ -72,7 +72,8 @@ static unsigned long sa1100_gettimeoffset (void)
* lost_ticks (updated in do_timer()) and the match reg value, so we * lost_ticks (updated in do_timer()) and the match reg value, so we
* can use do_gettimeofday() from interrupt handlers. * can use do_gettimeofday() from interrupt handlers.
*/ */
static void sa1100_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t
sa1100_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
unsigned int next_match; unsigned int next_match;
...@@ -85,6 +86,8 @@ static void sa1100_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) ...@@ -85,6 +86,8 @@ static void sa1100_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
} while ((signed long)(next_match - OSCR) <= 0); } while ((signed long)(next_match - OSCR) <= 0);
do_profile(regs); do_profile(regs);
return IRQ_HANDLED;
} }
void __init time_init(void) void __init time_init(void)
......
...@@ -13,11 +13,14 @@ ...@@ -13,11 +13,14 @@
#define IRQ_TIMER 0 #define IRQ_TIMER 0
#define HZ_TIME ((1193180 + HZ/2) / HZ) #define HZ_TIME ((1193180 + HZ/2) / HZ)
static void timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t
timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{ {
do_leds(); do_leds();
do_timer(regs); do_timer(regs);
do_profile(regs); do_profile(regs);
return IRQ_HANDLED;
} }
/* /*
......
...@@ -20,13 +20,16 @@ ...@@ -20,13 +20,16 @@
#define update_rtc() #define update_rtc()
static void timer_interrupt (int irq, void *dev_id, struct pt_regs *regs) static irqreturn_t
timer_interrupt (int irq, void *dev_id, struct pt_regs *regs)
{ {
/* Clear irq */ /* Clear irq */
__raw_writel(1, FPGA1CONT + 0xc); __raw_writel(1, FPGA1CONT + 0xc);
__raw_writel(0, FPGA1CONT + 0xc); __raw_writel(0, FPGA1CONT + 0xc);
do_timer(regs); do_timer(regs);
return IRQ_HANDLED;
} }
void __init time_init(void) void __init time_init(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment