Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7d209c81 authored by Kyle McMartin's avatar Kyle McMartin Committed by Matt Turner
Browse files

alpha: kill off alpha_do_IRQ



Good riddance... Nuke a pile of redundant handlers that the
generic code takes care of as well.

Tested-by: default avatarMichael Cree <mcree@orcon.net.nz>
Signed-off-by: default avatarKyle McMartin <kyle@redhat.com>
Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
parent a891b393
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -88,7 +88,4 @@ static __inline__ int irq_canonicalize(int irq)
struct pt_regs;
extern void (*perf_irq)(unsigned long, struct pt_regs *);

struct irq_desc;
extern void alpha_do_IRQ(unsigned int irq, struct irq_desc *desc);

#endif /* _ALPHA_IRQ_H */
+1 −5
Original line number Diff line number Diff line
@@ -162,7 +162,7 @@ handle_irq(int irq)

	irq_enter();
	/*
	 * __do_IRQ() must be called with IPL_MAX. Note that we do not
	 * handle_irq() must be called with IPL_MAX. Note that we do not
	 * explicitly enable interrupts afterwards - some MILO PALcode
	 * (namely LX164 one) seems to have severe problems with RTI
	 * at IPL 0.
@@ -172,7 +172,3 @@ handle_irq(int irq)
	irq_exit();
}
void alpha_do_IRQ(unsigned int irq, struct irq_desc *desc)
{
	__do_IRQ(irq);
}
+2 −14
Original line number Diff line number Diff line
@@ -219,25 +219,12 @@ process_mcheck_info(unsigned long vector, unsigned long la_ptr,
 * processed by PALcode, and comes in via entInt vector 1.
 */

static void rtc_enable_disable(unsigned int irq) { }
static unsigned int rtc_startup(unsigned int irq) { return 0; }

struct irqaction timer_irqaction = {
	.handler	= timer_interrupt,
	.flags		= IRQF_DISABLED,
	.name		= "timer",
};

static struct irq_chip rtc_irq_type = {
	.name		= "RTC",
	.startup	= rtc_startup,
	.shutdown	= rtc_enable_disable,
	.enable		= rtc_enable_disable,
	.disable	= rtc_enable_disable,
	.ack		= rtc_enable_disable,
	.end		= rtc_enable_disable,
};

void __init
init_rtc_irq(void)
{
@@ -245,7 +232,8 @@ init_rtc_irq(void)

	if (desc) {
		desc->status |= IRQ_DISABLED;
		set_irq_chip(RTC_IRQ, &rtc_irq_type);
		set_irq_chip_and_handler_name(RTC_IRQ, &no_irq_chip,
			handle_simple_irq, "RTC");
		setup_irq(RTC_IRQ, &timer_irqaction);
	}
}
+4 −22
Original line number Diff line number Diff line
@@ -69,29 +69,11 @@ i8259a_mask_and_ack_irq(unsigned int irq)
	spin_unlock(&i8259_irq_lock);
}

unsigned int
i8259a_startup_irq(unsigned int irq)
{
	i8259a_enable_irq(irq);
	return 0; /* never anything pending */
}

void
i8259a_end_irq(unsigned int irq)
{
	struct irq_desc *desc = irq_to_desc(irq);
	if (desc || !(desc->status & (IRQ_DISABLED|IRQ_INPROGRESS)))
		i8259a_enable_irq(irq);
}

struct irq_chip i8259a_irq_type = {
	.name		= "XT-PIC",
	.startup	= i8259a_startup_irq,
	.shutdown	= i8259a_disable_irq,
	.enable		= i8259a_enable_irq,
	.disable	= i8259a_disable_irq,
	.ack		= i8259a_mask_and_ack_irq,
	.end		= i8259a_end_irq,
	.unmask		= i8259a_enable_irq,
	.mask		= i8259a_disable_irq,
	.mask_ack	= i8259a_mask_and_ack_irq,
};

void __init
@@ -108,7 +90,7 @@ init_i8259a_irqs(void)
	outb(0xff, 0xA1);	/* mask all of 8259A-2 */

	for (i = 0; i < 16; i++) {
		set_irq_chip_and_handler(i, &i8259a_irq_type, alpha_do_IRQ);
		set_irq_chip_and_handler(i, &i8259a_irq_type, handle_level_irq);
	}

	setup_irq(2, &cascade);
+4 −22
Original line number Diff line number Diff line
@@ -40,21 +40,6 @@ pyxis_disable_irq(unsigned int irq)
	pyxis_update_irq_hw(cached_irq_mask &= ~(1UL << (irq - 16)));
}

static unsigned int
pyxis_startup_irq(unsigned int irq)
{
	pyxis_enable_irq(irq);
	return 0;
}

static void
pyxis_end_irq(unsigned int irq)
{
	struct irq_desc *desc = irq_to_desc(irq);
	if (desc || !(desc->status & (IRQ_DISABLED|IRQ_INPROGRESS)))
		pyxis_enable_irq(irq);
}

static void
pyxis_mask_and_ack_irq(unsigned int irq)
{
@@ -73,12 +58,9 @@ pyxis_mask_and_ack_irq(unsigned int irq)

static struct irq_chip pyxis_irq_type = {
	.name		= "PYXIS",
	.startup	= pyxis_startup_irq,
	.shutdown	= pyxis_disable_irq,
	.enable		= pyxis_enable_irq,
	.disable	= pyxis_disable_irq,
	.ack		= pyxis_mask_and_ack_irq,
	.end		= pyxis_end_irq,
	.mask_ack	= pyxis_mask_and_ack_irq,
	.mask		= pyxis_disable_irq,
	.unmask		= pyxis_enable_irq,
};

void 
@@ -120,7 +102,7 @@ init_pyxis_irqs(unsigned long ignore_mask)
	for (i = 16; i < 48; ++i) {
		if ((ignore_mask >> i) & 1)
			continue;
		set_irq_chip_and_handler(i, &pyxis_irq_type, alpha_do_IRQ);
		set_irq_chip_and_handler(i, &pyxis_irq_type, handle_level_irq);
		irq_to_desc(i)->status |= IRQ_LEVEL;
	}

Loading