Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 39105
b: refs/heads/master
c: ba00003
h: refs/heads/master
i:
  39103: d137871
v: v3
  • Loading branch information
Linus Torvalds committed Oct 7, 2006
1 parent 7dcc7f9 commit 13073c7
Show file tree
Hide file tree
Showing 245 changed files with 1,039 additions and 940 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: 40a5f7ca07f8e1d77acdba5ae0c11c15cb7520c1
refs/heads/master: ba00003aa83a61b615542dd66f5af8fb4a7cee1d
28 changes: 24 additions & 4 deletions trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2261,6 +2261,17 @@ T: git kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6.git
T: cvs cvs.parisc-linux.org:/var/cvs/linux-2.6
S: Maintained

PC87360 HARDWARE MONITORING DRIVER
P: Jim Cromie
M: jim.cromie@gmail.com
L: lm-sensors@lm-sensors.org
S: Maintained

PC8736x GPIO DRIVER
P: Jim Cromie
M: jim.cromie@gmail.com
S: Maintained

PCI ERROR RECOVERY
P: Linas Vepstas
M: linas@austin.ibm.com
Expand Down Expand Up @@ -2592,10 +2603,19 @@ L: lksctp-developers@lists.sourceforge.net
S: Supported

SCx200 CPU SUPPORT
P: Christer Weinigel
M: christer@weinigel.se
W: http://www.weinigel.se
S: Supported
P: Jim Cromie
M: jim.cromie@gmail.com
S: Odd Fixes

SCx200 GPIO DRIVER
P: Jim Cromie
M: jim.cromie@gmail.com
S: Maintained

SCx200 HRT CLOCKSOURCE DRIVER
P: Jim Cromie
M: jim.cromie@gmail.com
S: Maintained

SECURITY CONTACT
P: Security Officers
Expand Down
5 changes: 4 additions & 1 deletion trunk/arch/alpha/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ show_interrupts(struct seq_file *p, void *v)
void
handle_irq(int irq, struct pt_regs * regs)
{
struct pt_regs *old_regs;
/*
* We ack quickly, we don't want the irq controller
* thinking we're snobs just because some other CPU has
Expand All @@ -149,6 +150,7 @@ handle_irq(int irq, struct pt_regs * regs)
return;
}

old_regs = set_irq_regs(regs);
irq_enter();
/*
* __do_IRQ() must be called with IPL_MAX. Note that we do not
Expand All @@ -157,6 +159,7 @@ handle_irq(int irq, struct pt_regs * regs)
* at IPL 0.
*/
local_irq_disable();
__do_IRQ(irq, regs);
__do_IRQ(irq);
irq_exit();
set_irq_regs(old_regs);
}
2 changes: 1 addition & 1 deletion trunk/arch/alpha/kernel/proto.h
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ extern void smp_percpu_timer_interrupt(struct pt_regs *);
/* extern void reset_for_srm(void); */

/* time.c */
extern irqreturn_t timer_interrupt(int irq, void *dev, struct pt_regs * regs);
extern irqreturn_t timer_interrupt(int irq, void *dev);
extern void common_init_rtc(void);
extern unsigned long est_cycle_freq;

Expand Down
6 changes: 5 additions & 1 deletion trunk/arch/alpha/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -515,12 +515,15 @@ smp_cpus_done(unsigned int max_cpus)
void
smp_percpu_timer_interrupt(struct pt_regs *regs)
{
struct pt_regs *old_regs;
int cpu = smp_processor_id();
unsigned long user = user_mode(regs);
struct cpuinfo_alpha *data = &cpu_data[cpu];

old_regs = set_irq_regs(regs);

/* Record kernel PC. */
profile_tick(CPU_PROFILING, regs);
profile_tick(CPU_PROFILING);

if (!--data->prof_counter) {
/* We need to make like a normal interrupt -- otherwise
Expand All @@ -534,6 +537,7 @@ smp_percpu_timer_interrupt(struct pt_regs *regs)

irq_exit();
}
set_irq_regs(old_regs);
}

int __init
Expand Down
6 changes: 3 additions & 3 deletions trunk/arch/alpha/kernel/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -104,15 +104,15 @@ unsigned long long sched_clock(void)
* timer_interrupt() needs to keep up the real-time clock,
* as well as call the "do_timer()" routine every clocktick
*/
irqreturn_t timer_interrupt(int irq, void *dev, struct pt_regs * regs)
irqreturn_t timer_interrupt(int irq, void *dev)
{
unsigned long delta;
__u32 now;
long nticks;

#ifndef CONFIG_SMP
/* Not SMP, do kernel PC profiling here. */
profile_tick(CPU_PROFILING, regs);
profile_tick(CPU_PROFILING);
#endif

write_seqlock(&xtime_lock);
Expand All @@ -132,7 +132,7 @@ irqreturn_t timer_interrupt(int irq, void *dev, struct pt_regs * regs)
while (nticks > 0) {
do_timer(1);
#ifndef CONFIG_SMP
update_process_times(user_mode(regs));
update_process_times(user_mode(get_irq_regs()));
#endif
nticks--;
}
Expand Down
25 changes: 10 additions & 15 deletions trunk/arch/arm/common/locomo.c
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,7 @@ static struct locomo_dev_info locomo_devices[] = {
#define LOCOMO_IRQ_LT_START (IRQ_LOCOMO_LT)
#define LOCOMO_IRQ_SPI_START (IRQ_LOCOMO_SPI_RFR)

static void locomo_handler(unsigned int irq, struct irqdesc *desc,
struct pt_regs *regs)
static void locomo_handler(unsigned int irq, struct irqdesc *desc)
{
int req, i;
struct irqdesc *d;
Expand All @@ -182,7 +181,7 @@ static void locomo_handler(unsigned int irq, struct irqdesc *desc,
d = irq_desc + irq;
for (i = 0; i <= 3; i++, d++, irq++) {
if (req & (0x0100 << i)) {
desc_handle_irq(irq, d, regs);
desc_handle_irq(irq, d);
}

}
Expand Down Expand Up @@ -218,15 +217,14 @@ static struct irq_chip locomo_chip = {
.unmask = locomo_unmask_irq,
};

static void locomo_key_handler(unsigned int irq, struct irqdesc *desc,
struct pt_regs *regs)
static void locomo_key_handler(unsigned int irq, struct irqdesc *desc)
{
struct irqdesc *d;
void __iomem *mapbase = get_irq_chipdata(irq);

if (locomo_readl(mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC) & 0x0001) {
d = irq_desc + LOCOMO_IRQ_KEY_START;
desc_handle_irq(LOCOMO_IRQ_KEY_START, d, regs);
desc_handle_irq(LOCOMO_IRQ_KEY_START, d);
}
}

Expand Down Expand Up @@ -264,8 +262,7 @@ static struct irq_chip locomo_key_chip = {
.unmask = locomo_key_unmask_irq,
};

static void locomo_gpio_handler(unsigned int irq, struct irqdesc *desc,
struct pt_regs *regs)
static void locomo_gpio_handler(unsigned int irq, struct irqdesc *desc)
{
int req, i;
struct irqdesc *d;
Expand All @@ -280,7 +277,7 @@ static void locomo_gpio_handler(unsigned int irq, struct irqdesc *desc,
d = irq_desc + LOCOMO_IRQ_GPIO_START;
for (i = 0; i <= 15; i++, irq++, d++) {
if (req & (0x0001 << i)) {
desc_handle_irq(irq, d, regs);
desc_handle_irq(irq, d);
}
}
}
Expand Down Expand Up @@ -328,15 +325,14 @@ static struct irq_chip locomo_gpio_chip = {
.unmask = locomo_gpio_unmask_irq,
};

static void locomo_lt_handler(unsigned int irq, struct irqdesc *desc,
struct pt_regs *regs)
static void locomo_lt_handler(unsigned int irq, struct irqdesc *desc)
{
struct irqdesc *d;
void __iomem *mapbase = get_irq_chipdata(irq);

if (locomo_readl(mapbase + LOCOMO_LTINT) & 0x0001) {
d = irq_desc + LOCOMO_IRQ_LT_START;
desc_handle_irq(LOCOMO_IRQ_LT_START, d, regs);
desc_handle_irq(LOCOMO_IRQ_LT_START, d);
}
}

Expand Down Expand Up @@ -374,8 +370,7 @@ static struct irq_chip locomo_lt_chip = {
.unmask = locomo_lt_unmask_irq,
};

static void locomo_spi_handler(unsigned int irq, struct irqdesc *desc,
struct pt_regs *regs)
static void locomo_spi_handler(unsigned int irq, struct irqdesc *desc)
{
int req, i;
struct irqdesc *d;
Expand All @@ -388,7 +383,7 @@ static void locomo_spi_handler(unsigned int irq, struct irqdesc *desc,

for (i = 0; i <= 3; i++, irq++, d++) {
if (req & (0x0001 << i)) {
desc_handle_irq(irq, d, regs);
desc_handle_irq(irq, d);
}
}
}
Expand Down
8 changes: 4 additions & 4 deletions trunk/arch/arm/common/sa1111.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ void __init sa1111_adjust_zones(int node, unsigned long *size, unsigned long *ho
* will call us again if there are more interrupts to process.
*/
static void
sa1111_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)
sa1111_irq_handler(unsigned int irq, struct irqdesc *desc)
{
unsigned int stat0, stat1, i;
void __iomem *base = get_irq_data(irq);
Expand All @@ -162,17 +162,17 @@ sa1111_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)
sa1111_writel(stat1, base + SA1111_INTSTATCLR1);

if (stat0 == 0 && stat1 == 0) {
do_bad_IRQ(irq, desc, regs);
do_bad_IRQ(irq, desc);
return;
}

for (i = IRQ_SA1111_START; stat0; i++, stat0 >>= 1)
if (stat0 & 1)
handle_edge_irq(i, irq_desc + i, regs);
handle_edge_irq(i, irq_desc + i);

for (i = IRQ_SA1111_START + 32; stat1; i++, stat1 >>= 1)
if (stat1 & 1)
handle_edge_irq(i, irq_desc + i, regs);
handle_edge_irq(i, irq_desc + i);

/* For level-based interrupts */
desc->chip->unmask(irq);
Expand Down
6 changes: 3 additions & 3 deletions trunk/arch/arm/common/sharpsl_pm.c
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ static void sharpsl_ac_timer(unsigned long data)
}


irqreturn_t sharpsl_ac_isr(int irq, void *dev_id, struct pt_regs *fp)
irqreturn_t sharpsl_ac_isr(int irq, void *dev_id)
{
/* Delay the event slightly to debounce */
/* Must be a smaller delay than the chrg_full_isr below */
Expand Down Expand Up @@ -293,7 +293,7 @@ static void sharpsl_chrg_full_timer(unsigned long data)
/* Charging Finished Interrupt (Not present on Corgi) */
/* Can trigger at the same time as an AC staus change so
delay until after that has been processed */
irqreturn_t sharpsl_chrg_full_isr(int irq, void *dev_id, struct pt_regs *fp)
irqreturn_t sharpsl_chrg_full_isr(int irq, void *dev_id)
{
if (sharpsl_pm.flags & SHARPSL_SUSPENDED)
return IRQ_HANDLED;
Expand All @@ -304,7 +304,7 @@ irqreturn_t sharpsl_chrg_full_isr(int irq, void *dev_id, struct pt_regs *fp)
return IRQ_HANDLED;
}

irqreturn_t sharpsl_fatal_isr(int irq, void *dev_id, struct pt_regs *fp)
irqreturn_t sharpsl_fatal_isr(int irq, void *dev_id)
{
int is_fatal = 0;

Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/arm/common/time-acorn.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,10 @@ void __init ioctime_init(void)
}

static irqreturn_t
ioc_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
ioc_timer_interrupt(int irq, void *dev_id)
{
write_seqlock(&xtime_lock);
timer_tick(regs);
timer_tick();
write_sequnlock(&xtime_lock);
return IRQ_HANDLED;
}
Expand Down
8 changes: 4 additions & 4 deletions trunk/arch/arm/kernel/ecard.c
Original file line number Diff line number Diff line change
Expand Up @@ -567,7 +567,7 @@ static void ecard_check_lockup(struct irqdesc *desc)
}

static void
ecard_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)
ecard_irq_handler(unsigned int irq, struct irqdesc *desc)
{
ecard_t *ec;
int called = 0;
Expand All @@ -586,7 +586,7 @@ ecard_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)

if (pending) {
struct irqdesc *d = irq_desc + ec->irq;
desc_handle_irq(ec->irq, d, regs);
desc_handle_irq(ec->irq, d);
called ++;
}
}
Expand All @@ -609,7 +609,7 @@ static unsigned char first_set[] =
};

static void
ecard_irqexp_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)
ecard_irqexp_handler(unsigned int irq, struct irqdesc *desc)
{
const unsigned int statusmask = 15;
unsigned int status;
Expand All @@ -633,7 +633,7 @@ ecard_irqexp_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *reg
* Serial cards should go in 0/1, ethernet/scsi in 2/3
* otherwise you will lose serial data at high speeds!
*/
desc_handle_irq(ec->irq, d, regs);
desc_handle_irq(ec->irq, d);
} else {
printk(KERN_WARNING "card%d: interrupt from unclaimed "
"card???\n", slot);
Expand Down
4 changes: 3 additions & 1 deletion trunk/arch/arm/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ static struct irq_desc bad_irq_desc = {
*/
asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs)
{
struct pt_regs *old_regs = set_irq_regs(regs);
struct irqdesc *desc = irq_desc + irq;

/*
Expand All @@ -122,12 +123,13 @@ asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs)

irq_enter();

desc_handle_irq(irq, desc, regs);
desc_handle_irq(irq, desc);

/* AT91 specific workaround */
irq_finish(irq);

irq_exit();
set_irq_regs(old_regs);
}

void set_irq_flags(unsigned int irq, unsigned int iflags)
Expand Down
6 changes: 4 additions & 2 deletions trunk/arch/arm/kernel/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
#include <linux/profile.h>
#include <linux/sysdev.h>
#include <linux/timer.h>
#include <linux/irq.h>

#include <asm/leds.h>
#include <asm/thread_info.h>
Expand Down Expand Up @@ -324,9 +325,10 @@ EXPORT_SYMBOL(restore_time_delta);
/*
* Kernel system timer support.
*/
void timer_tick(struct pt_regs *regs)
void timer_tick(void)
{
profile_tick(CPU_PROFILING, regs);
struct pt_regs *regs = get_irq_regs();
profile_tick(CPU_PROFILING);
do_leds();
do_set_rtc();
do_timer(1);
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/arm/mach-aaec2000/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -127,12 +127,12 @@ static unsigned long aaec2000_gettimeoffset(void)

/* We enter here with IRQs enabled */
static irqreturn_t
aaec2000_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
aaec2000_timer_interrupt(int irq, void *dev_id)
{
/* TODO: Check timer accuracy */
write_seqlock(&xtime_lock);

timer_tick(regs);
timer_tick();
TIMER1_CLEAR = 1;

write_sequnlock(&xtime_lock);
Expand Down
Loading

0 comments on commit 13073c7

Please sign in to comment.