From 5a993ac7d8ee5453103ed236c58a8bccb1e3fce3 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Tue, 12 Dec 2006 00:59:12 -0800 Subject: [PATCH] --- yaml --- r: 44639 b: refs/heads/master c: 729e7d7e4dc6b905e40992b6439b07153db4bd63 h: refs/heads/master i: 44637: 90c3c7da1cd40391dfff21c55dc9124790994506 44635: 5292a238cc825cec105bc65cb6a37c4cf0a7b00e 44631: 2558783d54977c967c8bf338eb33bf64de9f9911 44623: 60785590267e1b5199a81da04fc9003d62a9490f 44607: a89fc7614c1a6a1be5eb27729ff946acee7f82ca v: v3 --- [refs] | 2 +- trunk/arch/sparc64/kernel/irq.c | 24 ++++-------------------- trunk/include/asm-sparc64/hw_irq.h | 2 -- 3 files changed, 5 insertions(+), 23 deletions(-) diff --git a/[refs] b/[refs] index d781f109b3cd..ab44a5c11f77 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 15f1483404f3497c66872de13f3d585e3da87785 +refs/heads/master: 729e7d7e4dc6b905e40992b6439b07153db4bd63 diff --git a/trunk/arch/sparc64/kernel/irq.c b/trunk/arch/sparc64/kernel/irq.c index d64b1ea848de..c3d068c7a412 100644 --- a/trunk/arch/sparc64/kernel/irq.c +++ b/trunk/arch/sparc64/kernel/irq.c @@ -372,14 +372,14 @@ static void run_pre_handler(unsigned int virt_irq) } } -static struct hw_interrupt_type sun4u_irq = { +static struct irq_chip sun4u_irq = { .typename = "sun4u", .enable = sun4u_irq_enable, .disable = sun4u_irq_disable, .end = sun4u_irq_end, }; -static struct hw_interrupt_type sun4u_irq_ack = { +static struct irq_chip sun4u_irq_ack = { .typename = "sun4u+ack", .enable = sun4u_irq_enable, .disable = sun4u_irq_disable, @@ -387,14 +387,14 @@ static struct hw_interrupt_type sun4u_irq_ack = { .end = sun4u_irq_end, }; -static struct hw_interrupt_type sun4v_irq = { +static struct irq_chip sun4v_irq = { .typename = "sun4v", .enable = sun4v_irq_enable, .disable = sun4v_irq_disable, .end = sun4v_irq_end, }; -static struct hw_interrupt_type sun4v_irq_ack = { +static struct irq_chip sun4v_irq_ack = { .typename = "sun4v+ack", .enable = sun4v_irq_enable, .disable = sun4v_irq_disable, @@ -493,22 +493,6 @@ unsigned int sun4v_build_irq(u32 devhandle, unsigned int devino) return bucket->virt_irq; } -void hw_resend_irq(struct hw_interrupt_type *handler, unsigned int virt_irq) -{ - struct ino_bucket *bucket = virt_irq_to_bucket(virt_irq); - unsigned long pstate; - unsigned int *ent; - - __asm__ __volatile__("rdpr %%pstate, %0" : "=r" (pstate)); - __asm__ __volatile__("wrpr %0, %1, %%pstate" - : : "r" (pstate), "i" (PSTATE_IE)); - ent = irq_work(smp_processor_id()); - bucket->irq_chain = *ent; - *ent = __irq(bucket); - set_softint(1 << PIL_DEVICE_IRQ); - __asm__ __volatile__("wrpr %0, 0x0, %%pstate" : : "r" (pstate)); -} - void ack_bad_irq(unsigned int virt_irq) { struct ino_bucket *bucket = virt_irq_to_bucket(virt_irq); diff --git a/trunk/include/asm-sparc64/hw_irq.h b/trunk/include/asm-sparc64/hw_irq.h index 599b3b073450..8e44a8360829 100644 --- a/trunk/include/asm-sparc64/hw_irq.h +++ b/trunk/include/asm-sparc64/hw_irq.h @@ -1,6 +1,4 @@ #ifndef __ASM_SPARC64_HW_IRQ_H #define __ASM_SPARC64_HW_IRQ_H -extern void hw_resend_irq(struct hw_interrupt_type *handler, unsigned int virt_irq); - #endif