Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 56451
b: refs/heads/master
c: a226d33
h: refs/heads/master
i:
  56449: cd94975
  56447: 52d50e9
v: v3
  • Loading branch information
Paul Mundt committed May 14, 2007
1 parent 3808800 commit 0bff418
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 13 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 6b5d1a0a2ff4fc5a26029f62eef033224ce0fa97
refs/heads/master: a226d33abccff1959cec911da4143ea06ab22052
4 changes: 3 additions & 1 deletion trunk/arch/sh64/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,20 +94,22 @@ asmlinkage void do_NMI(unsigned long vector_num, struct pt_regs * regs)
*/
asmlinkage int do_IRQ(unsigned long vector_num, struct pt_regs * regs)
{
struct pt_regs *old_regs = set_irq_regs(regs);
int irq;

irq_enter();

irq = irq_demux(vector_num);

if (irq >= 0) {
__do_IRQ(irq, regs);
__do_IRQ(irq);
} else {
printk("unexpected IRQ trap at vector %03lx\n", vector_num);
}

irq_exit();

set_irq_regs(old_regs);
return 1;
}

5 changes: 3 additions & 2 deletions trunk/arch/sh64/kernel/pci_sh5.c
Original file line number Diff line number Diff line change
Expand Up @@ -340,8 +340,9 @@ static int __init map_cayman_irq(struct pci_dev *dev, u8 slot, u8 pin)
return result;
}

irqreturn_t pcish5_err_irq(int irq, void *dev_id, struct pt_regs *regs)
static irqreturn_t pcish5_err_irq(int irq, void *dev_id)
{
struct pt_regs *regs = get_irq_regs();
unsigned pci_int, pci_air, pci_cir, pci_aint;

pci_int = SH5PCI_READ(INT);
Expand All @@ -368,7 +369,7 @@ irqreturn_t pcish5_err_irq(int irq, void *dev_id, struct pt_regs *regs)
return IRQ_HANDLED;
}

irqreturn_t pcish5_serr_irq(int irq, void *dev_id, struct pt_regs *regs)
static irqreturn_t pcish5_serr_irq(int irq, void *dev_id)
{
printk("SERR IRQ\n");

Expand Down
16 changes: 9 additions & 7 deletions trunk/arch/sh64/kernel/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -282,17 +282,18 @@ static long last_rtc_update = 0;
* timer_interrupt() needs to keep up the real-time clock,
* as well as call the "do_timer()" routine every clocktick
*/
static inline void do_timer_interrupt(int irq, struct pt_regs *regs)
static inline void do_timer_interrupt(void)
{
unsigned long long current_ctc;
asm ("getcon cr62, %0" : "=r" (current_ctc));
ctc_last_interrupt = (unsigned long) current_ctc;

do_timer(1);
#ifndef CONFIG_SMP
update_process_times(user_mode(regs));
update_process_times(user_mode(get_irq_regs()));
#endif
profile_tick(CPU_PROFILING, regs);
if (current->pid)
profile_tick(CPU_PROFILING);

#ifdef CONFIG_HEARTBEAT
{
Expand Down Expand Up @@ -323,7 +324,7 @@ static inline void do_timer_interrupt(int irq, struct pt_regs *regs)
* Time Stamp Counter value at the time of the timer interrupt, so that
* we later on can estimate the time of day more exactly.
*/
static irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
static irqreturn_t timer_interrupt(int irq, void *dev_id)
{
unsigned long timer_status;

Expand All @@ -340,7 +341,7 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
* locally disabled. -arca
*/
write_lock(&xtime_lock);
do_timer_interrupt(irq, regs);
do_timer_interrupt();
write_unlock(&xtime_lock);

return IRQ_HANDLED;
Expand Down Expand Up @@ -465,9 +466,10 @@ static __init unsigned int get_cpu_hz(void)
#endif
}

static irqreturn_t sh64_rtc_interrupt(int irq, void *dev_id,
struct pt_regs *regs)
static irqreturn_t sh64_rtc_interrupt(int irq, void *dev_id)
{
struct pt_regs *regs = get_irq_regs();

ctrl_outb(0, RCR1); /* Disable Carry Interrupts */
regs->regs[3] = 1; /* Using r3 */

Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/sh64/mach-cayman/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ unsigned long epld_virt;
/* Note the SMSC SuperIO chip and SMSC LAN chip interrupts are all muxed onto
the same SH-5 interrupt */

static irqreturn_t cayman_interrupt_smsc(int irq, void *dev_id, struct pt_regs *regs)
static irqreturn_t cayman_interrupt_smsc(int irq, void *dev_id)
{
printk(KERN_INFO "CAYMAN: spurious SMSC interrupt\n");
return IRQ_NONE;
}

static irqreturn_t cayman_interrupt_pci2(int irq, void *dev_id, struct pt_regs *regs)
static irqreturn_t cayman_interrupt_pci2(int irq, void *dev_id)
{
printk(KERN_INFO "CAYMAN: spurious PCI interrupt, IRQ %d\n", irq);
return IRQ_NONE;
Expand Down
1 change: 1 addition & 0 deletions trunk/include/asm-sh64/irq_regs.h
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include <asm-generic/irq_regs.h>

0 comments on commit 0bff418

Please sign in to comment.