aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c2410
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-03-12 19:00:54 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2010-03-12 19:00:54 -0500
commitdca1d9f6d7ae428c193f32bd3e9a4ca13176648b (patch)
tree02de8c3503c1c811754423d2fa3f3b4978044f6e /arch/arm/mach-s3c2410
parent9ff99339447de403a46be5e3f23d0c794d540b06 (diff)
parent91e013827c0bcbb187ecf02213c5446b6f62d445 (diff)
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (370 commits) ARM: S3C2443: Add set_rate and round_rate calls for armdiv clock ARM: S3C2443: Remove #if 0 for clk_mpll ARM: S3C2443: Update notes on MPLLREF clock ARM: S3C2443: Further clksrc-clk conversions ARM: S3C2443: Change to using plat-samsung clksrc-clk implementation USB: Fix s3c-hsotg build following Samsung platform header moves ARM: S3C64XX: Reintroduce unconditional build of audio device ARM: 5961/1: ux500: fix CLKRST addresses ARM: 5977/1: arm: Enable backtrace printing on oops when PC is corrupted ASoC: Fix S3C64xx IIS driver for Samsung header reorg ARM: S3C2440: Fix plat-s3c24xx move of s3c2440/s3c2442 support [ARM] pxa: fix typo in mxm8x10.h [ARM] pxa/raumfeld: set GPIO drive bits for LED pins [ARM] pxa/zeus: Add support for mcp2515 CAN bus [ARM] pxa/zeus: Add support for onboard max6369 watchdog [ARM] pxa/zeus: Add Eurotech as the manufacturer [ARM] pxa/zeus: Correct the USB host initialisation flags [ARM] pxa/zeus: Allow usage of 8250-compatible UART in uncompress [ARM] pxa: refactor uncompress.h for non-PXA uarts [ARM] mmp2: fix incorrect calling of chip->mask_ack() for 2nd level cascaded IRQs ...
Diffstat (limited to 'arch/arm/mach-s3c2410')
-rw-r--r--arch/arm/mach-s3c2410/dma.c2
-rw-r--r--arch/arm/mach-s3c2410/include/mach/gpio-track.h (renamed from arch/arm/mach-s3c2410/include/mach/gpio-core.h)1
-rw-r--r--arch/arm/mach-s3c2410/include/mach/pm-core.h64
-rw-r--r--arch/arm/mach-s3c2410/include/mach/regs-gpio.h10
-rw-r--r--arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h32
-rw-r--r--arch/arm/mach-s3c2410/include/mach/timex.h24
-rw-r--r--arch/arm/mach-s3c2410/include/mach/vmalloc.h20
-rw-r--r--arch/arm/mach-s3c2410/mach-amlm5900.c2
-rw-r--r--arch/arm/mach-s3c2410/mach-bast.c2
-rw-r--r--arch/arm/mach-s3c2410/mach-h1940.c7
-rw-r--r--arch/arm/mach-s3c2410/mach-n30.c2
-rw-r--r--arch/arm/mach-s3c2410/mach-otom.c2
-rw-r--r--arch/arm/mach-s3c2410/mach-qt2410.c2
-rw-r--r--arch/arm/mach-s3c2410/mach-smdk2410.c2
-rw-r--r--arch/arm/mach-s3c2410/mach-tct_hammer.c2
-rw-r--r--arch/arm/mach-s3c2410/mach-vr1000.c2
-rw-r--r--arch/arm/mach-s3c2410/usb-simtec.c4
17 files changed, 128 insertions, 52 deletions
diff --git a/arch/arm/mach-s3c2410/dma.c b/arch/arm/mach-s3c2410/dma.c
index 63b753f56c6..0d8e043804c 100644
--- a/arch/arm/mach-s3c2410/dma.c
+++ b/arch/arm/mach-s3c2410/dma.c
@@ -21,7 +21,7 @@
21#include <mach/dma.h> 21#include <mach/dma.h>
22 22
23#include <plat/cpu.h> 23#include <plat/cpu.h>
24#include <plat/dma-plat.h> 24#include <plat/dma-s3c24xx.h>
25 25
26#include <plat/regs-serial.h> 26#include <plat/regs-serial.h>
27#include <mach/regs-gpio.h> 27#include <mach/regs-gpio.h>
diff --git a/arch/arm/mach-s3c2410/include/mach/gpio-core.h b/arch/arm/mach-s3c2410/include/mach/gpio-track.h
index f8b879a7973..acb25910380 100644
--- a/arch/arm/mach-s3c2410/include/mach/gpio-core.h
+++ b/arch/arm/mach-s3c2410/include/mach/gpio-track.h
@@ -15,7 +15,6 @@
15#ifndef __ASM_ARCH_GPIO_CORE_H 15#ifndef __ASM_ARCH_GPIO_CORE_H
16#define __ASM_ARCH_GPIO_CORE_H __FILE__ 16#define __ASM_ARCH_GPIO_CORE_H __FILE__
17 17
18#include <plat/gpio-core.h>
19#include <mach/regs-gpio.h> 18#include <mach/regs-gpio.h>
20 19
21extern struct s3c_gpio_chip s3c24xx_gpios[]; 20extern struct s3c_gpio_chip s3c24xx_gpios[];
diff --git a/arch/arm/mach-s3c2410/include/mach/pm-core.h b/arch/arm/mach-s3c2410/include/mach/pm-core.h
new file mode 100644
index 00000000000..70a83b209e2
--- /dev/null
+++ b/arch/arm/mach-s3c2410/include/mach/pm-core.h
@@ -0,0 +1,64 @@
1/* linux/arch/arm/mach-s3c2410/include/pm-core.h
2 *
3 * Copyright 2008 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk>
5 * http://armlinux.simtec.co.uk/
6 *
7 * S3C24xx - PM core support for arch/arm/plat-s3c/pm.c
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation.
12 */
13
14static inline void s3c_pm_debug_init_uart(void)
15{
16 unsigned long tmp = __raw_readl(S3C2410_CLKCON);
17
18 /* re-start uart clocks */
19 tmp |= S3C2410_CLKCON_UART0;
20 tmp |= S3C2410_CLKCON_UART1;
21 tmp |= S3C2410_CLKCON_UART2;
22
23 __raw_writel(tmp, S3C2410_CLKCON);
24 udelay(10);
25}
26
27static inline void s3c_pm_arch_prepare_irqs(void)
28{
29 __raw_writel(s3c_irqwake_intmask, S3C2410_INTMSK);
30 __raw_writel(s3c_irqwake_eintmask, S3C2410_EINTMASK);
31
32 /* ack any outstanding external interrupts before we go to sleep */
33
34 __raw_writel(__raw_readl(S3C2410_EINTPEND), S3C2410_EINTPEND);
35 __raw_writel(__raw_readl(S3C2410_INTPND), S3C2410_INTPND);
36 __raw_writel(__raw_readl(S3C2410_SRCPND), S3C2410_SRCPND);
37
38}
39
40static inline void s3c_pm_arch_stop_clocks(void)
41{
42 __raw_writel(0x00, S3C2410_CLKCON); /* turn off clocks over sleep */
43}
44
45static void s3c_pm_show_resume_irqs(int start, unsigned long which,
46 unsigned long mask);
47
48static inline void s3c_pm_arch_show_resume_irqs(void)
49{
50 S3C_PMDBG("post sleep: IRQs 0x%08x, 0x%08x\n",
51 __raw_readl(S3C2410_SRCPND),
52 __raw_readl(S3C2410_EINTPEND));
53
54 s3c_pm_show_resume_irqs(IRQ_EINT0, __raw_readl(S3C2410_SRCPND),
55 s3c_irqwake_intmask);
56
57 s3c_pm_show_resume_irqs(IRQ_EINT4-4, __raw_readl(S3C2410_EINTPEND),
58 s3c_irqwake_eintmask);
59}
60
61static inline void s3c_pm_arch_update_uart(void __iomem *regs,
62 struct pm_uart_save *save)
63{
64}
diff --git a/arch/arm/mach-s3c2410/include/mach/regs-gpio.h b/arch/arm/mach-s3c2410/include/mach/regs-gpio.h
index ebc85c6dadb..fd672f330bf 100644
--- a/arch/arm/mach-s3c2410/include/mach/regs-gpio.h
+++ b/arch/arm/mach-s3c2410/include/mach/regs-gpio.h
@@ -406,31 +406,31 @@
406#define S3C2443_GPE5_SD1_CLK (0x02 << 10) 406#define S3C2443_GPE5_SD1_CLK (0x02 << 10)
407#define S3C2400_GPE5_EINT5 (0x02 << 10) 407#define S3C2400_GPE5_EINT5 (0x02 << 10)
408#define S3C2400_GPE5_TCLK1 (0x03 << 10) 408#define S3C2400_GPE5_TCLK1 (0x03 << 10)
409#define S3C2443_GPE5_AC_BITCLK (0x03 << 10)
409 410
410#define S3C2410_GPE6_SDCMD (0x02 << 12) 411#define S3C2410_GPE6_SDCMD (0x02 << 12)
411#define S3C2443_GPE6_SD1_CMD (0x02 << 12) 412#define S3C2443_GPE6_SD1_CMD (0x02 << 12)
412#define S3C2443_GPE6_AC_BITCLK (0x03 << 12) 413#define S3C2443_GPE6_AC_SDI (0x03 << 12)
413#define S3C2400_GPE6_EINT6 (0x02 << 12) 414#define S3C2400_GPE6_EINT6 (0x02 << 12)
414 415
415#define S3C2410_GPE7_SDDAT0 (0x02 << 14) 416#define S3C2410_GPE7_SDDAT0 (0x02 << 14)
416#define S3C2443_GPE5_SD1_DAT0 (0x02 << 14) 417#define S3C2443_GPE5_SD1_DAT0 (0x02 << 14)
417#define S3C2443_GPE7_AC_SDI (0x03 << 14) 418#define S3C2443_GPE7_AC_SDO (0x03 << 14)
418#define S3C2400_GPE7_EINT7 (0x02 << 14) 419#define S3C2400_GPE7_EINT7 (0x02 << 14)
419 420
420#define S3C2410_GPE8_SDDAT1 (0x02 << 16) 421#define S3C2410_GPE8_SDDAT1 (0x02 << 16)
421#define S3C2443_GPE8_SD1_DAT1 (0x02 << 16) 422#define S3C2443_GPE8_SD1_DAT1 (0x02 << 16)
422#define S3C2443_GPE8_AC_SDO (0x03 << 16) 423#define S3C2443_GPE8_AC_SYNC (0x03 << 16)
423#define S3C2400_GPE8_nXDACK0 (0x02 << 16) 424#define S3C2400_GPE8_nXDACK0 (0x02 << 16)
424 425
425#define S3C2410_GPE9_SDDAT2 (0x02 << 18) 426#define S3C2410_GPE9_SDDAT2 (0x02 << 18)
426#define S3C2443_GPE9_SD1_DAT2 (0x02 << 18) 427#define S3C2443_GPE9_SD1_DAT2 (0x02 << 18)
427#define S3C2443_GPE9_AC_SYNC (0x03 << 18) 428#define S3C2443_GPE9_AC_nRESET (0x03 << 18)
428#define S3C2400_GPE9_nXDACK1 (0x02 << 18) 429#define S3C2400_GPE9_nXDACK1 (0x02 << 18)
429#define S3C2400_GPE9_nXBACK (0x03 << 18) 430#define S3C2400_GPE9_nXBACK (0x03 << 18)
430 431
431#define S3C2410_GPE10_SDDAT3 (0x02 << 20) 432#define S3C2410_GPE10_SDDAT3 (0x02 << 20)
432#define S3C2443_GPE10_SD1_DAT3 (0x02 << 20) 433#define S3C2443_GPE10_SD1_DAT3 (0x02 << 20)
433#define S3C2443_GPE10_AC_nRESET (0x03 << 20)
434#define S3C2400_GPE10_nXDREQ0 (0x02 << 20) 434#define S3C2400_GPE10_nXDREQ0 (0x02 << 20)
435 435
436#define S3C2410_GPE11_SPIMISO0 (0x02 << 22) 436#define S3C2410_GPE11_SPIMISO0 (0x02 << 22)
diff --git a/arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h b/arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h
index 6026d091a2f..d87ebe0cb62 100644
--- a/arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h
+++ b/arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h
@@ -42,23 +42,14 @@
42 42
43#define S3C2443_PLLCON_OFF (1<<24) 43#define S3C2443_PLLCON_OFF (1<<24)
44 44
45#define S3C2443_CLKSRC_I2S_EXT (1<<14)
46#define S3C2443_CLKSRC_I2S_EPLLDIV (0<<14)
47#define S3C2443_CLKSRC_I2S_EPLLREF (2<<14)
48#define S3C2443_CLKSRC_I2S_EPLLREF3 (3<<14)
49#define S3C2443_CLKSRC_I2S_MASK (3<<14)
50
51#define S3C2443_CLKSRC_EPLLREF_XTAL (2<<7) 45#define S3C2443_CLKSRC_EPLLREF_XTAL (2<<7)
52#define S3C2443_CLKSRC_EPLLREF_EXTCLK (3<<7) 46#define S3C2443_CLKSRC_EPLLREF_EXTCLK (3<<7)
53#define S3C2443_CLKSRC_EPLLREF_MPLLREF (0<<7) 47#define S3C2443_CLKSRC_EPLLREF_MPLLREF (0<<7)
54#define S3C2443_CLKSRC_EPLLREF_MPLLREF2 (1<<7) 48#define S3C2443_CLKSRC_EPLLREF_MPLLREF2 (1<<7)
55#define S3C2443_CLKSRC_EPLLREF_MASK (3<<7) 49#define S3C2443_CLKSRC_EPLLREF_MASK (3<<7)
56 50
57#define S3C2443_CLKSRC_ESYSCLK_EPLL (1<<6)
58#define S3C2443_CLKSRC_MSYSCLK_MPLL (1<<4)
59#define S3C2443_CLKSRC_EXTCLK_DIV (1<<3) 51#define S3C2443_CLKSRC_EXTCLK_DIV (1<<3)
60 52
61#define S3C2443_CLKDIV0_DVS (1<<13)
62#define S3C2443_CLKDIV0_HALF_HCLK (1<<3) 53#define S3C2443_CLKDIV0_HALF_HCLK (1<<3)
63#define S3C2443_CLKDIV0_HALF_PCLK (1<<2) 54#define S3C2443_CLKDIV0_HALF_PCLK (1<<2)
64 55
@@ -81,28 +72,7 @@
81#define S3C2443_CLKDIV0_ARMDIV_12 (13<<9) 72#define S3C2443_CLKDIV0_ARMDIV_12 (13<<9)
82#define S3C2443_CLKDIV0_ARMDIV_16 (15<<9) 73#define S3C2443_CLKDIV0_ARMDIV_16 (15<<9)
83 74
84/* S3C2443_CLKDIV1 */ 75/* S3C2443_CLKDIV1 removed, only used in clock.c code */
85
86#define S3C2443_CLKDIV1_CAMDIV_MASK (15<<26)
87#define S3C2443_CLKDIV1_CAMDIV_SHIFT (26)
88
89#define S3C2443_CLKDIV1_HSSPIDIV_MASK (3<<24)
90#define S3C2443_CLKDIV1_HSSPIDIV_SHIFT (24)
91
92#define S3C2443_CLKDIV1_DISPDIV_MASK (0xff<<16)
93#define S3C2443_CLKDIV1_DISPDIV_SHIFT (16)
94
95#define S3C2443_CLKDIV1_I2SDIV_MASK (15<<12)
96#define S3C2443_CLKDIV1_I2SDIV_SHIFT (12)
97
98#define S3C2443_CLKDIV1_UARTDIV_MASK (15<<8)
99#define S3C2443_CLKDIV1_UARTDIV_SHIFT (8)
100
101#define S3C2443_CLKDIV1_HSMMCDIV_MASK (3<<6)
102#define S3C2443_CLKDIV1_HSMMCDIV_SHIFT (6)
103
104#define S3C2443_CLKDIV1_USBHOSTDIV_MASK (3<<4)
105#define S3C2443_CLKDIV1_USBHOSTDIV_SHIFT (4)
106 76
107#define S3C2443_CLKCON_NAND 77#define S3C2443_CLKCON_NAND
108 78
diff --git a/arch/arm/mach-s3c2410/include/mach/timex.h b/arch/arm/mach-s3c2410/include/mach/timex.h
new file mode 100644
index 00000000000..fe9ca1ffd51
--- /dev/null
+++ b/arch/arm/mach-s3c2410/include/mach/timex.h
@@ -0,0 +1,24 @@
1/* arch/arm/mach-s3c2410/include/mach/timex.h
2 *
3 * Copyright (c) 2003-2005 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk>
5 *
6 * S3C2410 - time parameters
7 *
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
10 * published by the Free Software Foundation.
11*/
12
13#ifndef __ASM_ARCH_TIMEX_H
14#define __ASM_ARCH_TIMEX_H
15
16/* CLOCK_TICK_RATE needs to be evaluatable by the cpp, so making it
17 * a variable is useless. It seems as long as we make our timers an
18 * exact multiple of HZ, any value that makes a 1->1 correspondence
19 * for the time conversion functions to/from jiffies is acceptable.
20*/
21
22#define CLOCK_TICK_RATE 12000000
23
24#endif /* __ASM_ARCH_TIMEX_H */
diff --git a/arch/arm/mach-s3c2410/include/mach/vmalloc.h b/arch/arm/mach-s3c2410/include/mach/vmalloc.h
new file mode 100644
index 00000000000..315b0078a34
--- /dev/null
+++ b/arch/arm/mach-s3c2410/include/mach/vmalloc.h
@@ -0,0 +1,20 @@
1/* arch/arm/mach-s3c2410/include/mach/vmalloc.h
2 *
3 * from arch/arm/mach-iop3xx/include/mach/vmalloc.h
4 *
5 * Copyright (c) 2003 Simtec Electronics <linux@simtec.co.uk>
6 * http://www.simtec.co.uk/products/SWLINUX/
7 *
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
10 * published by the Free Software Foundation.
11 *
12 * S3C2410 vmalloc definition
13*/
14
15#ifndef __ASM_ARCH_VMALLOC_H
16#define __ASM_ARCH_VMALLOC_H
17
18#define VMALLOC_END (0xE0000000)
19
20#endif /* __ASM_ARCH_VMALLOC_H */
diff --git a/arch/arm/mach-s3c2410/mach-amlm5900.c b/arch/arm/mach-s3c2410/mach-amlm5900.c
index 06a84adfb13..7047317ed7f 100644
--- a/arch/arm/mach-s3c2410/mach-amlm5900.c
+++ b/arch/arm/mach-s3c2410/mach-amlm5900.c
@@ -153,7 +153,7 @@ static struct platform_device *amlm5900_devices[] __initdata = {
153 &s3c_device_adc, 153 &s3c_device_adc,
154 &s3c_device_wdt, 154 &s3c_device_wdt,
155 &s3c_device_i2c0, 155 &s3c_device_i2c0,
156 &s3c_device_usb, 156 &s3c_device_ohci,
157 &s3c_device_rtc, 157 &s3c_device_rtc,
158 &s3c_device_usbgadget, 158 &s3c_device_usbgadget,
159 &s3c_device_sdi, 159 &s3c_device_sdi,
diff --git a/arch/arm/mach-s3c2410/mach-bast.c b/arch/arm/mach-s3c2410/mach-bast.c
index 97162fdd059..02b1b6220cb 100644
--- a/arch/arm/mach-s3c2410/mach-bast.c
+++ b/arch/arm/mach-s3c2410/mach-bast.c
@@ -584,7 +584,7 @@ static struct s3c_hwmon_pdata bast_hwmon_info = {
584// cat /sys/devices/platform/s3c24xx-adc/s3c-hwmon/in_0 584// cat /sys/devices/platform/s3c24xx-adc/s3c-hwmon/in_0
585 585
586static struct platform_device *bast_devices[] __initdata = { 586static struct platform_device *bast_devices[] __initdata = {
587 &s3c_device_usb, 587 &s3c_device_ohci,
588 &s3c_device_lcd, 588 &s3c_device_lcd,
589 &s3c_device_wdt, 589 &s3c_device_wdt,
590 &s3c_device_i2c0, 590 &s3c_device_i2c0,
diff --git a/arch/arm/mach-s3c2410/mach-h1940.c b/arch/arm/mach-s3c2410/mach-h1940.c
index 1e34abe1a19..fbedd076094 100644
--- a/arch/arm/mach-s3c2410/mach-h1940.c
+++ b/arch/arm/mach-s3c2410/mach-h1940.c
@@ -196,7 +196,7 @@ static struct platform_device h1940_device_bluetooth = {
196 .id = -1, 196 .id = -1,
197}; 197};
198 198
199static struct s3c24xx_mci_pdata h1940_mmc_cfg = { 199static struct s3c24xx_mci_pdata h1940_mmc_cfg __initdata = {
200 .gpio_detect = S3C2410_GPF(5), 200 .gpio_detect = S3C2410_GPF(5),
201 .gpio_wprotect = S3C2410_GPH(8), 201 .gpio_wprotect = S3C2410_GPH(8),
202 .set_power = NULL, 202 .set_power = NULL,
@@ -272,7 +272,7 @@ static struct platform_device h1940_lcd_powerdev = {
272 272
273static struct platform_device *h1940_devices[] __initdata = { 273static struct platform_device *h1940_devices[] __initdata = {
274 &s3c_device_ts, 274 &s3c_device_ts,
275 &s3c_device_usb, 275 &s3c_device_ohci,
276 &s3c_device_lcd, 276 &s3c_device_lcd,
277 &s3c_device_wdt, 277 &s3c_device_wdt,
278 &s3c_device_i2c0, 278 &s3c_device_i2c0,
@@ -311,12 +311,11 @@ static void __init h1940_init(void)
311 u32 tmp; 311 u32 tmp;
312 312
313 s3c24xx_fb_set_platdata(&h1940_fb_info); 313 s3c24xx_fb_set_platdata(&h1940_fb_info);
314 s3c24xx_mci_set_platdata(&h1940_mmc_cfg);
314 s3c24xx_udc_set_platdata(&h1940_udc_cfg); 315 s3c24xx_udc_set_platdata(&h1940_udc_cfg);
315 s3c24xx_ts_set_platdata(&h1940_ts_cfg); 316 s3c24xx_ts_set_platdata(&h1940_ts_cfg);
316 s3c_i2c0_set_platdata(NULL); 317 s3c_i2c0_set_platdata(NULL);
317 318
318 s3c_device_sdi.dev.platform_data = &h1940_mmc_cfg;
319
320 /* Turn off suspend on both USB ports, and switch the 319 /* Turn off suspend on both USB ports, and switch the
321 * selectable USB port to USB device mode. */ 320 * selectable USB port to USB device mode. */
322 321
diff --git a/arch/arm/mach-s3c2410/mach-n30.c b/arch/arm/mach-s3c2410/mach-n30.c
index 0405712c226..684710f8814 100644
--- a/arch/arm/mach-s3c2410/mach-n30.c
+++ b/arch/arm/mach-s3c2410/mach-n30.c
@@ -322,7 +322,7 @@ static struct platform_device *n30_devices[] __initdata = {
322 &s3c_device_wdt, 322 &s3c_device_wdt,
323 &s3c_device_i2c0, 323 &s3c_device_i2c0,
324 &s3c_device_iis, 324 &s3c_device_iis,
325 &s3c_device_usb, 325 &s3c_device_ohci,
326 &s3c_device_usbgadget, 326 &s3c_device_usbgadget,
327 &n30_button_device, 327 &n30_button_device,
328 &n30_blue_led, 328 &n30_blue_led,
diff --git a/arch/arm/mach-s3c2410/mach-otom.c b/arch/arm/mach-s3c2410/mach-otom.c
index f6c7261a4a1..d8c7f2efc1a 100644
--- a/arch/arm/mach-s3c2410/mach-otom.c
+++ b/arch/arm/mach-s3c2410/mach-otom.c
@@ -92,7 +92,7 @@ static struct platform_device otom_device_nor = {
92/* Standard OTOM devices */ 92/* Standard OTOM devices */
93 93
94static struct platform_device *otom11_devices[] __initdata = { 94static struct platform_device *otom11_devices[] __initdata = {
95 &s3c_device_usb, 95 &s3c_device_ohci,
96 &s3c_device_lcd, 96 &s3c_device_lcd,
97 &s3c_device_wdt, 97 &s3c_device_wdt,
98 &s3c_device_i2c0, 98 &s3c_device_i2c0,
diff --git a/arch/arm/mach-s3c2410/mach-qt2410.c b/arch/arm/mach-s3c2410/mach-qt2410.c
index ab092bcda39..92a4ec375d8 100644
--- a/arch/arm/mach-s3c2410/mach-qt2410.c
+++ b/arch/arm/mach-s3c2410/mach-qt2410.c
@@ -246,7 +246,7 @@ static struct platform_device qt2410_spi = {
246/* Board devices */ 246/* Board devices */
247 247
248static struct platform_device *qt2410_devices[] __initdata = { 248static struct platform_device *qt2410_devices[] __initdata = {
249 &s3c_device_usb, 249 &s3c_device_ohci,
250 &s3c_device_lcd, 250 &s3c_device_lcd,
251 &s3c_device_wdt, 251 &s3c_device_wdt,
252 &s3c_device_i2c0, 252 &s3c_device_i2c0,
diff --git a/arch/arm/mach-s3c2410/mach-smdk2410.c b/arch/arm/mach-s3c2410/mach-smdk2410.c
index c49126ccb1d..45222304220 100644
--- a/arch/arm/mach-s3c2410/mach-smdk2410.c
+++ b/arch/arm/mach-s3c2410/mach-smdk2410.c
@@ -87,7 +87,7 @@ static struct s3c2410_uartcfg smdk2410_uartcfgs[] __initdata = {
87}; 87};
88 88
89static struct platform_device *smdk2410_devices[] __initdata = { 89static struct platform_device *smdk2410_devices[] __initdata = {
90 &s3c_device_usb, 90 &s3c_device_ohci,
91 &s3c_device_lcd, 91 &s3c_device_lcd,
92 &s3c_device_wdt, 92 &s3c_device_wdt,
93 &s3c_device_i2c0, 93 &s3c_device_i2c0,
diff --git a/arch/arm/mach-s3c2410/mach-tct_hammer.c b/arch/arm/mach-s3c2410/mach-tct_hammer.c
index 8fdb0430bd4..929164a8e9b 100644
--- a/arch/arm/mach-s3c2410/mach-tct_hammer.c
+++ b/arch/arm/mach-s3c2410/mach-tct_hammer.c
@@ -129,7 +129,7 @@ static struct platform_device *tct_hammer_devices[] __initdata = {
129 &s3c_device_adc, 129 &s3c_device_adc,
130 &s3c_device_wdt, 130 &s3c_device_wdt,
131 &s3c_device_i2c0, 131 &s3c_device_i2c0,
132 &s3c_device_usb, 132 &s3c_device_ohci,
133 &s3c_device_rtc, 133 &s3c_device_rtc,
134 &s3c_device_usbgadget, 134 &s3c_device_usbgadget,
135 &s3c_device_sdi, 135 &s3c_device_sdi,
diff --git a/arch/arm/mach-s3c2410/mach-vr1000.c b/arch/arm/mach-s3c2410/mach-vr1000.c
index 0d61fb57717..9051f0d3112 100644
--- a/arch/arm/mach-s3c2410/mach-vr1000.c
+++ b/arch/arm/mach-s3c2410/mach-vr1000.c
@@ -334,7 +334,7 @@ static struct i2c_board_info vr1000_i2c_devs[] __initdata = {
334/* devices for this board */ 334/* devices for this board */
335 335
336static struct platform_device *vr1000_devices[] __initdata = { 336static struct platform_device *vr1000_devices[] __initdata = {
337 &s3c_device_usb, 337 &s3c_device_ohci,
338 &s3c_device_lcd, 338 &s3c_device_lcd,
339 &s3c_device_wdt, 339 &s3c_device_wdt,
340 &s3c_device_i2c0, 340 &s3c_device_i2c0,
diff --git a/arch/arm/mach-s3c2410/usb-simtec.c b/arch/arm/mach-s3c2410/usb-simtec.c
index 6b9d0d83a6f..29bd3d987be 100644
--- a/arch/arm/mach-s3c2410/usb-simtec.c
+++ b/arch/arm/mach-s3c2410/usb-simtec.c
@@ -91,7 +91,7 @@ static void usb_simtec_enableoc(struct s3c2410_hcd_info *info, int on)
91 } 91 }
92} 92}
93 93
94static struct s3c2410_hcd_info usb_simtec_info = { 94static struct s3c2410_hcd_info usb_simtec_info __initdata = {
95 .port[0] = { 95 .port[0] = {
96 .flags = S3C_HCDFLG_USED 96 .flags = S3C_HCDFLG_USED
97 }, 97 },
@@ -127,6 +127,6 @@ int usb_simtec_init(void)
127 gpio_direction_output(S3C2410_GPB(4), 1); 127 gpio_direction_output(S3C2410_GPB(4), 1);
128 gpio_direction_input(S3C2410_GPG(10)); 128 gpio_direction_input(S3C2410_GPG(10));
129 129
130 s3c_device_usb.dev.platform_data = &usb_simtec_info; 130 s3c_ohci_set_platdata(&usb_simtec_info);
131 return 0; 131 return 0;
132} 132}