diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-11 10:55:39 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-11 10:55:39 -0400 |
| commit | 5a05e5bf204e729b79e9462785f2fa09d5126855 (patch) | |
| tree | 02a12cfad8c17835cc2689cb35a0fa979cedfc1e /arch | |
| parent | 08a55c01b504360d48b8123c87b383f7e6a2ef21 (diff) | |
| parent | d17f901defef635292f90a969dadfdbd95b0f104 (diff) | |
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 3778/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410 [simtec]
[ARM] 3783/1: S3C2412: fix IRQ_EINT0 to IRQ_EINT3 handling
[ARM] 3779/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410 [left]
[ARM] 3777/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410 [regs-*.h]
[ARM] 3776/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410
[ARM] 3775/1: S3C24XX: do not add same sysdev_driver to two classes
[ARM] 3774/1: S3C24XX: SMDK2413 has two machine IDs
[ARM] 3773/1: Add the HWCAP_VFP bit for the ARM926 CPUs
[ARM] 3772/1: Fix compilation error in mach-ixp4xx/nslu2*
[ARM] 3767/1: S3C24XX: remove changelog comments from arch/arm/mach-s3c2410
[ARM] 3766/1: Fix typo in ARM _raw_read_trylock
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arm/mach-ixp4xx/nslu2-pci.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/nslu2-power.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/Makefile | 1 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/cpu.h | 10 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/devs.c | 12 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/irq.c | 4 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/irq.h | 5 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/mach-bast.c | 25 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/mach-h1940.c | 17 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/mach-rx3715.c | 9 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/mach-smdk2410.c | 4 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/mach-smdk2413.c | 15 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/mach-vr1000.c | 19 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/s3c2400-gpio.c | 5 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/s3c2410.h | 8 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/s3c2412-irq.c | 130 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/s3c2440-irq.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/s3c244x-irq.c | 12 | ||||
| -rw-r--r-- | arch/arm/mm/proc-arm926.S | 2 |
19 files changed, 164 insertions, 119 deletions
diff --git a/arch/arm/mach-ixp4xx/nslu2-pci.c b/arch/arm/mach-ixp4xx/nslu2-pci.c index 0de639d6e60a..04661fef97f5 100644 --- a/arch/arm/mach-ixp4xx/nslu2-pci.c +++ b/arch/arm/mach-ixp4xx/nslu2-pci.c | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | 17 | ||
| 18 | #include <linux/pci.h> | 18 | #include <linux/pci.h> |
| 19 | #include <linux/init.h> | 19 | #include <linux/init.h> |
| 20 | #include <linux/irq.h> | ||
| 20 | 21 | ||
| 21 | #include <asm/mach/pci.h> | 22 | #include <asm/mach/pci.h> |
| 22 | #include <asm/mach-types.h> | 23 | #include <asm/mach-types.h> |
diff --git a/arch/arm/mach-ixp4xx/nslu2-power.c b/arch/arm/mach-ixp4xx/nslu2-power.c index e2a2230b69f0..a29b3b2b61b6 100644 --- a/arch/arm/mach-ixp4xx/nslu2-power.c +++ b/arch/arm/mach-ixp4xx/nslu2-power.c | |||
| @@ -19,6 +19,7 @@ | |||
| 19 | 19 | ||
| 20 | #include <linux/module.h> | 20 | #include <linux/module.h> |
| 21 | #include <linux/reboot.h> | 21 | #include <linux/reboot.h> |
| 22 | #include <linux/irq.h> | ||
| 22 | #include <linux/interrupt.h> | 23 | #include <linux/interrupt.h> |
| 23 | #include <linux/reboot.h> | 24 | #include <linux/reboot.h> |
| 24 | 25 | ||
diff --git a/arch/arm/mach-s3c2410/Makefile b/arch/arm/mach-s3c2410/Makefile index 273e05f2b8de..0eadec916214 100644 --- a/arch/arm/mach-s3c2410/Makefile +++ b/arch/arm/mach-s3c2410/Makefile | |||
| @@ -28,6 +28,7 @@ obj-$(CONFIG_PM_SIMTEC) += pm-simtec.o | |||
| 28 | 28 | ||
| 29 | # S3C2412 support | 29 | # S3C2412 support |
| 30 | obj-$(CONFIG_CPU_S3C2412) += s3c2412.o | 30 | obj-$(CONFIG_CPU_S3C2412) += s3c2412.o |
| 31 | obj-$(CONFIG_CPU_S3C2412) += s3c2412-irq.o | ||
| 31 | obj-$(CONFIG_CPU_S3C2412) += s3c2412-clock.o | 32 | obj-$(CONFIG_CPU_S3C2412) += s3c2412-clock.o |
| 32 | 33 | ||
| 33 | # | 34 | # |
diff --git a/arch/arm/mach-s3c2410/cpu.h b/arch/arm/mach-s3c2410/cpu.h index b0ed9d2d141b..be42e4032a6d 100644 --- a/arch/arm/mach-s3c2410/cpu.h +++ b/arch/arm/mach-s3c2410/cpu.h | |||
| @@ -8,16 +8,6 @@ | |||
| 8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
| 9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
| 10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
| 11 | * | ||
| 12 | * Modifications: | ||
| 13 | * 24-Aug-2004 BJD Start of generic S3C24XX support | ||
| 14 | * 18-Oct-2004 BJD Moved board struct into this file | ||
| 15 | * 04-Jan-2005 BJD New uart initialisation | ||
| 16 | * 10-Jan-2005 BJD Moved generic init here, specific to cpu headers | ||
| 17 | * 14-Jan-2005 BJD Added s3c24xx_init_clocks() call | ||
| 18 | * 10-Mar-2005 LCVR Changed S3C2410_{VA,SZ} to S3C24XX_{VA,SZ} & IODESC_ENT | ||
| 19 | * 14-Mar-2005 BJD Updated for __iomem | ||
| 20 | * 15-Jan-2006 LCVR Updated S3C2410_PA_##x to new S3C24XX_PA_##x macro | ||
| 21 | */ | 11 | */ |
| 22 | 12 | ||
| 23 | /* todo - fix when rmk changes iodescs to use `void __iomem *` */ | 13 | /* todo - fix when rmk changes iodescs to use `void __iomem *` */ |
diff --git a/arch/arm/mach-s3c2410/devs.c b/arch/arm/mach-s3c2410/devs.c index ad3845e329ba..cae35ff76f33 100644 --- a/arch/arm/mach-s3c2410/devs.c +++ b/arch/arm/mach-s3c2410/devs.c | |||
| @@ -1,22 +1,14 @@ | |||
| 1 | /* linux/arch/arm/mach-s3c2410/devs.c | 1 | /* linux/arch/arm/mach-s3c2410/devs.c |
| 2 | * | 2 | * |
| 3 | * Copyright (c) 2004 Simtec Electronics | 3 | * Copyright (c) 2004 Simtec Electronics |
| 4 | * Ben Dooks <ben@simtec.co.uk> | 4 | * Ben Dooks <ben@simtec.co.uk> |
| 5 | * | 5 | * |
| 6 | * Base S3C2410 platform device definitions | 6 | * Base S3C24XX platform device definitions |
| 7 | * | 7 | * |
| 8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
| 9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
| 10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
| 11 | * | 11 | * |
| 12 | * Modifications: | ||
| 13 | * 15-Jan-2006 LCVR Using S3C24XX_PA_##x macro for common S3C24XX devices | ||
| 14 | * 10-Mar-2005 LCVR Changed S3C2410_{VA,SZ} to S3C24XX_{VA,SZ} | ||
| 15 | * 10-Feb-2005 BJD Added camera from guillaume.gourat@nexvision.tv | ||
| 16 | * 29-Aug-2004 BJD Added timers 0 through 3 | ||
| 17 | * 29-Aug-2004 BJD Changed index of devices we only have one of to -1 | ||
| 18 | * 21-Aug-2004 BJD Added IRQ_TICK to RTC resources | ||
| 19 | * 18-Aug-2004 BJD Created initial version | ||
| 20 | */ | 12 | */ |
| 21 | 13 | ||
| 22 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
diff --git a/arch/arm/mach-s3c2410/irq.c b/arch/arm/mach-s3c2410/irq.c index 6822dc7f7799..cd6139b35999 100644 --- a/arch/arm/mach-s3c2410/irq.c +++ b/arch/arm/mach-s3c2410/irq.c | |||
| @@ -86,7 +86,7 @@ unsigned long s3c_irqwake_intmask = 0xffffffffL; | |||
| 86 | unsigned long s3c_irqwake_eintallow = 0x0000fff0L; | 86 | unsigned long s3c_irqwake_eintallow = 0x0000fff0L; |
| 87 | unsigned long s3c_irqwake_eintmask = 0xffffffffL; | 87 | unsigned long s3c_irqwake_eintmask = 0xffffffffL; |
| 88 | 88 | ||
| 89 | static int | 89 | int |
| 90 | s3c_irq_wake(unsigned int irqno, unsigned int state) | 90 | s3c_irq_wake(unsigned int irqno, unsigned int state) |
| 91 | { | 91 | { |
| 92 | unsigned long irqbit = 1 << (irqno - IRQ_EINT0); | 92 | unsigned long irqbit = 1 << (irqno - IRQ_EINT0); |
| @@ -260,7 +260,7 @@ s3c_irqext_unmask(unsigned int irqno) | |||
| 260 | s3c_irq_unmask((irqno <= (IRQ_EINT7 - EXTINT_OFF)) ? IRQ_EINT4t7 : IRQ_EINT8t23); | 260 | s3c_irq_unmask((irqno <= (IRQ_EINT7 - EXTINT_OFF)) ? IRQ_EINT4t7 : IRQ_EINT8t23); |
| 261 | } | 261 | } |
| 262 | 262 | ||
| 263 | static int | 263 | int |
| 264 | s3c_irqext_type(unsigned int irq, unsigned int type) | 264 | s3c_irqext_type(unsigned int irq, unsigned int type) |
| 265 | { | 265 | { |
| 266 | void __iomem *extint_reg; | 266 | void __iomem *extint_reg; |
diff --git a/arch/arm/mach-s3c2410/irq.h b/arch/arm/mach-s3c2410/irq.h index 4abf0ca14e00..f7cc4c983de5 100644 --- a/arch/arm/mach-s3c2410/irq.h +++ b/arch/arm/mach-s3c2410/irq.h | |||
| @@ -97,3 +97,8 @@ s3c_irqsub_ack(unsigned int irqno, unsigned int parentmask, unsigned int group) | |||
| 97 | __raw_writel(parentmask, S3C2410_INTPND); | 97 | __raw_writel(parentmask, S3C2410_INTPND); |
| 98 | } | 98 | } |
| 99 | } | 99 | } |
| 100 | |||
| 101 | /* exported for use in arch/arm/mach-s3c2410 */ | ||
| 102 | |||
| 103 | extern int s3c_irq_wake(unsigned int irqno, unsigned int state); | ||
| 104 | extern int s3c_irqext_type(unsigned int irq, unsigned int type); | ||
diff --git a/arch/arm/mach-s3c2410/mach-bast.c b/arch/arm/mach-s3c2410/mach-bast.c index 947234df8160..2968fb235f95 100644 --- a/arch/arm/mach-s3c2410/mach-bast.c +++ b/arch/arm/mach-s3c2410/mach-bast.c | |||
| @@ -8,31 +8,6 @@ | |||
| 8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
| 9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
| 10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
| 11 | * | ||
| 12 | * Modifications: | ||
| 13 | * 14-Sep-2004 BJD USB power control | ||
| 14 | * 20-Aug-2004 BJD Added s3c2410_board struct | ||
| 15 | * 18-Aug-2004 BJD Added platform devices from default set | ||
| 16 | * 16-May-2003 BJD Created initial version | ||
| 17 | * 16-Aug-2003 BJD Fixed header files and copyright, added URL | ||
| 18 | * 05-Sep-2003 BJD Moved to v2.6 kernel | ||
| 19 | * 06-Jan-2003 BJD Updates for <arch/map.h> | ||
| 20 | * 18-Jan-2003 BJD Added serial port configuration | ||
| 21 | * 05-Oct-2004 BJD Power management code | ||
| 22 | * 04-Nov-2004 BJD Updated serial port clocks | ||
| 23 | * 04-Jan-2005 BJD New uart init call | ||
| 24 | * 10-Jan-2005 BJD Removed include of s3c2410.h | ||
| 25 | * 14-Jan-2005 BJD Add support for muitlple NAND devices | ||
| 26 | * 03-Mar-2005 BJD Ensured that bast-cpld.h is included | ||
| 27 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
| 28 | * 14-Mar-2005 BJD Updated for __iomem changes | ||
| 29 | * 22-Jun-2005 BJD Added DM9000 platform information | ||
| 30 | * 28-Jun-2005 BJD Moved pm functionality out to common code | ||
| 31 | * 17-Jul-2005 BJD Changed to platform device for SuperIO 16550s | ||
| 32 | * 25-Jul-2005 BJD Removed ASIX static mappings | ||
| 33 | * 27-Jul-2005 BJD Ensure maximum frequency of i2c bus | ||
| 34 | * 20-Sep-2005 BJD Added static to non-exported items | ||
| 35 | * 26-Oct-2005 BJD Added FB platform data | ||
| 36 | */ | 11 | */ |
| 37 | 12 | ||
| 38 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
diff --git a/arch/arm/mach-s3c2410/mach-h1940.c b/arch/arm/mach-s3c2410/mach-h1940.c index aec431b2830a..8c895c077d22 100644 --- a/arch/arm/mach-s3c2410/mach-h1940.c +++ b/arch/arm/mach-s3c2410/mach-h1940.c | |||
| @@ -9,23 +9,6 @@ | |||
| 9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
| 10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
| 11 | * | 11 | * |
| 12 | * Modifications: | ||
| 13 | * 16-May-2003 BJD Created initial version | ||
| 14 | * 16-Aug-2003 BJD Fixed header files and copyright, added URL | ||
| 15 | * 05-Sep-2003 BJD Moved to v2.6 kernel | ||
| 16 | * 06-Jan-2003 BJD Updates for <arch/map.h> | ||
| 17 | * 18-Jan-2003 BJD Added serial port configuration | ||
| 18 | * 17-Feb-2003 BJD Copied to mach-ipaq.c | ||
| 19 | * 21-Aug-2004 BJD Added struct s3c2410_board | ||
| 20 | * 04-Sep-2004 BJD Changed uart init, renamed ipaq_ -> h1940_ | ||
| 21 | * 18-Oct-2004 BJD Updated new board structure name | ||
| 22 | * 04-Nov-2004 BJD Change for new serial clock | ||
| 23 | * 04-Jan-2005 BJD Updated uart init call | ||
| 24 | * 10-Jan-2005 BJD Removed include of s3c2410.h | ||
| 25 | * 14-Jan-2005 BJD Added clock init | ||
| 26 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
| 27 | * 20-Sep-2005 BJD Added static to non-exported items | ||
| 28 | * 26-Oct-2005 BJD Changed name of fb init call | ||
| 29 | */ | 12 | */ |
| 30 | 13 | ||
| 31 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
diff --git a/arch/arm/mach-s3c2410/mach-rx3715.c b/arch/arm/mach-s3c2410/mach-rx3715.c index 306afc1d7cd3..23d7c052013c 100644 --- a/arch/arm/mach-s3c2410/mach-rx3715.c +++ b/arch/arm/mach-s3c2410/mach-rx3715.c | |||
| @@ -9,15 +9,6 @@ | |||
| 9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
| 10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
| 11 | * | 11 | * |
| 12 | * Modifications: | ||
| 13 | * 16-Sep-2004 BJD Copied from mach-h1940.c | ||
| 14 | * 25-Oct-2004 BJD Updates for 2.6.10-rc1 | ||
| 15 | * 10-Jan-2005 BJD Removed include of s3c2410.h s3c2440.h | ||
| 16 | * 14-Jan-2005 BJD Added new clock init | ||
| 17 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
| 18 | * 14-Mar-2005 BJD Fixed __iomem warnings | ||
| 19 | * 20-Sep-2005 BJD Added static to non-exported items | ||
| 20 | * 31-Oct-2005 BJD Added LCD setup for framebuffer | ||
| 21 | */ | 12 | */ |
| 22 | 13 | ||
| 23 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
diff --git a/arch/arm/mach-s3c2410/mach-smdk2410.c b/arch/arm/mach-s3c2410/mach-smdk2410.c index 25f7e9f4dcee..b3b0171d5052 100644 --- a/arch/arm/mach-s3c2410/mach-smdk2410.c +++ b/arch/arm/mach-s3c2410/mach-smdk2410.c | |||
| @@ -27,10 +27,6 @@ | |||
| 27 | * derived from linux/arch/arm/mach-s3c2410/mach-bast.c, written by | 27 | * derived from linux/arch/arm/mach-s3c2410/mach-bast.c, written by |
| 28 | * Ben Dooks <ben@simtec.co.uk> | 28 | * Ben Dooks <ben@simtec.co.uk> |
| 29 | * | 29 | * |
| 30 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
| 31 | * 20-Sep-2005 BJD Added static to non-exported items | ||
| 32 | * 01-Apr-2006 BJD Moved init code to common smdk | ||
| 33 | * | ||
| 34 | ***********************************************************************/ | 30 | ***********************************************************************/ |
| 35 | 31 | ||
| 36 | #include <linux/kernel.h> | 32 | #include <linux/kernel.h> |
diff --git a/arch/arm/mach-s3c2410/mach-smdk2413.c b/arch/arm/mach-s3c2410/mach-smdk2413.c index b7ef7d3c54a9..3a4ca7f6f7b9 100644 --- a/arch/arm/mach-s3c2410/mach-smdk2413.c +++ b/arch/arm/mach-s3c2410/mach-smdk2413.c | |||
| @@ -112,7 +112,20 @@ static void __init smdk2413_machine_init(void) | |||
| 112 | smdk_machine_init(); | 112 | smdk_machine_init(); |
| 113 | } | 113 | } |
| 114 | 114 | ||
| 115 | MACHINE_START(S3C2413, "SMDK2413") | 115 | MACHINE_START(S3C2413, "S3C2413") |
| 116 | /* Maintainer: Ben Dooks <ben@fluff.org> */ | ||
| 117 | .phys_io = S3C2410_PA_UART, | ||
| 118 | .io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc, | ||
| 119 | .boot_params = S3C2410_SDRAM_PA + 0x100, | ||
| 120 | |||
| 121 | .fixup = smdk2413_fixup, | ||
| 122 | .init_irq = s3c24xx_init_irq, | ||
| 123 | .map_io = smdk2413_map_io, | ||
| 124 | .init_machine = smdk2413_machine_init, | ||
| 125 | .timer = &s3c24xx_timer, | ||
| 126 | MACHINE_END | ||
| 127 | |||
| 128 | MACHINE_START(SMDK2413, "SMDK2413") | ||
| 116 | /* Maintainer: Ben Dooks <ben@fluff.org> */ | 129 | /* Maintainer: Ben Dooks <ben@fluff.org> */ |
| 117 | .phys_io = S3C2410_PA_UART, | 130 | .phys_io = S3C2410_PA_UART, |
| 118 | .io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc, | 131 | .io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc, |
diff --git a/arch/arm/mach-s3c2410/mach-vr1000.c b/arch/arm/mach-s3c2410/mach-vr1000.c index d18efb279d3d..a0d7692cdb2b 100644 --- a/arch/arm/mach-s3c2410/mach-vr1000.c +++ b/arch/arm/mach-s3c2410/mach-vr1000.c | |||
| @@ -10,25 +10,6 @@ | |||
| 10 | * it under the terms of the GNU General Public License version 2 as | 10 | * it under the terms of the GNU General Public License version 2 as |
| 11 | * published by the Free Software Foundation. | 11 | * published by the Free Software Foundation. |
| 12 | * | 12 | * |
| 13 | * Modifications: | ||
| 14 | * 14-Sep-2004 BJD USB Power control | ||
| 15 | * 04-Sep-2004 BJD Added new uart init, and io init | ||
| 16 | * 21-Aug-2004 BJD Added struct s3c2410_board | ||
| 17 | * 06-Aug-2004 BJD Fixed call to time initialisation | ||
| 18 | * 05-Apr-2004 BJD Copied to make mach-vr1000.c | ||
| 19 | * 18-Oct-2004 BJD Updated board struct | ||
| 20 | * 04-Nov-2004 BJD Clock and serial configuration update | ||
| 21 | * | ||
| 22 | * 04-Jan-2005 BJD Updated uart init call | ||
| 23 | * 10-Jan-2005 BJD Removed include of s3c2410.h | ||
| 24 | * 14-Jan-2005 BJD Added clock init | ||
| 25 | * 15-Jan-2005 BJD Add serial port device definition | ||
| 26 | * 20-Jan-2005 BJD Use UPF_IOREMAP for ports | ||
| 27 | * 10-Feb-2005 BJD Added power-off capability | ||
| 28 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | ||
| 29 | * 14-Mar-2006 BJD void __iomem fixes | ||
| 30 | * 22-Jun-2006 BJD Added DM9000 platform information | ||
| 31 | * 20-Sep-2005 BJD Added static to non-exported items | ||
| 32 | */ | 13 | */ |
| 33 | 14 | ||
| 34 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
diff --git a/arch/arm/mach-s3c2410/s3c2400-gpio.c b/arch/arm/mach-s3c2410/s3c2400-gpio.c index 5127f39fa9bf..f2a78175a70a 100644 --- a/arch/arm/mach-s3c2410/s3c2400-gpio.c +++ b/arch/arm/mach-s3c2410/s3c2400-gpio.c | |||
| @@ -17,10 +17,7 @@ | |||
| 17 | * You should have received a copy of the GNU General Public License | 17 | * You should have received a copy of the GNU General Public License |
| 18 | * along with this program; if not, write to the Free Software | 18 | * along with this program; if not, write to the Free Software |
| 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 20 | * | 20 | */ |
| 21 | * Changelog | ||
| 22 | * 15-Jan-2006 LCVR Splitted from gpio.c, adding support for the S3C2400 | ||
| 23 | */ | ||
| 24 | 21 | ||
| 25 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
| 26 | #include <linux/init.h> | 23 | #include <linux/init.h> |
diff --git a/arch/arm/mach-s3c2410/s3c2410.h b/arch/arm/mach-s3c2410/s3c2410.h index 73f1a2474a61..fbed084f26d0 100644 --- a/arch/arm/mach-s3c2410/s3c2410.h +++ b/arch/arm/mach-s3c2410/s3c2410.h | |||
| @@ -9,14 +9,6 @@ | |||
| 9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
| 10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
| 11 | * | 11 | * |
| 12 | * Modifications: | ||
| 13 | * 18-Aug-2004 BJD Created initial version | ||
| 14 | * 20-Aug-2004 BJD Added s3c2410_board struct | ||
| 15 | * 04-Sep-2004 BJD Added s3c2410_init_uarts() call | ||
| 16 | * 17-Oct-2004 BJD Moved board out to cpu | ||
| 17 | * 04-Jan-2005 BJD Changed uart init | ||
| 18 | * 10-Jan-2005 BJD Removed timer to cpu.h, moved 2410 specific bits here | ||
| 19 | * 14-Jan-2005 BJD Added s3c2410_init_clocks call | ||
| 20 | */ | 12 | */ |
| 21 | 13 | ||
| 22 | #ifdef CONFIG_CPU_S3C2410 | 14 | #ifdef CONFIG_CPU_S3C2410 |
diff --git a/arch/arm/mach-s3c2410/s3c2412-irq.c b/arch/arm/mach-s3c2410/s3c2412-irq.c new file mode 100644 index 000000000000..c80ec93dfea9 --- /dev/null +++ b/arch/arm/mach-s3c2410/s3c2412-irq.c | |||
| @@ -0,0 +1,130 @@ | |||
| 1 | /* linux/arch/arm/mach-s3c2412/s3c2412-irq.c | ||
| 2 | * | ||
| 3 | * Copyright (c) 2006 Simtec Electronics | ||
| 4 | * Ben Dooks <ben@simtec.co.uk> | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2 of the License, or | ||
| 9 | * (at your option) any later version. | ||
| 10 | * | ||
| 11 | * This program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with this program; if not, write to the Free Software | ||
| 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 19 | * | ||
| 20 | */ | ||
| 21 | |||
| 22 | #include <linux/init.h> | ||
| 23 | #include <linux/module.h> | ||
| 24 | #include <linux/interrupt.h> | ||
| 25 | #include <linux/ioport.h> | ||
| 26 | #include <linux/ptrace.h> | ||
| 27 | #include <linux/sysdev.h> | ||
| 28 | |||
| 29 | #include <asm/hardware.h> | ||
| 30 | #include <asm/irq.h> | ||
| 31 | #include <asm/io.h> | ||
| 32 | |||
| 33 | #include <asm/mach/irq.h> | ||
| 34 | |||
| 35 | #include <asm/arch/regs-irq.h> | ||
| 36 | #include <asm/arch/regs-gpio.h> | ||
| 37 | |||
| 38 | #include "cpu.h" | ||
| 39 | #include "irq.h" | ||
| 40 | |||
| 41 | /* the s3c2412 changes the behaviour of IRQ_EINT0 through IRQ_EINT3 by | ||
| 42 | * having them turn up in both the INT* and the EINT* registers. Whilst | ||
| 43 | * both show the status, they both now need to be acked when the IRQs | ||
| 44 | * go off. | ||
| 45 | */ | ||
| 46 | |||
| 47 | static void | ||
| 48 | s3c2412_irq_mask(unsigned int irqno) | ||
| 49 | { | ||
| 50 | unsigned long bitval = 1UL << (irqno - IRQ_EINT0); | ||
| 51 | unsigned long mask; | ||
| 52 | |||
| 53 | mask = __raw_readl(S3C2410_INTMSK); | ||
| 54 | __raw_writel(mask | bitval, S3C2410_INTMSK); | ||
| 55 | |||
| 56 | mask = __raw_readl(S3C2412_EINTMASK); | ||
| 57 | __raw_writel(mask | bitval, S3C2412_EINTMASK); | ||
| 58 | } | ||
| 59 | |||
| 60 | static inline void | ||
| 61 | s3c2412_irq_ack(unsigned int irqno) | ||
| 62 | { | ||
| 63 | unsigned long bitval = 1UL << (irqno - IRQ_EINT0); | ||
| 64 | |||
| 65 | __raw_writel(bitval, S3C2412_EINTPEND); | ||
| 66 | __raw_writel(bitval, S3C2410_SRCPND); | ||
| 67 | __raw_writel(bitval, S3C2410_INTPND); | ||
| 68 | } | ||
| 69 | |||
| 70 | static inline void | ||
| 71 | s3c2412_irq_maskack(unsigned int irqno) | ||
| 72 | { | ||
| 73 | unsigned long bitval = 1UL << (irqno - IRQ_EINT0); | ||
| 74 | unsigned long mask; | ||
| 75 | |||
| 76 | mask = __raw_readl(S3C2410_INTMSK); | ||
| 77 | __raw_writel(mask|bitval, S3C2410_INTMSK); | ||
| 78 | |||
| 79 | mask = __raw_readl(S3C2412_EINTMASK); | ||
| 80 | __raw_writel(mask | bitval, S3C2412_EINTMASK); | ||
| 81 | |||
| 82 | __raw_writel(bitval, S3C2412_EINTPEND); | ||
| 83 | __raw_writel(bitval, S3C2410_SRCPND); | ||
| 84 | __raw_writel(bitval, S3C2410_INTPND); | ||
| 85 | } | ||
| 86 | |||
| 87 | static void | ||
| 88 | s3c2412_irq_unmask(unsigned int irqno) | ||
| 89 | { | ||
| 90 | unsigned long bitval = 1UL << (irqno - IRQ_EINT0); | ||
| 91 | unsigned long mask; | ||
| 92 | |||
| 93 | mask = __raw_readl(S3C2412_EINTMASK); | ||
| 94 | __raw_writel(mask & ~bitval, S3C2412_EINTMASK); | ||
| 95 | |||
| 96 | mask = __raw_readl(S3C2410_INTMSK); | ||
| 97 | __raw_writel(mask & ~bitval, S3C2410_INTMSK); | ||
| 98 | } | ||
| 99 | |||
| 100 | static struct irqchip s3c2412_irq_eint0t4 = { | ||
| 101 | .ack = s3c2412_irq_ack, | ||
| 102 | .mask = s3c2412_irq_mask, | ||
| 103 | .unmask = s3c2412_irq_unmask, | ||
| 104 | .set_wake = s3c_irq_wake, | ||
| 105 | .set_type = s3c_irqext_type, | ||
| 106 | }; | ||
| 107 | |||
| 108 | static int s3c2412_irq_add(struct sys_device *sysdev) | ||
| 109 | { | ||
| 110 | unsigned int irqno; | ||
| 111 | |||
| 112 | for (irqno = IRQ_EINT0; irqno <= IRQ_EINT3; irqno++) { | ||
| 113 | set_irq_chip(irqno, &s3c2412_irq_eint0t4); | ||
| 114 | set_irq_handler(irqno, do_edge_IRQ); | ||
| 115 | set_irq_flags(irqno, IRQF_VALID); | ||
| 116 | } | ||
| 117 | |||
| 118 | return 0; | ||
| 119 | } | ||
| 120 | |||
| 121 | static struct sysdev_driver s3c2412_irq_driver = { | ||
| 122 | .add = s3c2412_irq_add, | ||
| 123 | }; | ||
| 124 | |||
| 125 | static int s3c2412_irq_init(void) | ||
| 126 | { | ||
| 127 | return sysdev_driver_register(&s3c2412_sysclass, &s3c2412_irq_driver); | ||
| 128 | } | ||
| 129 | |||
| 130 | arch_initcall(s3c2412_irq_init); | ||
diff --git a/arch/arm/mach-s3c2410/s3c2440-irq.c b/arch/arm/mach-s3c2410/s3c2440-irq.c index acfe3870727b..1667ba1fa43d 100644 --- a/arch/arm/mach-s3c2410/s3c2440-irq.c +++ b/arch/arm/mach-s3c2410/s3c2440-irq.c | |||
| @@ -17,9 +17,6 @@ | |||
| 17 | * along with this program; if not, write to the Free Software | 17 | * along with this program; if not, write to the Free Software |
| 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 19 | * | 19 | * |
| 20 | * Changelog: | ||
| 21 | * 25-Jul-2005 BJD Split from irq.c | ||
| 22 | * | ||
| 23 | */ | 20 | */ |
| 24 | 21 | ||
| 25 | #include <linux/init.h> | 22 | #include <linux/init.h> |
diff --git a/arch/arm/mach-s3c2410/s3c244x-irq.c b/arch/arm/mach-s3c2410/s3c244x-irq.c index 2aadca1ce7eb..44c5affa9b89 100644 --- a/arch/arm/mach-s3c2410/s3c244x-irq.c +++ b/arch/arm/mach-s3c2410/s3c244x-irq.c | |||
| @@ -17,9 +17,6 @@ | |||
| 17 | * along with this program; if not, write to the Free Software | 17 | * along with this program; if not, write to the Free Software |
| 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 19 | * | 19 | * |
| 20 | * Changelog: | ||
| 21 | * 25-Jul-2005 BJD Split from irq.c | ||
| 22 | * | ||
| 23 | */ | 20 | */ |
| 24 | 21 | ||
| 25 | #include <linux/init.h> | 22 | #include <linux/init.h> |
| @@ -122,21 +119,24 @@ static int s3c244x_irq_add(struct sys_device *sysdev) | |||
| 122 | return 0; | 119 | return 0; |
| 123 | } | 120 | } |
| 124 | 121 | ||
| 125 | static struct sysdev_driver s3c244x_irq_driver = { | 122 | static struct sysdev_driver s3c2440_irq_driver = { |
| 126 | .add = s3c244x_irq_add, | 123 | .add = s3c244x_irq_add, |
| 127 | }; | 124 | }; |
| 128 | 125 | ||
| 129 | static int s3c2440_irq_init(void) | 126 | static int s3c2440_irq_init(void) |
| 130 | { | 127 | { |
| 131 | return sysdev_driver_register(&s3c2440_sysclass, &s3c244x_irq_driver); | 128 | return sysdev_driver_register(&s3c2440_sysclass, &s3c2440_irq_driver); |
| 132 | } | 129 | } |
| 133 | 130 | ||
| 134 | arch_initcall(s3c2440_irq_init); | 131 | arch_initcall(s3c2440_irq_init); |
| 135 | 132 | ||
| 133 | static struct sysdev_driver s3c2442_irq_driver = { | ||
| 134 | .add = s3c244x_irq_add, | ||
| 135 | }; | ||
| 136 | 136 | ||
| 137 | static int s3c2442_irq_init(void) | 137 | static int s3c2442_irq_init(void) |
| 138 | { | 138 | { |
| 139 | return sysdev_driver_register(&s3c2442_sysclass, &s3c244x_irq_driver); | 139 | return sysdev_driver_register(&s3c2442_sysclass, &s3c2442_irq_driver); |
| 140 | } | 140 | } |
| 141 | 141 | ||
| 142 | arch_initcall(s3c2442_irq_init); | 142 | arch_initcall(s3c2442_irq_init); |
diff --git a/arch/arm/mm/proc-arm926.S b/arch/arm/mm/proc-arm926.S index 1e89d4080474..44a7a652d625 100644 --- a/arch/arm/mm/proc-arm926.S +++ b/arch/arm/mm/proc-arm926.S | |||
| @@ -480,7 +480,7 @@ __arm926_proc_info: | |||
| 480 | b __arm926_setup | 480 | b __arm926_setup |
| 481 | .long cpu_arch_name | 481 | .long cpu_arch_name |
| 482 | .long cpu_elf_name | 482 | .long cpu_elf_name |
| 483 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP|HWCAP_JAVA | 483 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_VFP|HWCAP_EDSP|HWCAP_JAVA |
| 484 | .long cpu_arm926_name | 484 | .long cpu_arm926_name |
| 485 | .long arm926_processor_functions | 485 | .long arm926_processor_functions |
| 486 | .long v4wbi_tlb_fns | 486 | .long v4wbi_tlb_fns |
