aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2009-09-18 15:55:56 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-09-18 15:55:56 -0400
commit07198871dac00e9c250d647e1976d7aee527b805 (patch)
tree5c565a837cf55b0745fb099e14cff4fe9be65a69 /arch/arm
parentdca230f00d737353e2dffae489c916b41971921f (diff)
parent01875d56ae9877f41d672d57524d90d3d4d00adf (diff)
Merge branch 'next-s3c-fixes' of git://aeryn.fluff.org.uk/bjdooks/linux
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-s3c2410/Kconfig5
-rw-r--r--arch/arm/mach-s3c2412/Kconfig3
-rw-r--r--arch/arm/mach-s3c2440/Kconfig6
-rw-r--r--arch/arm/mach-s3c6400/Kconfig1
-rw-r--r--arch/arm/mach-s3c6410/Kconfig1
-rw-r--r--arch/arm/plat-s3c64xx/dma.c6
-rw-r--r--arch/arm/plat-s3c64xx/include/plat/dma-plat.h2
-rw-r--r--arch/arm/plat-s3c64xx/include/plat/irqs.h10
-rw-r--r--arch/arm/plat-s3c64xx/s3c6400-clock.c8
9 files changed, 34 insertions, 8 deletions
diff --git a/arch/arm/mach-s3c2410/Kconfig b/arch/arm/mach-s3c2410/Kconfig
index d8c023d4df30..3d4e9da3fa52 100644
--- a/arch/arm/mach-s3c2410/Kconfig
+++ b/arch/arm/mach-s3c2410/Kconfig
@@ -77,6 +77,7 @@ config ARCH_H1940
77 select CPU_S3C2410 77 select CPU_S3C2410
78 select PM_H1940 if PM 78 select PM_H1940 if PM
79 select S3C_DEV_USB_HOST 79 select S3C_DEV_USB_HOST
80 select S3C_DEV_NAND
80 help 81 help
81 Say Y here if you are using the HP IPAQ H1940 82 Say Y here if you are using the HP IPAQ H1940
82 83
@@ -89,6 +90,7 @@ config MACH_N30
89 bool "Acer N30 family" 90 bool "Acer N30 family"
90 select CPU_S3C2410 91 select CPU_S3C2410
91 select S3C_DEV_USB_HOST 92 select S3C_DEV_USB_HOST
93 select S3C_DEV_NAND
92 help 94 help
93 Say Y here if you want suppt for the Acer N30, Acer N35, 95 Say Y here if you want suppt for the Acer N30, Acer N35,
94 Navman PiN570, Yakumo AlphaX or Airis NC05 PDAs. 96 Navman PiN570, Yakumo AlphaX or Airis NC05 PDAs.
@@ -103,6 +105,7 @@ config ARCH_BAST
103 select S3C24XX_DCLK 105 select S3C24XX_DCLK
104 select ISA 106 select ISA
105 select S3C_DEV_USB_HOST 107 select S3C_DEV_USB_HOST
108 select S3C_DEV_NAND
106 help 109 help
107 Say Y here if you are using the Simtec Electronics EB2410ITX 110 Say Y here if you are using the Simtec Electronics EB2410ITX
108 development board (also known as BAST) 111 development board (also known as BAST)
@@ -111,6 +114,7 @@ config MACH_OTOM
111 bool "NexVision OTOM Board" 114 bool "NexVision OTOM Board"
112 select CPU_S3C2410 115 select CPU_S3C2410
113 select S3C_DEV_USB_HOST 116 select S3C_DEV_USB_HOST
117 select S3C_DEV_NAND
114 help 118 help
115 Say Y here if you are using the Nex Vision OTOM board 119 Say Y here if you are using the Nex Vision OTOM board
116 120
@@ -154,6 +158,7 @@ config MACH_QT2410
154 bool "QT2410" 158 bool "QT2410"
155 select CPU_S3C2410 159 select CPU_S3C2410
156 select S3C_DEV_USB_HOST 160 select S3C_DEV_USB_HOST
161 select S3C_DEV_NAND
157 help 162 help
158 Say Y here if you are using the Armzone QT2410 163 Say Y here if you are using the Armzone QT2410
159 164
diff --git a/arch/arm/mach-s3c2412/Kconfig b/arch/arm/mach-s3c2412/Kconfig
index 35c1bde89cf2..c2bdc4635d12 100644
--- a/arch/arm/mach-s3c2412/Kconfig
+++ b/arch/arm/mach-s3c2412/Kconfig
@@ -48,6 +48,7 @@ config MACH_JIVE
48 bool "Logitech Jive" 48 bool "Logitech Jive"
49 select CPU_S3C2412 49 select CPU_S3C2412
50 select S3C_DEV_USB_HOST 50 select S3C_DEV_USB_HOST
51 select S3C_DEV_NAND
51 help 52 help
52 Say Y here if you are using the Logitech Jive. 53 Say Y here if you are using the Logitech Jive.
53 54
@@ -61,6 +62,7 @@ config MACH_SMDK2413
61 select MACH_S3C2413 62 select MACH_S3C2413
62 select MACH_SMDK 63 select MACH_SMDK
63 select S3C_DEV_USB_HOST 64 select S3C_DEV_USB_HOST
65 select S3C_DEV_NAND
64 help 66 help
65 Say Y here if you are using an SMDK2413 67 Say Y here if you are using an SMDK2413
66 68
@@ -84,6 +86,7 @@ config MACH_VSTMS
84 bool "VMSTMS" 86 bool "VMSTMS"
85 select CPU_S3C2412 87 select CPU_S3C2412
86 select S3C_DEV_USB_HOST 88 select S3C_DEV_USB_HOST
89 select S3C_DEV_NAND
87 help 90 help
88 Say Y here if you are using an VSTMS board 91 Say Y here if you are using an VSTMS board
89 92
diff --git a/arch/arm/mach-s3c2440/Kconfig b/arch/arm/mach-s3c2440/Kconfig
index 8ae1b288f7fa..d7bba919a77e 100644
--- a/arch/arm/mach-s3c2440/Kconfig
+++ b/arch/arm/mach-s3c2440/Kconfig
@@ -48,6 +48,7 @@ config MACH_OSIRIS
48 select S3C2440_XTAL_12000000 48 select S3C2440_XTAL_12000000
49 select S3C2410_IOTIMING if S3C2440_CPUFREQ 49 select S3C2410_IOTIMING if S3C2440_CPUFREQ
50 select S3C_DEV_USB_HOST 50 select S3C_DEV_USB_HOST
51 select S3C_DEV_NAND
51 help 52 help
52 Say Y here if you are using the Simtec IM2440D20 module, also 53 Say Y here if you are using the Simtec IM2440D20 module, also
53 known as the Osiris. 54 known as the Osiris.
@@ -57,6 +58,7 @@ config MACH_RX3715
57 select CPU_S3C2440 58 select CPU_S3C2440
58 select S3C2440_XTAL_16934400 59 select S3C2440_XTAL_16934400
59 select PM_H1940 if PM 60 select PM_H1940 if PM
61 select S3C_DEV_NAND
60 help 62 help
61 Say Y here if you are using the HP iPAQ rx3715. 63 Say Y here if you are using the HP iPAQ rx3715.
62 64
@@ -66,6 +68,7 @@ config ARCH_S3C2440
66 select S3C2440_XTAL_16934400 68 select S3C2440_XTAL_16934400
67 select MACH_SMDK 69 select MACH_SMDK
68 select S3C_DEV_USB_HOST 70 select S3C_DEV_USB_HOST
71 select S3C_DEV_NAND
69 help 72 help
70 Say Y here if you are using the SMDK2440. 73 Say Y here if you are using the SMDK2440.
71 74
@@ -74,6 +77,7 @@ config MACH_NEXCODER_2440
74 select CPU_S3C2440 77 select CPU_S3C2440
75 select S3C2440_XTAL_12000000 78 select S3C2440_XTAL_12000000
76 select S3C_DEV_USB_HOST 79 select S3C_DEV_USB_HOST
80 select S3C_DEV_NAND
77 help 81 help
78 Say Y here if you are using the Nex Vision NEXCODER 2440 Light Board 82 Say Y here if you are using the Nex Vision NEXCODER 2440 Light Board
79 83
@@ -88,6 +92,7 @@ config MACH_AT2440EVB
88 bool "Avantech AT2440EVB development board" 92 bool "Avantech AT2440EVB development board"
89 select CPU_S3C2440 93 select CPU_S3C2440
90 select S3C_DEV_USB_HOST 94 select S3C_DEV_USB_HOST
95 select S3C_DEV_NAND
91 help 96 help
92 Say Y here if you are using the AT2440EVB development board 97 Say Y here if you are using the AT2440EVB development board
93 98
@@ -97,6 +102,7 @@ config MACH_MINI2440
97 select EEPROM_AT24 102 select EEPROM_AT24
98 select LEDS_TRIGGER_BACKLIGHT 103 select LEDS_TRIGGER_BACKLIGHT
99 select SND_S3C24XX_SOC_S3C24XX_UDA134X 104 select SND_S3C24XX_SOC_S3C24XX_UDA134X
105 select S3C_DEV_NAND
100 help 106 help
101 Say Y here to select support for the MINI2440. Is a 10cm x 10cm board 107 Say Y here to select support for the MINI2440. Is a 10cm x 10cm board
102 available via various sources. It can come with a 3.5" or 7" touch LCD. 108 available via various sources. It can come with a 3.5" or 7" touch LCD.
diff --git a/arch/arm/mach-s3c6400/Kconfig b/arch/arm/mach-s3c6400/Kconfig
index f5af212066c3..770b72067e3d 100644
--- a/arch/arm/mach-s3c6400/Kconfig
+++ b/arch/arm/mach-s3c6400/Kconfig
@@ -26,6 +26,7 @@ config MACH_SMDK6400
26 bool "SMDK6400" 26 bool "SMDK6400"
27 select CPU_S3C6400 27 select CPU_S3C6400
28 select S3C_DEV_HSMMC 28 select S3C_DEV_HSMMC
29 select S3C_DEV_NAND
29 select S3C6400_SETUP_SDHCI 30 select S3C6400_SETUP_SDHCI
30 help 31 help
31 Machine support for the Samsung SMDK6400 32 Machine support for the Samsung SMDK6400
diff --git a/arch/arm/mach-s3c6410/Kconfig b/arch/arm/mach-s3c6410/Kconfig
index f9d0f09f9761..53fc3ff657f7 100644
--- a/arch/arm/mach-s3c6410/Kconfig
+++ b/arch/arm/mach-s3c6410/Kconfig
@@ -102,6 +102,7 @@ config MACH_HMT
102 bool "Airgoo HMT" 102 bool "Airgoo HMT"
103 select CPU_S3C6410 103 select CPU_S3C6410
104 select S3C_DEV_FB 104 select S3C_DEV_FB
105 select S3C_DEV_NAND
105 select S3C_DEV_USB_HOST 106 select S3C_DEV_USB_HOST
106 select S3C64XX_SETUP_FB_24BPP 107 select S3C64XX_SETUP_FB_24BPP
107 select HAVE_PWM 108 select HAVE_PWM
diff --git a/arch/arm/plat-s3c64xx/dma.c b/arch/arm/plat-s3c64xx/dma.c
index 67aa93dbb69e..266a10745a85 100644
--- a/arch/arm/plat-s3c64xx/dma.c
+++ b/arch/arm/plat-s3c64xx/dma.c
@@ -345,13 +345,13 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id,
345 if (!chan) 345 if (!chan)
346 return -EINVAL; 346 return -EINVAL;
347 347
348 buff = kzalloc(sizeof(struct s3c64xx_dma_buff), GFP_KERNEL); 348 buff = kzalloc(sizeof(struct s3c64xx_dma_buff), GFP_ATOMIC);
349 if (!buff) { 349 if (!buff) {
350 printk(KERN_ERR "%s: no memory for buffer\n", __func__); 350 printk(KERN_ERR "%s: no memory for buffer\n", __func__);
351 return -ENOMEM; 351 return -ENOMEM;
352 } 352 }
353 353
354 lli = dma_pool_alloc(dma_pool, GFP_KERNEL, &buff->lli_dma); 354 lli = dma_pool_alloc(dma_pool, GFP_ATOMIC, &buff->lli_dma);
355 if (!lli) { 355 if (!lli) {
356 printk(KERN_ERR "%s: no memory for lli\n", __func__); 356 printk(KERN_ERR "%s: no memory for lli\n", __func__);
357 ret = -ENOMEM; 357 ret = -ENOMEM;
@@ -697,7 +697,7 @@ static int __init s3c64xx_dma_init(void)
697 697
698 printk(KERN_INFO "%s: Registering DMA channels\n", __func__); 698 printk(KERN_INFO "%s: Registering DMA channels\n", __func__);
699 699
700 dma_pool = dma_pool_create("DMA-LLI", NULL, 32, 16, 0); 700 dma_pool = dma_pool_create("DMA-LLI", NULL, sizeof(struct pl080s_lli), 16, 0);
701 if (!dma_pool) { 701 if (!dma_pool) {
702 printk(KERN_ERR "%s: failed to create pool\n", __func__); 702 printk(KERN_ERR "%s: failed to create pool\n", __func__);
703 return -ENOMEM; 703 return -ENOMEM;
diff --git a/arch/arm/plat-s3c64xx/include/plat/dma-plat.h b/arch/arm/plat-s3c64xx/include/plat/dma-plat.h
index 0c30dd986725..8f76a1e474d6 100644
--- a/arch/arm/plat-s3c64xx/include/plat/dma-plat.h
+++ b/arch/arm/plat-s3c64xx/include/plat/dma-plat.h
@@ -26,7 +26,7 @@ struct s3c64xx_dma_buff {
26 struct s3c64xx_dma_buff *next; 26 struct s3c64xx_dma_buff *next;
27 27
28 void *pw; 28 void *pw;
29 struct pl080_lli *lli; 29 struct pl080s_lli *lli;
30 dma_addr_t lli_dma; 30 dma_addr_t lli_dma;
31}; 31};
32 32
diff --git a/arch/arm/plat-s3c64xx/include/plat/irqs.h b/arch/arm/plat-s3c64xx/include/plat/irqs.h
index 743a70094d04..7956fd3bb194 100644
--- a/arch/arm/plat-s3c64xx/include/plat/irqs.h
+++ b/arch/arm/plat-s3c64xx/include/plat/irqs.h
@@ -194,9 +194,17 @@
194 194
195#define IRQ_EINT_GROUP(group, no) (IRQ_EINT_GROUP##group##_BASE + (no)) 195#define IRQ_EINT_GROUP(group, no) (IRQ_EINT_GROUP##group##_BASE + (no))
196 196
197/* Define a group of interrupts for board-specific use (eg, for MFD
198 * interrupt controllers). */
199#define IRQ_BOARD_START (IRQ_EINT_GROUP9_BASE + IRQ_EINT_GROUP9_NR + 1)
200
201#define IRQ_BOARD_NR 16
202
203#define IRQ_BOARD_END (IRQ_BOARD_START + IRQ_BOARD_NR)
204
197/* Set the default NR_IRQS */ 205/* Set the default NR_IRQS */
198 206
199#define NR_IRQS (IRQ_EINT_GROUP9_BASE + IRQ_EINT_GROUP9_NR + 1) 207#define NR_IRQS (IRQ_BOARD_END + 1)
200 208
201#endif /* __ASM_PLAT_S3C64XX_IRQS_H */ 209#endif /* __ASM_PLAT_S3C64XX_IRQS_H */
202 210
diff --git a/arch/arm/plat-s3c64xx/s3c6400-clock.c b/arch/arm/plat-s3c64xx/s3c6400-clock.c
index febac1950d8e..9745852261e0 100644
--- a/arch/arm/plat-s3c64xx/s3c6400-clock.c
+++ b/arch/arm/plat-s3c64xx/s3c6400-clock.c
@@ -302,8 +302,8 @@ static int s3c64xx_setrate_clksrc(struct clk *clk, unsigned long rate)
302 return -EINVAL; 302 return -EINVAL;
303 303
304 val = __raw_readl(reg); 304 val = __raw_readl(reg);
305 val &= ~(0xf << sclk->shift); 305 val &= ~(0xf << sclk->divider_shift);
306 val |= (div - 1) << sclk->shift; 306 val |= (div - 1) << sclk->divider_shift;
307 __raw_writel(val, reg); 307 __raw_writel(val, reg);
308 308
309 return 0; 309 return 0;
@@ -328,6 +328,8 @@ static int s3c64xx_setparent_clksrc(struct clk *clk, struct clk *parent)
328 clksrc |= src_nr << sclk->shift; 328 clksrc |= src_nr << sclk->shift;
329 329
330 __raw_writel(clksrc, S3C_CLK_SRC); 330 __raw_writel(clksrc, S3C_CLK_SRC);
331
332 clk->parent = parent;
331 return 0; 333 return 0;
332 } 334 }
333 335
@@ -343,7 +345,7 @@ static unsigned long s3c64xx_roundrate_clksrc(struct clk *clk,
343 if (rate > parent_rate) 345 if (rate > parent_rate)
344 rate = parent_rate; 346 rate = parent_rate;
345 else { 347 else {
346 div = rate / parent_rate; 348 div = parent_rate / rate;
347 349
348 if (div == 0) 350 if (div == 0)
349 div = 1; 351 div = 1;