git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[ARM] S3C: Update time initialisation to fix S3C64XX time problems
[safe/jmp/linux-2.6]
/
arch
/
arm
/
plat-s3c24xx
/
irq.c
diff --git
a/arch/arm/plat-s3c24xx/irq.c
b/arch/arm/plat-s3c24xx/irq.c
index
ce18639
..
0192ecd
100644
(file)
--- a/
arch/arm/plat-s3c24xx/irq.c
+++ b/
arch/arm/plat-s3c24xx/irq.c
@@
-47,28
+47,28
@@
* Mark IRQ_LCD valid
*
* 25-Jul-2005 Ben Dooks
* Mark IRQ_LCD valid
*
* 25-Jul-2005 Ben Dooks
- * Split the S3C2440 IRQ code to sep
e
rate file
+ * Split the S3C2440 IRQ code to sep
a
rate file
*/
#include <linux/init.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
*/
#include <linux/init.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
-#include <linux/ptrace.h>
#include <linux/sysdev.h>
#include <linux/sysdev.h>
+#include <linux/io.h>
-#include <
asm
/hardware.h>
+#include <
mach
/hardware.h>
#include <asm/irq.h>
#include <asm/irq.h>
-#include <asm/io.h>
#include <asm/mach/irq.h>
#include <asm/mach/irq.h>
-#include <asm/arch/regs-irq.h>
-#include <asm/arch/regs-gpio.h>
+#include <plat/regs-irqtype.h>
+#include <mach/regs-irq.h>
+#include <mach/regs-gpio.h>
-#include <
asm/plat-s3c24xx
/cpu.h>
-#include <
asm/plat-s3c24xx
/pm.h>
-#include <
asm/plat-s3c24xx
/irq.h>
+#include <
plat
/cpu.h>
+#include <
plat
/pm.h>
+#include <
plat
/irq.h>
/* wakeup irq control */
/* wakeup irq control */
@@
-188,7
+188,7
@@
struct irq_chip s3c_irq_level_chip = {
.set_wake = s3c_irq_wake
};
.set_wake = s3c_irq_wake
};
-st
atic st
ruct irq_chip s3c_irq_chip = {
+struct irq_chip s3c_irq_chip = {
.name = "s3c",
.ack = s3c_irq_ack,
.mask = s3c_irq_mask,
.name = "s3c",
.ack = s3c_irq_ack,
.mask = s3c_irq_mask,
@@
-293,27
+293,27
@@
s3c_irqext_type(unsigned int irq, unsigned int type)
/* Set the external interrupt to pointed trigger type */
switch (type)
{
/* Set the external interrupt to pointed trigger type */
switch (type)
{
- case IRQ
T_NOEDG
E:
+ case IRQ
_TYPE_NON
E:
printk(KERN_WARNING "No edge setting!\n");
break;
printk(KERN_WARNING "No edge setting!\n");
break;
- case IRQ
T
_RISING:
+ case IRQ
_TYPE_EDGE
_RISING:
newvalue = S3C2410_EXTINT_RISEEDGE;
break;
newvalue = S3C2410_EXTINT_RISEEDGE;
break;
- case IRQ
T
_FALLING:
+ case IRQ
_TYPE_EDGE
_FALLING:
newvalue = S3C2410_EXTINT_FALLEDGE;
break;
newvalue = S3C2410_EXTINT_FALLEDGE;
break;
- case IRQ
T_BOTHEDGE
:
+ case IRQ
_TYPE_EDGE_BOTH
:
newvalue = S3C2410_EXTINT_BOTHEDGE;
break;
newvalue = S3C2410_EXTINT_BOTHEDGE;
break;
- case IRQ
T
_LOW:
+ case IRQ
_TYPE_LEVEL
_LOW:
newvalue = S3C2410_EXTINT_LOWLEV;
break;
newvalue = S3C2410_EXTINT_LOWLEV;
break;
- case IRQ
T
_HIGH:
+ case IRQ
_TYPE_LEVEL
_HIGH:
newvalue = S3C2410_EXTINT_HILEV;
break;
newvalue = S3C2410_EXTINT_HILEV;
break;
@@
-469,7
+469,6
@@
static void s3c_irq_demux_adc(unsigned int irq,
{
unsigned int subsrc, submsk;
unsigned int offset = 9;
{
unsigned int subsrc, submsk;
unsigned int offset = 9;
- struct irq_desc *mydesc;
/* read the current pending interrupts, and the mask
* for what it is available */
/* read the current pending interrupts, and the mask
* for what it is available */
@@
-483,12
+482,10
@@
static void s3c_irq_demux_adc(unsigned int irq,
if (subsrc != 0) {
if (subsrc & 1) {
if (subsrc != 0) {
if (subsrc & 1) {
- mydesc = irq_desc + IRQ_TC;
- desc_handle_irq(IRQ_TC, mydesc);
+ generic_handle_irq(IRQ_TC);
}
if (subsrc & 2) {
}
if (subsrc & 2) {
- mydesc = irq_desc + IRQ_ADC;
- desc_handle_irq(IRQ_ADC, mydesc);
+ generic_handle_irq(IRQ_ADC);
}
}
}
}
}
}
@@
-497,7
+494,6
@@
static void s3c_irq_demux_uart(unsigned int start)
{
unsigned int subsrc, submsk;
unsigned int offset = start - IRQ_S3CUART_RX0;
{
unsigned int subsrc, submsk;
unsigned int offset = start - IRQ_S3CUART_RX0;
- struct irq_desc *desc;
/* read the current pending interrupts, and the mask
* for what it is available */
/* read the current pending interrupts, and the mask
* for what it is available */
@@
-513,20
+509,14
@@
static void s3c_irq_demux_uart(unsigned int start)
subsrc &= 7;
if (subsrc != 0) {
subsrc &= 7;
if (subsrc != 0) {
- desc = irq_desc + start;
-
if (subsrc & 1)
if (subsrc & 1)
- desc_handle_irq(start, desc);
-
- desc++;
+ generic_handle_irq(start);
if (subsrc & 2)
if (subsrc & 2)
- desc_handle_irq(start+1, desc);
-
- desc++;
+ generic_handle_irq(start+1);
if (subsrc & 4)
if (subsrc & 4)
-
desc_handle_irq(start+2, desc
);
+
generic_handle_irq(start+2
);
}
}
}
}
@@
-573,7
+563,7
@@
s3c_irq_demux_extint8(unsigned int irq,
eintpnd &= ~(1<<irq);
irq += (IRQ_EINT4 - 4);
eintpnd &= ~(1<<irq);
irq += (IRQ_EINT4 - 4);
-
desc_handle_irq(irq, irq_desc +
irq);
+
generic_handle_irq(
irq);
}
}
}
}
@@
-596,7
+586,7
@@
s3c_irq_demux_extint4t7(unsigned int irq,
irq += (IRQ_EINT4 - 4);
irq += (IRQ_EINT4 - 4);
-
desc_handle_irq(irq, irq_desc +
irq);
+
generic_handle_irq(
irq);
}
}
}
}