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 | ||