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

Commit 7ca56053 authored by Al Viro's avatar Al Viro Committed by Linus Torvalds
Browse files

[PATCH] alpha pt_regs cleanups: device_interrupt



callers of ->device_interrupt() do set_irq_regs() now; pt_regs argument
removed, remaining uses of regs in instances of ->device_interrupt()
are switched to get_irq_regs() and will be gone in the next patch.

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 8dab42a9
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ asmlinkage void
do_entInt(unsigned long type, unsigned long vector,
	  unsigned long la_ptr, struct pt_regs *regs)
{
	struct pt_regs *old_regs;
	switch (type) {
	case 0:
#ifdef CONFIG_SMP
@@ -72,7 +73,9 @@ do_entInt(unsigned long type, unsigned long vector,
		alpha_mv.machine_check(vector, la_ptr, regs);
		return;
	case 3:
		alpha_mv.device_interrupt(vector, regs);
		old_regs = set_irq_regs(regs);
		alpha_mv.device_interrupt(vector);
		set_irq_regs(old_regs);
		return;
	case 4:
		perf_irq(la_ptr, regs);
+2 −2
Original line number Diff line number Diff line
@@ -137,7 +137,7 @@ init_i8259a_irqs(void)

#if defined(IACK_SC)
void
isa_device_interrupt(unsigned long vector, struct pt_regs *regs)
isa_device_interrupt(unsigned long vector)
{
	/*
	 * Generate a PCI interrupt acknowledge cycle.  The PIC will
@@ -147,7 +147,7 @@ isa_device_interrupt(unsigned long vector, struct pt_regs *regs)
	 */
	int j = *(vuip) IACK_SC;
	j &= 0xff;
	handle_irq(j, regs);
	handle_irq(j, get_irq_regs());
}
#endif

+3 −3
Original line number Diff line number Diff line
@@ -15,10 +15,10 @@

#define RTC_IRQ    8

extern void isa_device_interrupt(unsigned long, struct pt_regs *);
extern void isa_device_interrupt(unsigned long);
extern void isa_no_iack_sc_device_interrupt(unsigned long, struct pt_regs *);
extern void srm_device_interrupt(unsigned long, struct pt_regs *);
extern void pyxis_device_interrupt(unsigned long, struct pt_regs *);
extern void srm_device_interrupt(unsigned long);
extern void pyxis_device_interrupt(unsigned long);

extern struct irqaction timer_irqaction;
extern struct irqaction isa_cascade_irqaction;
+3 −3
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ static struct hw_interrupt_type pyxis_irq_type = {
};

void 
pyxis_device_interrupt(unsigned long vector, struct pt_regs *regs)
pyxis_device_interrupt(unsigned long vector)
{
	unsigned long pld;
	unsigned int i;
@@ -98,9 +98,9 @@ pyxis_device_interrupt(unsigned long vector, struct pt_regs *regs)
		i = ffz(~pld);
		pld &= pld - 1; /* clear least bit set */
		if (i == 7)
			isa_device_interrupt(vector, regs);
			isa_device_interrupt(vector);
		else
			handle_irq(16+i, regs);
			handle_irq(16+i, get_irq_regs());
	}
}

+2 −2
Original line number Diff line number Diff line
@@ -72,8 +72,8 @@ init_srm_irqs(long max, unsigned long ignore_mask)
}

void 
srm_device_interrupt(unsigned long vector, struct pt_regs * regs)
srm_device_interrupt(unsigned long vector)
{
	int irq = (vector - 0x800) >> 4;
	handle_irq(irq, regs);
	handle_irq(irq, get_irq_regs());
}
Loading