linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / sparc / kernel / sun4m_irq.c
index 7cefa30..39d712c 100644 (file)
@@ -9,6 +9,7 @@
  *  Copyright (C) 1996 Dave Redman (djhr@tadpole.co.uk)
  */
 
+#include <linux/config.h>
 #include <linux/errno.h>
 #include <linux/linkage.h>
 #include <linux/kernel_stat.h>
@@ -228,6 +229,13 @@ static void sun4m_load_profile_irq(int cpu, unsigned int limit)
        sun4m_timers->cpu_timers[cpu].l14_timer_limit = limit;
 }
 
+char *sun4m_irq_itoa(unsigned int irq)
+{
+       static char buff[16];
+       sprintf(buff, "%d", irq);
+       return buff;
+}
+
 static void __init sun4m_init_timers(irqreturn_t (*counter_fn)(int, void *, struct pt_regs *))
 {
        int reg_count, irq, cpu;
@@ -278,7 +286,7 @@ static void __init sun4m_init_timers(irqreturn_t (*counter_fn)(int, void *, stru
 
        irq = request_irq(TIMER_IRQ,
                          counter_fn,
-                         (IRQF_DISABLED | SA_STATIC_ALLOC),
+                         (SA_INTERRUPT | SA_STATIC_ALLOC),
                          "timer", NULL);
        if (irq) {
                prom_printf("time_init: unable to attach IRQ%d\n",TIMER_IRQ);
@@ -380,6 +388,7 @@ void __init sun4m_init_IRQ(void)
        BTFIXUPSET_CALL(clear_clock_irq, sun4m_clear_clock_irq, BTFIXUPCALL_NORM);
        BTFIXUPSET_CALL(clear_profile_irq, sun4m_clear_profile_irq, BTFIXUPCALL_NORM);
        BTFIXUPSET_CALL(load_profile_irq, sun4m_load_profile_irq, BTFIXUPCALL_NORM);
+       BTFIXUPSET_CALL(__irq_itoa, sun4m_irq_itoa, BTFIXUPCALL_NORM);
        sparc_init_timers = sun4m_init_timers;
 #ifdef CONFIG_SMP
        BTFIXUPSET_CALL(set_cpu_int, sun4m_send_ipi, BTFIXUPCALL_NORM);