lkml.org 
[lkml]   [2010]   [Oct]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 2/4] cris: convert arch-v10 away from __do_IRQ
    Looks like handle_simple_irq will be fine here, since the do_IRQ
    code is masking the interrupts for us.

    Also remove a pile of unneeded handlers where the defaults filled
    in by the genirq layer will do.

    Signed-off-by: Kyle McMartin <kyle@redhat.com>
    ---
    arch/cris/arch-v10/kernel/irq.c | 26 +++++---------------------
    1 files changed, 5 insertions(+), 21 deletions(-)

    diff --git a/arch/cris/arch-v10/kernel/irq.c b/arch/cris/arch-v10/kernel/irq.c
    index 25d6252..07f17ce 100644
    --- a/arch/cris/arch-v10/kernel/irq.c
    +++ b/arch/cris/arch-v10/kernel/irq.c
    @@ -104,16 +104,6 @@ static void (*interrupt[NR_IRQS])(void) = {
    IRQ31_interrupt
    };

    -static void enable_crisv10_irq(unsigned int irq);
    -
    -static unsigned int startup_crisv10_irq(unsigned int irq)
    -{
    - enable_crisv10_irq(irq);
    - return 0;
    -}
    -
    -#define shutdown_crisv10_irq disable_crisv10_irq
    -
    static void enable_crisv10_irq(unsigned int irq)
    {
    crisv10_unmask_irq(irq);
    @@ -124,22 +114,16 @@ static void disable_crisv10_irq(unsigned int irq)
    crisv10_mask_irq(irq);
    }

    -static void ack_crisv10_irq(unsigned int irq)
    -{
    -}
    -
    -static void end_crisv10_irq(unsigned int irq)
    +static void crisv10_noop(unsigned int irq)
    {
    }

    static struct irq_chip crisv10_irq_type = {
    .name = "CRISv10",
    - .startup = startup_crisv10_irq,
    - .shutdown = shutdown_crisv10_irq,
    - .enable = enable_crisv10_irq,
    + .unmask = enable_crisv10_irq,
    + .mask = disable_crisv10_irq,
    .disable = disable_crisv10_irq,
    - .ack = ack_crisv10_irq,
    - .end = end_crisv10_irq,
    + .ack = crisv10_noop,
    .set_affinity = NULL
    };

    @@ -221,7 +205,7 @@ init_IRQ(void)

    /* Initialize IRQ handler descriptors. */
    for(i = 2; i < NR_IRQS; i++) {
    - set_irq_chip_and_handler(i, &crisv10_irq_type, cris_do_IRQ);
    + set_irq_chip_and_handler(i, &crisv10_irq_type, handle_simple_irq);
    set_int_vector(i, interrupt[i]);
    }

    --
    1.7.3.1


    \
     
     \ /
      Last update: 2010-10-15 06:07    [W:0.080 / U:31.604 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site