diff options
Diffstat (limited to 'arch/arm/plat-s3c24xx/irq.c')
| -rw-r--r-- | arch/arm/plat-s3c24xx/irq.c | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/arch/arm/plat-s3c24xx/irq.c b/arch/arm/plat-s3c24xx/irq.c index 36cefe176835..590fc5a3ab06 100644 --- a/arch/arm/plat-s3c24xx/irq.c +++ b/arch/arm/plat-s3c24xx/irq.c | |||
| @@ -55,10 +55,10 @@ | |||
| 55 | #include <linux/interrupt.h> | 55 | #include <linux/interrupt.h> |
| 56 | #include <linux/ioport.h> | 56 | #include <linux/ioport.h> |
| 57 | #include <linux/sysdev.h> | 57 | #include <linux/sysdev.h> |
| 58 | #include <linux/io.h> | ||
| 58 | 59 | ||
| 59 | #include <mach/hardware.h> | 60 | #include <mach/hardware.h> |
| 60 | #include <asm/irq.h> | 61 | #include <asm/irq.h> |
| 61 | #include <asm/io.h> | ||
| 62 | 62 | ||
| 63 | #include <asm/mach/irq.h> | 63 | #include <asm/mach/irq.h> |
| 64 | 64 | ||
| @@ -468,7 +468,6 @@ static void s3c_irq_demux_adc(unsigned int irq, | |||
| 468 | { | 468 | { |
| 469 | unsigned int subsrc, submsk; | 469 | unsigned int subsrc, submsk; |
| 470 | unsigned int offset = 9; | 470 | unsigned int offset = 9; |
| 471 | struct irq_desc *mydesc; | ||
| 472 | 471 | ||
| 473 | /* read the current pending interrupts, and the mask | 472 | /* read the current pending interrupts, and the mask |
| 474 | * for what it is available */ | 473 | * for what it is available */ |
| @@ -482,12 +481,10 @@ static void s3c_irq_demux_adc(unsigned int irq, | |||
| 482 | 481 | ||
| 483 | if (subsrc != 0) { | 482 | if (subsrc != 0) { |
| 484 | if (subsrc & 1) { | 483 | if (subsrc & 1) { |
| 485 | mydesc = irq_desc + IRQ_TC; | 484 | generic_handle_irq(IRQ_TC); |
| 486 | desc_handle_irq(IRQ_TC, mydesc); | ||
| 487 | } | 485 | } |
| 488 | if (subsrc & 2) { | 486 | if (subsrc & 2) { |
| 489 | mydesc = irq_desc + IRQ_ADC; | 487 | generic_handle_irq(IRQ_ADC); |
| 490 | desc_handle_irq(IRQ_ADC, mydesc); | ||
| 491 | } | 488 | } |
| 492 | } | 489 | } |
| 493 | } | 490 | } |
| @@ -496,7 +493,6 @@ static void s3c_irq_demux_uart(unsigned int start) | |||
| 496 | { | 493 | { |
| 497 | unsigned int subsrc, submsk; | 494 | unsigned int subsrc, submsk; |
| 498 | unsigned int offset = start - IRQ_S3CUART_RX0; | 495 | unsigned int offset = start - IRQ_S3CUART_RX0; |
| 499 | struct irq_desc *desc; | ||
| 500 | 496 | ||
| 501 | /* read the current pending interrupts, and the mask | 497 | /* read the current pending interrupts, and the mask |
| 502 | * for what it is available */ | 498 | * for what it is available */ |
| @@ -512,20 +508,14 @@ static void s3c_irq_demux_uart(unsigned int start) | |||
| 512 | subsrc &= 7; | 508 | subsrc &= 7; |
| 513 | 509 | ||
| 514 | if (subsrc != 0) { | 510 | if (subsrc != 0) { |
| 515 | desc = irq_desc + start; | ||
| 516 | |||
| 517 | if (subsrc & 1) | 511 | if (subsrc & 1) |
| 518 | desc_handle_irq(start, desc); | 512 | generic_handle_irq(start); |
| 519 | |||
| 520 | desc++; | ||
| 521 | 513 | ||
| 522 | if (subsrc & 2) | 514 | if (subsrc & 2) |
| 523 | desc_handle_irq(start+1, desc); | 515 | generic_handle_irq(start+1); |
| 524 | |||
| 525 | desc++; | ||
| 526 | 516 | ||
| 527 | if (subsrc & 4) | 517 | if (subsrc & 4) |
| 528 | desc_handle_irq(start+2, desc); | 518 | generic_handle_irq(start+2); |
| 529 | } | 519 | } |
| 530 | } | 520 | } |
| 531 | 521 | ||
| @@ -572,7 +562,7 @@ s3c_irq_demux_extint8(unsigned int irq, | |||
| 572 | eintpnd &= ~(1<<irq); | 562 | eintpnd &= ~(1<<irq); |
| 573 | 563 | ||
| 574 | irq += (IRQ_EINT4 - 4); | 564 | irq += (IRQ_EINT4 - 4); |
| 575 | desc_handle_irq(irq, irq_desc + irq); | 565 | generic_handle_irq(irq); |
| 576 | } | 566 | } |
| 577 | 567 | ||
| 578 | } | 568 | } |
| @@ -595,7 +585,7 @@ s3c_irq_demux_extint4t7(unsigned int irq, | |||
| 595 | 585 | ||
| 596 | irq += (IRQ_EINT4 - 4); | 586 | irq += (IRQ_EINT4 - 4); |
| 597 | 587 | ||
| 598 | desc_handle_irq(irq, irq_desc + irq); | 588 | generic_handle_irq(irq); |
| 599 | } | 589 | } |
| 600 | } | 590 | } |
| 601 | 591 | ||
