diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2008-08-09 09:09:32 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-08-09 09:09:32 -0400 |
commit | f0af7245f1725fdc39b32b59c20500448437ddbe (patch) | |
tree | d12fd927f546eac8b6c5697bb5c60f9a5e48bece | |
parent | 796aadeb1b2db9b5d463946766c5bbfd7717158c (diff) | |
parent | f47c32f3ae604669c3af0b7a07917270a235bd84 (diff) |
Merge branch 'for-rmk' of git://aeryn.fluff.org.uk/bjdooks/linux
-rw-r--r-- | Documentation/arm/Samsung-S3C24XX/GPIO.txt | 15 | ||||
-rw-r--r-- | Documentation/arm/Samsung-S3C24XX/Overview.txt | 35 | ||||
-rw-r--r-- | arch/arm/mach-footbridge/cats-pci.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-s3c2410/mach-bast.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-s3c2410/mach-vr1000.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-s3c2412/mach-jive.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-s3c2440/mach-anubis.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-s3c2440/mach-osiris.c | 2 | ||||
-rw-r--r-- | arch/arm/plat-s3c24xx/cpu.c | 4 | ||||
-rw-r--r-- | drivers/serial/Kconfig | 1 | ||||
-rw-r--r-- | include/asm-arm/plat-s3c24xx/s3c2410.h | 4 |
11 files changed, 59 insertions, 14 deletions
diff --git a/Documentation/arm/Samsung-S3C24XX/GPIO.txt b/Documentation/arm/Samsung-S3C24XX/GPIO.txt index b5d20c0b2ab4..ea7ccfc4b274 100644 --- a/Documentation/arm/Samsung-S3C24XX/GPIO.txt +++ b/Documentation/arm/Samsung-S3C24XX/GPIO.txt | |||
@@ -13,6 +13,21 @@ Introduction | |||
13 | data-sheet/users manual to find out the complete list. | 13 | data-sheet/users manual to find out the complete list. |
14 | 14 | ||
15 | 15 | ||
16 | GPIOLIB | ||
17 | ------- | ||
18 | |||
19 | With the event of the GPIOLIB in drivers/gpio, support for some | ||
20 | of the GPIO functions such as reading and writing a pin will | ||
21 | be removed in favour of this common access method. | ||
22 | |||
23 | Once all the extant drivers have been converted, the functions | ||
24 | listed below will be removed (they may be marked as __deprecated | ||
25 | in the near future). | ||
26 | |||
27 | - s3c2410_gpio_getpin | ||
28 | - s3c2410_gpio_setpin | ||
29 | |||
30 | |||
16 | Headers | 31 | Headers |
17 | ------- | 32 | ------- |
18 | 33 | ||
diff --git a/Documentation/arm/Samsung-S3C24XX/Overview.txt b/Documentation/arm/Samsung-S3C24XX/Overview.txt index 014a8ec4877d..cff6227b4484 100644 --- a/Documentation/arm/Samsung-S3C24XX/Overview.txt +++ b/Documentation/arm/Samsung-S3C24XX/Overview.txt | |||
@@ -8,9 +8,10 @@ Introduction | |||
8 | 8 | ||
9 | The Samsung S3C24XX range of ARM9 System-on-Chip CPUs are supported | 9 | The Samsung S3C24XX range of ARM9 System-on-Chip CPUs are supported |
10 | by the 's3c2410' architecture of ARM Linux. Currently the S3C2410, | 10 | by the 's3c2410' architecture of ARM Linux. Currently the S3C2410, |
11 | S3C2412, S3C2413, S3C2440 and S3C2442 devices are supported. | 11 | S3C2412, S3C2413, S3C2440, S3C2442 and S3C2443 devices are supported. |
12 | |||
13 | Support for the S3C2400 and S3C24A0 series are in progress. | ||
12 | 14 | ||
13 | Support for the S3C2400 series is in progress. | ||
14 | 15 | ||
15 | Configuration | 16 | Configuration |
16 | ------------- | 17 | ------------- |
@@ -38,6 +39,22 @@ Layout | |||
38 | Register, kernel and platform data definitions are held in the | 39 | Register, kernel and platform data definitions are held in the |
39 | arch/arm/mach-s3c2410 directory./include/mach | 40 | arch/arm/mach-s3c2410 directory./include/mach |
40 | 41 | ||
42 | arch/arm/plat-s3c24xx: | ||
43 | |||
44 | Files in here are either common to all the s3c24xx family, | ||
45 | or are common to only some of them with names to indicate this | ||
46 | status. The files that are not common to all are generally named | ||
47 | with the initial cpu they support in the series to ensure a short | ||
48 | name without any possibility of confusion with newer devices. | ||
49 | |||
50 | As an example, initially s3c244x would cover s3c2440 and s3c2442, but | ||
51 | with the s3c2443 which does not share many of the same drivers in | ||
52 | this directory, the name becomes invalid. We stick to s3c2440-<x> | ||
53 | to indicate a driver that is s3c2440 and s3c2442 compatible. | ||
54 | |||
55 | This does mean that to find the status of any given SoC, a number | ||
56 | of directories may need to be searched. | ||
57 | |||
41 | 58 | ||
42 | Machines | 59 | Machines |
43 | -------- | 60 | -------- |
@@ -159,6 +176,17 @@ NAND | |||
159 | For more information see Documentation/arm/Samsung-S3C24XX/NAND.txt | 176 | For more information see Documentation/arm/Samsung-S3C24XX/NAND.txt |
160 | 177 | ||
161 | 178 | ||
179 | SD/MMC | ||
180 | ------ | ||
181 | |||
182 | The SD/MMC hardware pre S3C2443 is supported in the current | ||
183 | kernel, the driver is drivers/mmc/host/s3cmci.c and supports | ||
184 | 1 and 4 bit SD or MMC cards. | ||
185 | |||
186 | The SDIO behaviour of this driver has not been fully tested. There is no | ||
187 | current support for hardware SDIO interrupts. | ||
188 | |||
189 | |||
162 | Serial | 190 | Serial |
163 | ------ | 191 | ------ |
164 | 192 | ||
@@ -178,6 +206,9 @@ GPIO | |||
178 | The core contains support for manipulating the GPIO, see the | 206 | The core contains support for manipulating the GPIO, see the |
179 | documentation in GPIO.txt in the same directory as this file. | 207 | documentation in GPIO.txt in the same directory as this file. |
180 | 208 | ||
209 | Newer kernels carry GPIOLIB, and support is being moved towards | ||
210 | this with some of the older support in line to be removed. | ||
211 | |||
181 | 212 | ||
182 | Clock Management | 213 | Clock Management |
183 | ---------------- | 214 | ---------------- |
diff --git a/arch/arm/mach-footbridge/cats-pci.c b/arch/arm/mach-footbridge/cats-pci.c index 35eb232a649a..ae3e1c8c7583 100644 --- a/arch/arm/mach-footbridge/cats-pci.c +++ b/arch/arm/mach-footbridge/cats-pci.c | |||
@@ -18,6 +18,9 @@ static int irqmap_cats[] __initdata = { IRQ_PCI, IRQ_IN0, IRQ_IN1, IRQ_IN3 }; | |||
18 | 18 | ||
19 | static int __init cats_map_irq(struct pci_dev *dev, u8 slot, u8 pin) | 19 | static int __init cats_map_irq(struct pci_dev *dev, u8 slot, u8 pin) |
20 | { | 20 | { |
21 | if (dev->irq >= 255) | ||
22 | return -1; /* not a valid interrupt. */ | ||
23 | |||
21 | if (dev->irq >= 128) | 24 | if (dev->irq >= 128) |
22 | return dev->irq & 0x1f; | 25 | return dev->irq & 0x1f; |
23 | 26 | ||
diff --git a/arch/arm/mach-s3c2410/mach-bast.c b/arch/arm/mach-s3c2410/mach-bast.c index fb1e78e28e50..24c6334fac89 100644 --- a/arch/arm/mach-s3c2410/mach-bast.c +++ b/arch/arm/mach-s3c2410/mach-bast.c | |||
@@ -562,7 +562,7 @@ static struct platform_device *bast_devices[] __initdata = { | |||
562 | &bast_sio, | 562 | &bast_sio, |
563 | }; | 563 | }; |
564 | 564 | ||
565 | static struct clk *bast_clocks[] = { | 565 | static struct clk *bast_clocks[] __initdata = { |
566 | &s3c24xx_dclk0, | 566 | &s3c24xx_dclk0, |
567 | &s3c24xx_dclk1, | 567 | &s3c24xx_dclk1, |
568 | &s3c24xx_clkout0, | 568 | &s3c24xx_clkout0, |
diff --git a/arch/arm/mach-s3c2410/mach-vr1000.c b/arch/arm/mach-s3c2410/mach-vr1000.c index 12cbca68f57d..fbc0213d5485 100644 --- a/arch/arm/mach-s3c2410/mach-vr1000.c +++ b/arch/arm/mach-s3c2410/mach-vr1000.c | |||
@@ -344,7 +344,7 @@ static struct platform_device *vr1000_devices[] __initdata = { | |||
344 | &vr1000_led3, | 344 | &vr1000_led3, |
345 | }; | 345 | }; |
346 | 346 | ||
347 | static struct clk *vr1000_clocks[] = { | 347 | static struct clk *vr1000_clocks[] __initdata = { |
348 | &s3c24xx_dclk0, | 348 | &s3c24xx_dclk0, |
349 | &s3c24xx_dclk1, | 349 | &s3c24xx_dclk1, |
350 | &s3c24xx_clkout0, | 350 | &s3c24xx_clkout0, |
diff --git a/arch/arm/mach-s3c2412/mach-jive.c b/arch/arm/mach-s3c2412/mach-jive.c index 30f613a79bfe..4c061d29463c 100644 --- a/arch/arm/mach-s3c2412/mach-jive.c +++ b/arch/arm/mach-s3c2412/mach-jive.c | |||
@@ -26,9 +26,6 @@ | |||
26 | 26 | ||
27 | #include <linux/spi/spi.h> | 27 | #include <linux/spi/spi.h> |
28 | 28 | ||
29 | #include <linux/mtd/mtd.h> | ||
30 | #include <linux/mtd/partitions.h> | ||
31 | |||
32 | #include <asm/mach/arch.h> | 29 | #include <asm/mach/arch.h> |
33 | #include <asm/mach/map.h> | 30 | #include <asm/mach/map.h> |
34 | #include <asm/mach/irq.h> | 31 | #include <asm/mach/irq.h> |
diff --git a/arch/arm/mach-s3c2440/mach-anubis.c b/arch/arm/mach-s3c2440/mach-anubis.c index 265c77dec9d7..441f4bc09472 100644 --- a/arch/arm/mach-s3c2440/mach-anubis.c +++ b/arch/arm/mach-s3c2440/mach-anubis.c | |||
@@ -414,7 +414,7 @@ static struct platform_device *anubis_devices[] __initdata = { | |||
414 | &anubis_device_sm501, | 414 | &anubis_device_sm501, |
415 | }; | 415 | }; |
416 | 416 | ||
417 | static struct clk *anubis_clocks[] = { | 417 | static struct clk *anubis_clocks[] __initdata = { |
418 | &s3c24xx_dclk0, | 418 | &s3c24xx_dclk0, |
419 | &s3c24xx_dclk1, | 419 | &s3c24xx_dclk1, |
420 | &s3c24xx_clkout0, | 420 | &s3c24xx_clkout0, |
diff --git a/arch/arm/mach-s3c2440/mach-osiris.c b/arch/arm/mach-s3c2440/mach-osiris.c index d2ee0cd148c6..8b83f93b6102 100644 --- a/arch/arm/mach-s3c2440/mach-osiris.c +++ b/arch/arm/mach-s3c2440/mach-osiris.c | |||
@@ -341,7 +341,7 @@ static struct platform_device *osiris_devices[] __initdata = { | |||
341 | &osiris_pcmcia, | 341 | &osiris_pcmcia, |
342 | }; | 342 | }; |
343 | 343 | ||
344 | static struct clk *osiris_clocks[] = { | 344 | static struct clk *osiris_clocks[] __initdata = { |
345 | &s3c24xx_dclk0, | 345 | &s3c24xx_dclk0, |
346 | &s3c24xx_dclk1, | 346 | &s3c24xx_dclk1, |
347 | &s3c24xx_clkout0, | 347 | &s3c24xx_clkout0, |
diff --git a/arch/arm/plat-s3c24xx/cpu.c b/arch/arm/plat-s3c24xx/cpu.c index 6d60f0476bb8..89ce60eabd5b 100644 --- a/arch/arm/plat-s3c24xx/cpu.c +++ b/arch/arm/plat-s3c24xx/cpu.c | |||
@@ -169,9 +169,7 @@ static struct map_desc s3c_iodesc[] __initdata = { | |||
169 | IODESC_ENT(UART) | 169 | IODESC_ENT(UART) |
170 | }; | 170 | }; |
171 | 171 | ||
172 | 172 | static struct cpu_table * __init s3c_lookup_cpu(unsigned long idcode) | |
173 | static struct cpu_table * | ||
174 | s3c_lookup_cpu(unsigned long idcode) | ||
175 | { | 173 | { |
176 | struct cpu_table *tab; | 174 | struct cpu_table *tab; |
177 | int count; | 175 | int count; |
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index 3b4a14e355c1..77cb34270fc1 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig | |||
@@ -449,6 +449,7 @@ config SERIAL_CLPS711X_CONSOLE | |||
449 | config SERIAL_SAMSUNG | 449 | config SERIAL_SAMSUNG |
450 | tristate "Samsung SoC serial support" | 450 | tristate "Samsung SoC serial support" |
451 | depends on ARM && PLAT_S3C24XX | 451 | depends on ARM && PLAT_S3C24XX |
452 | select SERIAL_CORE | ||
452 | help | 453 | help |
453 | Support for the on-chip UARTs on the Samsung S3C24XX series CPUs, | 454 | Support for the on-chip UARTs on the Samsung S3C24XX series CPUs, |
454 | providing /dev/ttySAC0, 1 and 2 (note, some machines may not | 455 | providing /dev/ttySAC0, 1 and 2 (note, some machines may not |
diff --git a/include/asm-arm/plat-s3c24xx/s3c2410.h b/include/asm-arm/plat-s3c24xx/s3c2410.h index 36de0b835873..3cd1ec677b3f 100644 --- a/include/asm-arm/plat-s3c24xx/s3c2410.h +++ b/include/asm-arm/plat-s3c24xx/s3c2410.h | |||
@@ -21,11 +21,11 @@ extern void s3c2410_init_uarts(struct s3c2410_uartcfg *cfg, int no); | |||
21 | 21 | ||
22 | extern void s3c2410_init_clocks(int xtal); | 22 | extern void s3c2410_init_clocks(int xtal); |
23 | 23 | ||
24 | extern int s3c2410_baseclk_add(void); | ||
25 | |||
26 | #else | 24 | #else |
27 | #define s3c2410_init_clocks NULL | 25 | #define s3c2410_init_clocks NULL |
28 | #define s3c2410_init_uarts NULL | 26 | #define s3c2410_init_uarts NULL |
29 | #define s3c2410_map_io NULL | 27 | #define s3c2410_map_io NULL |
30 | #define s3c2410_init NULL | 28 | #define s3c2410_init NULL |
31 | #endif | 29 | #endif |
30 | |||
31 | extern int s3c2410_baseclk_add(void); | ||