diff options
Diffstat (limited to 'arch/arm/mach-s3c2410/irq.c')
-rw-r--r-- | arch/arm/mach-s3c2410/irq.c | 41 |
1 files changed, 17 insertions, 24 deletions
diff --git a/arch/arm/mach-s3c2410/irq.c b/arch/arm/mach-s3c2410/irq.c index 3e9f3462c61b..683b3491ba3c 100644 --- a/arch/arm/mach-s3c2410/irq.c +++ b/arch/arm/mach-s3c2410/irq.c | |||
@@ -480,8 +480,7 @@ static struct irqchip s3c_irq_adc = { | |||
480 | 480 | ||
481 | /* irq demux for adc */ | 481 | /* irq demux for adc */ |
482 | static void s3c_irq_demux_adc(unsigned int irq, | 482 | static void s3c_irq_demux_adc(unsigned int irq, |
483 | struct irqdesc *desc, | 483 | struct irqdesc *desc) |
484 | struct pt_regs *regs) | ||
485 | { | 484 | { |
486 | unsigned int subsrc, submsk; | 485 | unsigned int subsrc, submsk; |
487 | unsigned int offset = 9; | 486 | unsigned int offset = 9; |
@@ -500,17 +499,16 @@ static void s3c_irq_demux_adc(unsigned int irq, | |||
500 | if (subsrc != 0) { | 499 | if (subsrc != 0) { |
501 | if (subsrc & 1) { | 500 | if (subsrc & 1) { |
502 | mydesc = irq_desc + IRQ_TC; | 501 | mydesc = irq_desc + IRQ_TC; |
503 | desc_handle_irq(IRQ_TC, mydesc, regs); | 502 | desc_handle_irq(IRQ_TC, mydesc); |
504 | } | 503 | } |
505 | if (subsrc & 2) { | 504 | if (subsrc & 2) { |
506 | mydesc = irq_desc + IRQ_ADC; | 505 | mydesc = irq_desc + IRQ_ADC; |
507 | desc_handle_irq(IRQ_ADC, mydesc, regs); | 506 | desc_handle_irq(IRQ_ADC, mydesc); |
508 | } | 507 | } |
509 | } | 508 | } |
510 | } | 509 | } |
511 | 510 | ||
512 | static void s3c_irq_demux_uart(unsigned int start, | 511 | static void s3c_irq_demux_uart(unsigned int start) |
513 | struct pt_regs *regs) | ||
514 | { | 512 | { |
515 | unsigned int subsrc, submsk; | 513 | unsigned int subsrc, submsk; |
516 | unsigned int offset = start - IRQ_S3CUART_RX0; | 514 | unsigned int offset = start - IRQ_S3CUART_RX0; |
@@ -533,17 +531,17 @@ static void s3c_irq_demux_uart(unsigned int start, | |||
533 | desc = irq_desc + start; | 531 | desc = irq_desc + start; |
534 | 532 | ||
535 | if (subsrc & 1) | 533 | if (subsrc & 1) |
536 | desc_handle_irq(start, desc, regs); | 534 | desc_handle_irq(start, desc); |
537 | 535 | ||
538 | desc++; | 536 | desc++; |
539 | 537 | ||
540 | if (subsrc & 2) | 538 | if (subsrc & 2) |
541 | desc_handle_irq(start+1, desc, regs); | 539 | desc_handle_irq(start+1, desc); |
542 | 540 | ||
543 | desc++; | 541 | desc++; |
544 | 542 | ||
545 | if (subsrc & 4) | 543 | if (subsrc & 4) |
546 | desc_handle_irq(start+2, desc, regs); | 544 | desc_handle_irq(start+2, desc); |
547 | } | 545 | } |
548 | } | 546 | } |
549 | 547 | ||
@@ -551,35 +549,31 @@ static void s3c_irq_demux_uart(unsigned int start, | |||
551 | 549 | ||
552 | static void | 550 | static void |
553 | s3c_irq_demux_uart0(unsigned int irq, | 551 | s3c_irq_demux_uart0(unsigned int irq, |
554 | struct irqdesc *desc, | 552 | struct irqdesc *desc) |
555 | struct pt_regs *regs) | ||
556 | { | 553 | { |
557 | irq = irq; | 554 | irq = irq; |
558 | s3c_irq_demux_uart(IRQ_S3CUART_RX0, regs); | 555 | s3c_irq_demux_uart(IRQ_S3CUART_RX0); |
559 | } | 556 | } |
560 | 557 | ||
561 | static void | 558 | static void |
562 | s3c_irq_demux_uart1(unsigned int irq, | 559 | s3c_irq_demux_uart1(unsigned int irq, |
563 | struct irqdesc *desc, | 560 | struct irqdesc *desc) |
564 | struct pt_regs *regs) | ||
565 | { | 561 | { |
566 | irq = irq; | 562 | irq = irq; |
567 | s3c_irq_demux_uart(IRQ_S3CUART_RX1, regs); | 563 | s3c_irq_demux_uart(IRQ_S3CUART_RX1); |
568 | } | 564 | } |
569 | 565 | ||
570 | static void | 566 | static void |
571 | s3c_irq_demux_uart2(unsigned int irq, | 567 | s3c_irq_demux_uart2(unsigned int irq, |
572 | struct irqdesc *desc, | 568 | struct irqdesc *desc) |
573 | struct pt_regs *regs) | ||
574 | { | 569 | { |
575 | irq = irq; | 570 | irq = irq; |
576 | s3c_irq_demux_uart(IRQ_S3CUART_RX2, regs); | 571 | s3c_irq_demux_uart(IRQ_S3CUART_RX2); |
577 | } | 572 | } |
578 | 573 | ||
579 | static void | 574 | static void |
580 | s3c_irq_demux_extint8(unsigned int irq, | 575 | s3c_irq_demux_extint8(unsigned int irq, |
581 | struct irqdesc *desc, | 576 | struct irqdesc *desc) |
582 | struct pt_regs *regs) | ||
583 | { | 577 | { |
584 | unsigned long eintpnd = __raw_readl(S3C24XX_EINTPEND); | 578 | unsigned long eintpnd = __raw_readl(S3C24XX_EINTPEND); |
585 | unsigned long eintmsk = __raw_readl(S3C24XX_EINTMASK); | 579 | unsigned long eintmsk = __raw_readl(S3C24XX_EINTMASK); |
@@ -594,15 +588,14 @@ s3c_irq_demux_extint8(unsigned int irq, | |||
594 | eintpnd &= ~(1<<irq); | 588 | eintpnd &= ~(1<<irq); |
595 | 589 | ||
596 | irq += (IRQ_EINT4 - 4); | 590 | irq += (IRQ_EINT4 - 4); |
597 | desc_handle_irq(irq, irq_desc + irq, regs); | 591 | desc_handle_irq(irq, irq_desc + irq); |
598 | } | 592 | } |
599 | 593 | ||
600 | } | 594 | } |
601 | 595 | ||
602 | static void | 596 | static void |
603 | s3c_irq_demux_extint4t7(unsigned int irq, | 597 | s3c_irq_demux_extint4t7(unsigned int irq, |
604 | struct irqdesc *desc, | 598 | struct irqdesc *desc) |
605 | struct pt_regs *regs) | ||
606 | { | 599 | { |
607 | unsigned long eintpnd = __raw_readl(S3C24XX_EINTPEND); | 600 | unsigned long eintpnd = __raw_readl(S3C24XX_EINTPEND); |
608 | unsigned long eintmsk = __raw_readl(S3C24XX_EINTMASK); | 601 | unsigned long eintmsk = __raw_readl(S3C24XX_EINTMASK); |
@@ -618,7 +611,7 @@ s3c_irq_demux_extint4t7(unsigned int irq, | |||
618 | 611 | ||
619 | irq += (IRQ_EINT4 - 4); | 612 | irq += (IRQ_EINT4 - 4); |
620 | 613 | ||
621 | desc_handle_irq(irq, irq_desc + irq, regs); | 614 | desc_handle_irq(irq, irq_desc + irq); |
622 | } | 615 | } |
623 | } | 616 | } |
624 | 617 | ||