Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11ca25aa312d912c192ccfd5781669d794126118
Commit:     11ca25aa312d912c192ccfd5781669d794126118
Parent:     229f773ef4ee852ad7bfbe8e1238a2c35b2baa6f
Author:     Ralf Baechle <[EMAIL PROTECTED]>
AuthorDate: Sun Oct 28 23:02:46 2007 +0000
Committer:  Ralf Baechle <[EMAIL PROTECTED]>
CommitDate: Mon Oct 29 19:35:35 2007 +0000

    [MIPS] Sibyte: Delete {sb1250,bcm1480}_steal_irq().
    
    They break the timer interrupt initialization and only seem to be a kludge
    for initialization happening in the wrong order.  Further testing done by
    Thiemo confirms the suspicion that the other invocations also seem to have
    useless.
    
    Signed-off-by: Ralf Baechle <[EMAIL PROTECTED]>
---
 arch/mips/sibyte/bcm1480/irq.c  |   24 ------------------------
 arch/mips/sibyte/bcm1480/time.c |    3 ---
 arch/mips/sibyte/sb1250/irq.c   |   24 ------------------------
 arch/mips/sibyte/sb1250/time.c  |    3 ---
 4 files changed, 0 insertions(+), 54 deletions(-)

diff --git a/arch/mips/sibyte/bcm1480/irq.c b/arch/mips/sibyte/bcm1480/irq.c
index 10299ba..61790c4 100644
--- a/arch/mips/sibyte/bcm1480/irq.c
+++ b/arch/mips/sibyte/bcm1480/irq.c
@@ -280,27 +280,6 @@ static struct irqaction bcm1480_dummy_action = {
        .dev_id  = 0
 };
 
-int bcm1480_steal_irq(int irq)
-{
-       struct irq_desc *desc = irq_desc + irq;
-       unsigned long flags;
-       int retval = 0;
-
-       if (irq >= BCM1480_NR_IRQS)
-               return -EINVAL;
-
-       spin_lock_irqsave(&desc->lock, flags);
-       /* Don't allow sharing at all for these */
-       if (desc->action != NULL)
-               retval = -EBUSY;
-       else {
-               desc->action = &bcm1480_dummy_action;
-               desc->depth = 0;
-       }
-       spin_unlock_irqrestore(&desc->lock, flags);
-       return 0;
-}
-
 /*
  *  init_IRQ is called early in the boot sequence from init/main.c.  It
  *  is responsible for setting up the interrupt mapper and installing the
@@ -386,8 +365,6 @@ void __init arch_init_irq(void)
                __raw_writeq(tmp, IOADDR(A_BCM1480_IMR_REGISTER(cpu, 
R_BCM1480_IMR_INTERRUPT_MASK_L)));
        }
 
-       bcm1480_steal_irq(K_BCM1480_INT_MBOX_0_0);
-
        /*
         * Note that the timer interrupts are also mapped, but this is
         * done in bcm1480_time_init().  Also, the profiling driver
@@ -411,7 +388,6 @@ void __init arch_init_irq(void)
                /* QQQ FIXME */
                __raw_writeq(M_DUART_IMR_BRK, IO_SPACE_BASE + 
A_DUART_IMRREG(kgdb_port));
 
-               bcm1480_steal_irq(kgdb_irq);
                __raw_writeq(IMR_IP6_VAL,
                             IO_SPACE_BASE + A_BCM1480_IMR_REGISTER(0, 
R_BCM1480_IMR_INTERRUPT_MAP_BASE_H) +
                             (kgdb_irq<<3));
diff --git a/arch/mips/sibyte/bcm1480/time.c b/arch/mips/sibyte/bcm1480/time.c
index 610f025..699b5d2 100644
--- a/arch/mips/sibyte/bcm1480/time.c
+++ b/arch/mips/sibyte/bcm1480/time.c
@@ -37,8 +37,6 @@
 #define IMR_IP3_VAL    K_BCM1480_INT_MAP_I1
 #define IMR_IP4_VAL    K_BCM1480_INT_MAP_I2
 
-extern int bcm1480_steal_irq(int irq);
-
 /*
  * The general purpose timer ticks at 1MHz independent if
  * the rest of the system
@@ -142,7 +140,6 @@ void __cpuinit sb1480_clockevent_init(void)
                        R_BCM1480_IMR_INTERRUPT_MAP_BASE_H) + (irq << 3)));
 
        bcm1480_unmask_irq(cpu, irq);
-       bcm1480_steal_irq(irq);
 
        action->handler = sibyte_counter_handler;
        action->flags   = IRQF_DISABLED | IRQF_PERCPU;
diff --git a/arch/mips/sibyte/sb1250/irq.c b/arch/mips/sibyte/sb1250/irq.c
index 53780a1..52d18fc 100644
--- a/arch/mips/sibyte/sb1250/irq.c
+++ b/arch/mips/sibyte/sb1250/irq.c
@@ -250,27 +250,6 @@ static struct irqaction sb1250_dummy_action = {
        .dev_id  = 0
 };
 
-int sb1250_steal_irq(int irq)
-{
-       struct irq_desc *desc = irq_desc + irq;
-       unsigned long flags;
-       int retval = 0;
-
-       if (irq >= SB1250_NR_IRQS)
-               return -EINVAL;
-
-       spin_lock_irqsave(&desc->lock, flags);
-       /* Don't allow sharing at all for these */
-       if (desc->action != NULL)
-               retval = -EBUSY;
-       else {
-               desc->action = &sb1250_dummy_action;
-               desc->depth = 0;
-       }
-       spin_unlock_irqrestore(&desc->lock, flags);
-       return 0;
-}
-
 /*
  *  arch_init_irq is called early in the boot sequence from init/main.c via
  *  init_IRQ.  It is responsible for setting up the interrupt mapper and
@@ -342,8 +321,6 @@ void __init arch_init_irq(void)
        __raw_writeq(tmp, IOADDR(A_IMR_REGISTER(0, R_IMR_INTERRUPT_MASK)));
        __raw_writeq(tmp, IOADDR(A_IMR_REGISTER(1, R_IMR_INTERRUPT_MASK)));
 
-       sb1250_steal_irq(K_INT_MBOX_0);
-
        /*
         * Note that the timer interrupts are also mapped, but this is
         * done in sb1250_time_init().  Also, the profiling driver
@@ -367,7 +344,6 @@ void __init arch_init_irq(void)
                __raw_writeq(M_DUART_IMR_BRK,
                             IOADDR(A_DUART_IMRREG(kgdb_port)));
 
-               sb1250_steal_irq(kgdb_irq);
                __raw_writeq(IMR_IP6_VAL,
                             IOADDR(A_IMR_REGISTER(0,
                                                   R_IMR_INTERRUPT_MAP_BASE) +
diff --git a/arch/mips/sibyte/sb1250/time.c b/arch/mips/sibyte/sb1250/time.c
index a41e908..f7f455a 100644
--- a/arch/mips/sibyte/sb1250/time.c
+++ b/arch/mips/sibyte/sb1250/time.c
@@ -50,8 +50,6 @@
 #define SB1250_HPT_VALUE       M_SCD_TIMER_CNT /* max value */
 
 
-extern int sb1250_steal_irq(int irq);
-
 /*
  * The general purpose timer ticks at 1 Mhz independent if
  * the rest of the system
@@ -159,7 +157,6 @@ void __cpuinit sb1250_clockevent_init(void)
        cd->cpumask = cpumask_of_cpu(0);
 
        sb1250_unmask_irq(cpu, irq);
-       sb1250_steal_irq(irq);
 
        action->handler = sibyte_counter_handler;
        action->flags   = IRQF_DISABLED | IRQF_PERCPU;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to