Initial blind fixup for arm for irq changes
Untested, but this should fix up the bulk of the totally mechanical issues, and should make the actual detail fixing easier. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Этот коммит содержится в:
@@ -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;
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
@@ -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);
|
||||
|
@@ -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 */
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
|
Ссылка в новой задаче
Block a user