[SPARC64]: Minor irq handling cleanups.
Use struct irq_chip instead of hw_interrupt_type. Delete hw_resend_irq(), totally unused. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
15f1483404
commit
729e7d7e4d
|
@ -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 @@ out:
|
|||
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);
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue