From cf5942b0a646e498bdc9d7b1b1dcaebb8a69ec33 Mon Sep 17 00:00:00 2001 From: Ben Dooks Date: Tue, 19 Jan 2010 17:47:39 +0900 Subject: [PATCH] --- yaml --- r: 187389 b: refs/heads/master c: 645f0b07fe0dd0fa697c5b327c2d8c005bd0b5c0 h: refs/heads/master i: 187387: 1ce690c4791310e42429401a004d5e0c27897d22 v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-s3c2410/mach-amlm5900.c | 2 +- trunk/arch/arm/mach-s3c2410/mach-bast.c | 2 +- trunk/arch/arm/mach-s3c2410/mach-h1940.c | 7 +-- trunk/arch/arm/mach-s3c2410/mach-n30.c | 2 +- trunk/arch/arm/mach-s3c2410/mach-otom.c | 2 +- trunk/arch/arm/mach-s3c2410/mach-qt2410.c | 2 +- trunk/arch/arm/mach-s3c2410/mach-smdk2410.c | 2 +- trunk/arch/arm/mach-s3c2410/mach-tct_hammer.c | 2 +- trunk/arch/arm/mach-s3c2410/mach-vr1000.c | 2 +- trunk/arch/arm/mach-s3c2410/usb-simtec.c | 4 +- trunk/arch/arm/mach-s3c2412/mach-jive.c | 2 +- trunk/arch/arm/mach-s3c2412/mach-smdk2413.c | 3 +- trunk/arch/arm/mach-s3c2412/mach-vstms.c | 2 +- trunk/arch/arm/mach-s3c2440/mach-anubis.c | 2 +- trunk/arch/arm/mach-s3c2440/mach-at2440evb.c | 7 +-- trunk/arch/arm/mach-s3c2440/mach-mini2440.c | 8 +++- trunk/arch/arm/mach-s3c2440/mach-nexcoder.c | 2 +- trunk/arch/arm/mach-s3c2440/mach-rx3715.c | 2 +- trunk/arch/arm/mach-s3c2440/mach-smdk2440.c | 2 +- trunk/arch/arm/mach-s3c2442/mach-gta02.c | 7 +-- trunk/arch/arm/mach-s3c6410/mach-hmt.c | 2 +- trunk/arch/arm/mach-s3c6410/mach-smdk6410.c | 2 +- trunk/arch/arm/plat-s3c/include/plat/devs.h | 2 +- .../arm/plat-s3c/include/plat/usb-control.h | 2 - trunk/arch/arm/plat-s3c24xx/devs.c | 41 +++++++++++------ .../arch/arm/plat-s3c24xx/include/plat/mci.h | 9 ---- trunk/arch/arm/plat-s3c64xx/dev-uart.c | 29 ++++++++++++ trunk/arch/arm/plat-s5p/dev-uart.c | 28 ++++++++++++ trunk/arch/arm/plat-s5pc1xx/clock.c | 9 +++- trunk/arch/arm/plat-s5pc1xx/dev-uart.c | 29 ++++++++++++ trunk/arch/arm/plat-samsung/Makefile | 1 - trunk/arch/arm/plat-samsung/clock-clksrc.c | 25 ++++------- trunk/arch/arm/plat-samsung/dev-uart.c | 44 ------------------- trunk/arch/arm/plat-samsung/dev-usb.c | 25 ++--------- 35 files changed, 172 insertions(+), 142 deletions(-) delete mode 100644 trunk/arch/arm/plat-samsung/dev-uart.c diff --git a/[refs] b/[refs] index 6e83d5b5a03f..e88b8850d163 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ea2de1dc8b5872de21a03757dca9d1560b5c9a81 +refs/heads/master: 645f0b07fe0dd0fa697c5b327c2d8c005bd0b5c0 diff --git a/trunk/arch/arm/mach-s3c2410/mach-amlm5900.c b/trunk/arch/arm/mach-s3c2410/mach-amlm5900.c index 7047317ed7f4..06a84adfb13f 100644 --- a/trunk/arch/arm/mach-s3c2410/mach-amlm5900.c +++ b/trunk/arch/arm/mach-s3c2410/mach-amlm5900.c @@ -153,7 +153,7 @@ static struct platform_device *amlm5900_devices[] __initdata = { &s3c_device_adc, &s3c_device_wdt, &s3c_device_i2c0, - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_rtc, &s3c_device_usbgadget, &s3c_device_sdi, diff --git a/trunk/arch/arm/mach-s3c2410/mach-bast.c b/trunk/arch/arm/mach-s3c2410/mach-bast.c index 02b1b6220cba..97162fdd0590 100644 --- a/trunk/arch/arm/mach-s3c2410/mach-bast.c +++ b/trunk/arch/arm/mach-s3c2410/mach-bast.c @@ -584,7 +584,7 @@ static struct s3c_hwmon_pdata bast_hwmon_info = { // cat /sys/devices/platform/s3c24xx-adc/s3c-hwmon/in_0 static struct platform_device *bast_devices[] __initdata = { - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, &s3c_device_i2c0, diff --git a/trunk/arch/arm/mach-s3c2410/mach-h1940.c b/trunk/arch/arm/mach-s3c2410/mach-h1940.c index fbedd0760941..1e34abe1a19e 100644 --- a/trunk/arch/arm/mach-s3c2410/mach-h1940.c +++ b/trunk/arch/arm/mach-s3c2410/mach-h1940.c @@ -196,7 +196,7 @@ static struct platform_device h1940_device_bluetooth = { .id = -1, }; -static struct s3c24xx_mci_pdata h1940_mmc_cfg __initdata = { +static struct s3c24xx_mci_pdata h1940_mmc_cfg = { .gpio_detect = S3C2410_GPF(5), .gpio_wprotect = S3C2410_GPH(8), .set_power = NULL, @@ -272,7 +272,7 @@ static struct platform_device h1940_lcd_powerdev = { static struct platform_device *h1940_devices[] __initdata = { &s3c_device_ts, - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, &s3c_device_i2c0, @@ -311,11 +311,12 @@ static void __init h1940_init(void) u32 tmp; s3c24xx_fb_set_platdata(&h1940_fb_info); - s3c24xx_mci_set_platdata(&h1940_mmc_cfg); s3c24xx_udc_set_platdata(&h1940_udc_cfg); s3c24xx_ts_set_platdata(&h1940_ts_cfg); s3c_i2c0_set_platdata(NULL); + s3c_device_sdi.dev.platform_data = &h1940_mmc_cfg; + /* Turn off suspend on both USB ports, and switch the * selectable USB port to USB device mode. */ diff --git a/trunk/arch/arm/mach-s3c2410/mach-n30.c b/trunk/arch/arm/mach-s3c2410/mach-n30.c index 684710f88142..0405712c2263 100644 --- a/trunk/arch/arm/mach-s3c2410/mach-n30.c +++ b/trunk/arch/arm/mach-s3c2410/mach-n30.c @@ -322,7 +322,7 @@ static struct platform_device *n30_devices[] __initdata = { &s3c_device_wdt, &s3c_device_i2c0, &s3c_device_iis, - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_usbgadget, &n30_button_device, &n30_blue_led, diff --git a/trunk/arch/arm/mach-s3c2410/mach-otom.c b/trunk/arch/arm/mach-s3c2410/mach-otom.c index d8c7f2efc1a7..f6c7261a4a12 100644 --- a/trunk/arch/arm/mach-s3c2410/mach-otom.c +++ b/trunk/arch/arm/mach-s3c2410/mach-otom.c @@ -92,7 +92,7 @@ static struct platform_device otom_device_nor = { /* Standard OTOM devices */ static struct platform_device *otom11_devices[] __initdata = { - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, &s3c_device_i2c0, diff --git a/trunk/arch/arm/mach-s3c2410/mach-qt2410.c b/trunk/arch/arm/mach-s3c2410/mach-qt2410.c index 92a4ec375d82..ab092bcda393 100644 --- a/trunk/arch/arm/mach-s3c2410/mach-qt2410.c +++ b/trunk/arch/arm/mach-s3c2410/mach-qt2410.c @@ -246,7 +246,7 @@ static struct platform_device qt2410_spi = { /* Board devices */ static struct platform_device *qt2410_devices[] __initdata = { - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, &s3c_device_i2c0, diff --git a/trunk/arch/arm/mach-s3c2410/mach-smdk2410.c b/trunk/arch/arm/mach-s3c2410/mach-smdk2410.c index 452223042201..c49126ccb1d5 100644 --- a/trunk/arch/arm/mach-s3c2410/mach-smdk2410.c +++ b/trunk/arch/arm/mach-s3c2410/mach-smdk2410.c @@ -87,7 +87,7 @@ static struct s3c2410_uartcfg smdk2410_uartcfgs[] __initdata = { }; static struct platform_device *smdk2410_devices[] __initdata = { - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, &s3c_device_i2c0, diff --git a/trunk/arch/arm/mach-s3c2410/mach-tct_hammer.c b/trunk/arch/arm/mach-s3c2410/mach-tct_hammer.c index 929164a8e9b1..8fdb0430bd48 100644 --- a/trunk/arch/arm/mach-s3c2410/mach-tct_hammer.c +++ b/trunk/arch/arm/mach-s3c2410/mach-tct_hammer.c @@ -129,7 +129,7 @@ static struct platform_device *tct_hammer_devices[] __initdata = { &s3c_device_adc, &s3c_device_wdt, &s3c_device_i2c0, - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_rtc, &s3c_device_usbgadget, &s3c_device_sdi, diff --git a/trunk/arch/arm/mach-s3c2410/mach-vr1000.c b/trunk/arch/arm/mach-s3c2410/mach-vr1000.c index 9051f0d31123..0d61fb577170 100644 --- a/trunk/arch/arm/mach-s3c2410/mach-vr1000.c +++ b/trunk/arch/arm/mach-s3c2410/mach-vr1000.c @@ -334,7 +334,7 @@ static struct i2c_board_info vr1000_i2c_devs[] __initdata = { /* devices for this board */ static struct platform_device *vr1000_devices[] __initdata = { - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, &s3c_device_i2c0, diff --git a/trunk/arch/arm/mach-s3c2410/usb-simtec.c b/trunk/arch/arm/mach-s3c2410/usb-simtec.c index 29bd3d987bec..6b9d0d83a6f9 100644 --- a/trunk/arch/arm/mach-s3c2410/usb-simtec.c +++ b/trunk/arch/arm/mach-s3c2410/usb-simtec.c @@ -91,7 +91,7 @@ static void usb_simtec_enableoc(struct s3c2410_hcd_info *info, int on) } } -static struct s3c2410_hcd_info usb_simtec_info __initdata = { +static struct s3c2410_hcd_info usb_simtec_info = { .port[0] = { .flags = S3C_HCDFLG_USED }, @@ -127,6 +127,6 @@ int usb_simtec_init(void) gpio_direction_output(S3C2410_GPB(4), 1); gpio_direction_input(S3C2410_GPG(10)); - s3c_ohci_set_platdata(&usb_simtec_info); + s3c_device_usb.dev.platform_data = &usb_simtec_info; return 0; } diff --git a/trunk/arch/arm/mach-s3c2412/mach-jive.c b/trunk/arch/arm/mach-s3c2412/mach-jive.c index 14f4798291aa..c9fa3fca486c 100644 --- a/trunk/arch/arm/mach-s3c2412/mach-jive.c +++ b/trunk/arch/arm/mach-s3c2412/mach-jive.c @@ -468,7 +468,7 @@ static struct i2c_board_info jive_i2c_devs[] __initdata = { /* The platform devices being used. */ static struct platform_device *jive_devices[] __initdata = { - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_rtc, &s3c_device_wdt, &s3c_device_i2c0, diff --git a/trunk/arch/arm/mach-s3c2412/mach-smdk2413.c b/trunk/arch/arm/mach-s3c2412/mach-smdk2413.c index 0392065af1af..9a5e43419722 100644 --- a/trunk/arch/arm/mach-s3c2412/mach-smdk2413.c +++ b/trunk/arch/arm/mach-s3c2412/mach-smdk2413.c @@ -104,7 +104,8 @@ static struct s3c2410_udc_mach_info smdk2413_udc_cfg __initdata = { static struct platform_device *smdk2413_devices[] __initdata = { - &s3c_device_ohci, + &s3c_device_usb, + //&s3c_device_lcd, &s3c_device_wdt, &s3c_device_i2c0, &s3c_device_iis, diff --git a/trunk/arch/arm/mach-s3c2412/mach-vstms.c b/trunk/arch/arm/mach-s3c2412/mach-vstms.c index 3ca9265b6997..a6ba591b26bb 100644 --- a/trunk/arch/arm/mach-s3c2412/mach-vstms.c +++ b/trunk/arch/arm/mach-s3c2412/mach-vstms.c @@ -121,7 +121,7 @@ static struct s3c2410_platform_nand __initdata vstms_nand_info = { }; static struct platform_device *vstms_devices[] __initdata = { - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_wdt, &s3c_device_i2c0, &s3c_device_iis, diff --git a/trunk/arch/arm/mach-s3c2440/mach-anubis.c b/trunk/arch/arm/mach-s3c2440/mach-anubis.c index b73f78a9da5c..62a4c3eba97f 100644 --- a/trunk/arch/arm/mach-s3c2440/mach-anubis.c +++ b/trunk/arch/arm/mach-s3c2440/mach-anubis.c @@ -409,7 +409,7 @@ static struct platform_device anubis_device_sm501 = { /* Standard Anubis devices */ static struct platform_device *anubis_devices[] __initdata = { - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_wdt, &s3c_device_adc, &s3c_device_i2c0, diff --git a/trunk/arch/arm/mach-s3c2440/mach-at2440evb.c b/trunk/arch/arm/mach-s3c2440/mach-at2440evb.c index 84725791e6bf..aa69290e04c6 100644 --- a/trunk/arch/arm/mach-s3c2440/mach-at2440evb.c +++ b/trunk/arch/arm/mach-s3c2440/mach-at2440evb.c @@ -165,7 +165,7 @@ static struct platform_device at2440evb_device_eth = { }, }; -static struct s3c24xx_mci_pdata at2440evb_mci_pdata __initdata = { +static struct s3c24xx_mci_pdata at2440evb_mci_pdata = { .gpio_detect = S3C2410_GPG(10), }; @@ -203,7 +203,7 @@ static struct s3c2410fb_mach_info at2440evb_fb_info __initdata = { }; static struct platform_device *at2440evb_devices[] __initdata = { - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_wdt, &s3c_device_adc, &s3c_device_i2c0, @@ -216,6 +216,8 @@ static struct platform_device *at2440evb_devices[] __initdata = { static void __init at2440evb_map_io(void) { + s3c_device_sdi.dev.platform_data = &at2440evb_mci_pdata; + s3c24xx_init_io(at2440evb_iodesc, ARRAY_SIZE(at2440evb_iodesc)); s3c24xx_init_clocks(16934400); s3c24xx_init_uarts(at2440evb_uartcfgs, ARRAY_SIZE(at2440evb_uartcfgs)); @@ -224,7 +226,6 @@ static void __init at2440evb_map_io(void) static void __init at2440evb_init(void) { s3c24xx_fb_set_platdata(&at2440evb_fb_info); - s3c24xx_mci_set_platdata(&at2440evb_mci_pdata); s3c_nand_set_platdata(&at2440evb_nand_info); s3c_i2c0_set_platdata(NULL); diff --git a/trunk/arch/arm/mach-s3c2440/mach-mini2440.c b/trunk/arch/arm/mach-s3c2440/mach-mini2440.c index 571b17683d96..2068e9096a43 100644 --- a/trunk/arch/arm/mach-s3c2440/mach-mini2440.c +++ b/trunk/arch/arm/mach-s3c2440/mach-mini2440.c @@ -506,8 +506,9 @@ static struct i2c_board_info mini2440_i2c_devs[] __initdata = { }; static struct platform_device *mini2440_devices[] __initdata = { - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_wdt, +/* &s3c_device_adc,*/ /* ADC doesn't like living with touchscreen ! */ &s3c_device_i2c0, &s3c_device_rtc, &s3c_device_usbgadget, @@ -521,6 +522,8 @@ static struct platform_device *mini2440_devices[] __initdata = { &s3c_device_sdi, &s3c_device_iis, &mini2440_audio, +/* &s3c_device_timer[0],*/ /* buzzer pwm, no API for it */ + /* remaining devices are optional */ }; static void __init mini2440_map_io(void) @@ -528,6 +531,8 @@ static void __init mini2440_map_io(void) s3c24xx_init_io(mini2440_iodesc, ARRAY_SIZE(mini2440_iodesc)); s3c24xx_init_clocks(12000000); s3c24xx_init_uarts(mini2440_uartcfgs, ARRAY_SIZE(mini2440_uartcfgs)); + + s3c_device_sdi.dev.platform_data = &mini2440_mmc_cfg; } /* @@ -673,7 +678,6 @@ static void __init mini2440_init(void) } s3c24xx_udc_set_platdata(&mini2440_udc_cfg); - s3c24xx_mci_set_platdata(&mini2440_mmc_cfg); s3c_nand_set_platdata(&mini2440_nand_info); s3c_i2c0_set_platdata(NULL); diff --git a/trunk/arch/arm/mach-s3c2440/mach-nexcoder.c b/trunk/arch/arm/mach-s3c2440/mach-nexcoder.c index 86a243b3e37d..d43edede590e 100644 --- a/trunk/arch/arm/mach-s3c2440/mach-nexcoder.c +++ b/trunk/arch/arm/mach-s3c2440/mach-nexcoder.c @@ -106,7 +106,7 @@ static struct platform_device nexcoder_device_nor = { /* Standard Nexcoder devices */ static struct platform_device *nexcoder_devices[] __initdata = { - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, &s3c_device_i2c0, diff --git a/trunk/arch/arm/mach-s3c2440/mach-rx3715.c b/trunk/arch/arm/mach-s3c2440/mach-rx3715.c index 1e836e506f8b..a952a13afb1f 100644 --- a/trunk/arch/arm/mach-s3c2440/mach-rx3715.c +++ b/trunk/arch/arm/mach-s3c2440/mach-rx3715.c @@ -176,7 +176,7 @@ static struct s3c2410_platform_nand __initdata rx3715_nand_info = { }; static struct platform_device *rx3715_devices[] __initdata = { - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, &s3c_device_i2c0, diff --git a/trunk/arch/arm/mach-s3c2440/mach-smdk2440.c b/trunk/arch/arm/mach-s3c2440/mach-smdk2440.c index df3e9a3be82f..ec13e748ccc5 100644 --- a/trunk/arch/arm/mach-s3c2440/mach-smdk2440.c +++ b/trunk/arch/arm/mach-s3c2440/mach-smdk2440.c @@ -150,7 +150,7 @@ static struct s3c2410fb_mach_info smdk2440_fb_info __initdata = { }; static struct platform_device *smdk2440_devices[] __initdata = { - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, &s3c_device_i2c0, diff --git a/trunk/arch/arm/mach-s3c2442/mach-gta02.c b/trunk/arch/arm/mach-s3c2442/mach-gta02.c index 45799c608d8f..0b4a3a03071f 100644 --- a/trunk/arch/arm/mach-s3c2442/mach-gta02.c +++ b/trunk/arch/arm/mach-s3c2442/mach-gta02.c @@ -544,7 +544,7 @@ static struct platform_device gta02_bl_dev = { /* USB */ -static struct s3c2410_hcd_info gta02_usb_info __initdata = { +static struct s3c2410_hcd_info gta02_usb_info = { .port[0] = { .flags = S3C_HCDFLG_USED, }, @@ -565,7 +565,7 @@ static void __init gta02_map_io(void) /* These are the guys that don't need to be children of PMU. */ static struct platform_device *gta02_devices[] __initdata = { - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_wdt, &s3c_device_sdi, &s3c_device_usbgadget, @@ -623,8 +623,9 @@ static void __init gta02_machine_init(void) INIT_DELAYED_WORK(>a02_charger_work, gta02_charger_worker); #endif + s3c_device_usb.dev.platform_data = >a02_usb_info; + s3c24xx_udc_set_platdata(>a02_udc_cfg); - s3c_ohci_set_platdata(>a02_usb_info); s3c_nand_set_platdata(>a02_nand_info); s3c_i2c0_set_platdata(NULL); diff --git a/trunk/arch/arm/mach-s3c6410/mach-hmt.c b/trunk/arch/arm/mach-s3c6410/mach-hmt.c index 284886c26a28..cdd4b5378552 100644 --- a/trunk/arch/arm/mach-s3c6410/mach-hmt.c +++ b/trunk/arch/arm/mach-s3c6410/mach-hmt.c @@ -233,7 +233,7 @@ static struct platform_device *hmt_devices[] __initdata = { &s3c_device_i2c0, &s3c_device_nand, &s3c_device_fb, - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_timer[1], &hmt_backlight_device, &hmt_leds_device, diff --git a/trunk/arch/arm/mach-s3c6410/mach-smdk6410.c b/trunk/arch/arm/mach-s3c6410/mach-smdk6410.c index 5376880cdd89..eb5de981c094 100644 --- a/trunk/arch/arm/mach-s3c6410/mach-smdk6410.c +++ b/trunk/arch/arm/mach-s3c6410/mach-smdk6410.c @@ -246,7 +246,7 @@ static struct platform_device *smdk6410_devices[] __initdata = { &s3c_device_i2c0, &s3c_device_i2c1, &s3c_device_fb, - &s3c_device_ohci, + &s3c_device_usb, &s3c_device_usb_hsotg, #ifdef CONFIG_REGULATOR diff --git a/trunk/arch/arm/plat-s3c/include/plat/devs.h b/trunk/arch/arm/plat-s3c/include/plat/devs.h index c6f9b7310490..f4a7e57bab2b 100644 --- a/trunk/arch/arm/plat-s3c/include/plat/devs.h +++ b/trunk/arch/arm/plat-s3c/include/plat/devs.h @@ -37,7 +37,7 @@ extern struct platform_device s3c64xx_device_pcm1; extern struct platform_device s3c_device_ts; extern struct platform_device s3c_device_fb; -extern struct platform_device s3c_device_ohci; +extern struct platform_device s3c_device_usb; extern struct platform_device s3c_device_lcd; extern struct platform_device s3c_device_wdt; extern struct platform_device s3c_device_i2c0; diff --git a/trunk/arch/arm/plat-s3c/include/plat/usb-control.h b/trunk/arch/arm/plat-s3c/include/plat/usb-control.h index a6a57bf796bd..822c87fe948e 100644 --- a/trunk/arch/arm/plat-s3c/include/plat/usb-control.h +++ b/trunk/arch/arm/plat-s3c/include/plat/usb-control.h @@ -38,6 +38,4 @@ static void inline s3c2410_usb_report_oc(struct s3c2410_hcd_info *info, int port } } -extern void s3c_ohci_set_platdata(struct s3c2410_hcd_info *info); - #endif /*__ASM_ARCH_USBCONTROL_H */ diff --git a/trunk/arch/arm/plat-s3c24xx/devs.c b/trunk/arch/arm/plat-s3c24xx/devs.c index 986d4e5408f5..7f686a31e672 100644 --- a/trunk/arch/arm/plat-s3c24xx/devs.c +++ b/trunk/arch/arm/plat-s3c24xx/devs.c @@ -32,7 +32,6 @@ #include #include -#include #include #include @@ -113,6 +112,34 @@ struct s3c24xx_uart_resources s3c2410_uart_resources[] __initdata = { }, }; +/* yart devices */ + +static struct platform_device s3c24xx_uart_device0 = { + .id = 0, +}; + +static struct platform_device s3c24xx_uart_device1 = { + .id = 1, +}; + +static struct platform_device s3c24xx_uart_device2 = { + .id = 2, +}; + +static struct platform_device s3c24xx_uart_device3 = { + .id = 3, +}; + +struct platform_device *s3c24xx_uart_src[4] = { + &s3c24xx_uart_device0, + &s3c24xx_uart_device1, + &s3c24xx_uart_device2, + &s3c24xx_uart_device3, +}; + +struct platform_device *s3c24xx_uart_devs[4] = { +}; + /* LCD Controller */ static struct resource s3c_lcd_resource[] = { @@ -352,18 +379,6 @@ struct platform_device s3c_device_sdi = { EXPORT_SYMBOL(s3c_device_sdi); -void s3c24xx_mci_set_platdata(struct s3c24xx_mci_pdata *pdata) -{ - struct s3c24xx_mci_pdata *npd; - - npd = kmemdup(pdata, sizeof(struct s3c24xx_mci_pdata), GFP_KERNEL); - if (!npd) - printk(KERN_ERR "%s: no memory to copy pdata", __func__); - - s3c_device_sdi.dev.platform_data = npd; -} - - /* SPI (0) */ static struct resource s3c_spi0_resource[] = { diff --git a/trunk/arch/arm/plat-s3c24xx/include/plat/mci.h b/trunk/arch/arm/plat-s3c24xx/include/plat/mci.h index 2ac2b21ec490..36aaa10fad06 100644 --- a/trunk/arch/arm/plat-s3c24xx/include/plat/mci.h +++ b/trunk/arch/arm/plat-s3c24xx/include/plat/mci.h @@ -40,13 +40,4 @@ struct s3c24xx_mci_pdata { unsigned short vdd); }; -/** - * s3c24xx_mci_set_platdata - set platform data for mmc/sdi device - * @pdata: The platform data - * - * Copy the platform data supplied by @pdata so that this can be marked - * __initdata. - */ -extern void s3c24xx_mci_set_platdata(struct s3c24xx_mci_pdata *pdata); - #endif /* _ARCH_NCI_H */ diff --git a/trunk/arch/arm/plat-s3c64xx/dev-uart.c b/trunk/arch/arm/plat-s3c64xx/dev-uart.c index f797f748b999..62c11a6fc7ba 100644 --- a/trunk/arch/arm/plat-s3c64xx/dev-uart.c +++ b/trunk/arch/arm/plat-s3c64xx/dev-uart.c @@ -145,3 +145,32 @@ struct s3c24xx_uart_resources s3c64xx_uart_resources[] __initdata = { .nr_resources = ARRAY_SIZE(s3c64xx_uart3_resource), }, }; + +/* uart devices */ + +static struct platform_device s3c24xx_uart_device0 = { + .id = 0, +}; + +static struct platform_device s3c24xx_uart_device1 = { + .id = 1, +}; + +static struct platform_device s3c24xx_uart_device2 = { + .id = 2, +}; + +static struct platform_device s3c24xx_uart_device3 = { + .id = 3, +}; + +struct platform_device *s3c24xx_uart_src[4] = { + &s3c24xx_uart_device0, + &s3c24xx_uart_device1, + &s3c24xx_uart_device2, + &s3c24xx_uart_device3, +}; + +struct platform_device *s3c24xx_uart_devs[4] = { +}; + diff --git a/trunk/arch/arm/plat-s5p/dev-uart.c b/trunk/arch/arm/plat-s5p/dev-uart.c index 23c75316d491..af726f47385e 100644 --- a/trunk/arch/arm/plat-s5p/dev-uart.c +++ b/trunk/arch/arm/plat-s5p/dev-uart.c @@ -135,3 +135,31 @@ struct s3c24xx_uart_resources s5p_uart_resources[] __initdata = { .nr_resources = ARRAY_SIZE(s5p_uart3_resource), }, }; + +/* uart devices */ + +static struct platform_device s5p_uart_device0 = { + .id = 0, +}; + +static struct platform_device s5p_uart_device1 = { + .id = 1, +}; + +static struct platform_device s5p_uart_device2 = { + .id = 2, +}; + +static struct platform_device s5p_uart_device3 = { + .id = 3, +}; + +struct platform_device *s3c24xx_uart_src[4] = { + &s5p_uart_device0, + &s5p_uart_device1, + &s5p_uart_device2, + &s5p_uart_device3, +}; + +struct platform_device *s3c24xx_uart_devs[4] = { +}; diff --git a/trunk/arch/arm/plat-s5pc1xx/clock.c b/trunk/arch/arm/plat-s5pc1xx/clock.c index 387f23190c3c..aec0305174aa 100644 --- a/trunk/arch/arm/plat-s5pc1xx/clock.c +++ b/trunk/arch/arm/plat-s5pc1xx/clock.c @@ -64,12 +64,18 @@ struct clk clk_54m = { .rate = 54000000, }; +static int clk_dummy_enable(struct clk *clk, int enable) +{ + return 0; +} + struct clk clk_hd0 = { .name = "hclkd0", .id = -1, .rate = 0, .parent = NULL, .ctrlbit = 0, + .enable = clk_dummy_enable, .ops = &clk_ops_def_setrate, }; @@ -80,6 +86,7 @@ struct clk clk_pd0 = { .parent = NULL, .ctrlbit = 0, .ops = &clk_ops_def_setrate, + .enable = clk_dummy_enable, }; static int s5pc1xx_clk_gate(void __iomem *reg, struct clk *clk, int enable) @@ -673,8 +680,6 @@ static struct clk s5pc100_init_clocks[] = { static struct clk *clks[] __initdata = { &clk_ext, &clk_epll, - &clk_pd0, - &clk_hd0, &clk_27m, &clk_48m, &clk_54m, diff --git a/trunk/arch/arm/plat-s5pc1xx/dev-uart.c b/trunk/arch/arm/plat-s5pc1xx/dev-uart.c index 586c95c60bfe..f749bc5407b5 100644 --- a/trunk/arch/arm/plat-s5pc1xx/dev-uart.c +++ b/trunk/arch/arm/plat-s5pc1xx/dev-uart.c @@ -143,3 +143,32 @@ struct s3c24xx_uart_resources s5pc1xx_uart_resources[] __initdata = { .nr_resources = ARRAY_SIZE(s5pc1xx_uart3_resource), }, }; + +/* uart devices */ + +static struct platform_device s3c24xx_uart_device0 = { + .id = 0, +}; + +static struct platform_device s3c24xx_uart_device1 = { + .id = 1, +}; + +static struct platform_device s3c24xx_uart_device2 = { + .id = 2, +}; + +static struct platform_device s3c24xx_uart_device3 = { + .id = 3, +}; + +struct platform_device *s3c24xx_uart_src[4] = { + &s3c24xx_uart_device0, + &s3c24xx_uart_device1, + &s3c24xx_uart_device2, + &s3c24xx_uart_device3, +}; + +struct platform_device *s3c24xx_uart_devs[4] = { +}; + diff --git a/trunk/arch/arm/plat-samsung/Makefile b/trunk/arch/arm/plat-samsung/Makefile index ceac416d80b8..ee310384b90f 100644 --- a/trunk/arch/arm/plat-samsung/Makefile +++ b/trunk/arch/arm/plat-samsung/Makefile @@ -32,7 +32,6 @@ obj-$(CONFIG_S3C_DEV_HSMMC2) += dev-hsmmc2.o obj-y += dev-i2c0.o obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o -obj-y += dev-uart.o obj-$(CONFIG_S3C_DEV_USB_HOST) += dev-usb.o obj-$(CONFIG_S3C_DEV_USB_HSOTG) += dev-usb-hsotg.o obj-$(CONFIG_S3C_DEV_NAND) += dev-nand.o diff --git a/trunk/arch/arm/plat-samsung/clock-clksrc.c b/trunk/arch/arm/plat-samsung/clock-clksrc.c index ae8b8507663f..33c633a8be8d 100644 --- a/trunk/arch/arm/plat-samsung/clock-clksrc.c +++ b/trunk/arch/arm/plat-samsung/clock-clksrc.c @@ -60,7 +60,7 @@ static int s3c_setrate_clksrc(struct clk *clk, unsigned long rate) rate = clk_round_rate(clk, rate); div = clk_get_rate(clk->parent) / rate; - if (div > (1 << sclk->reg_div.size)) + if (div > 16) return -EINVAL; val = __raw_readl(reg); @@ -102,9 +102,7 @@ static int s3c_setparent_clksrc(struct clk *clk, struct clk *parent) static unsigned long s3c_roundrate_clksrc(struct clk *clk, unsigned long rate) { - struct clksrc_clk *sclk = to_clksrc(clk); unsigned long parent_rate = clk_get_rate(clk->parent); - int max_div = 1 << sclk->reg_div.size; int div; if (rate >= parent_rate) @@ -116,8 +114,8 @@ static unsigned long s3c_roundrate_clksrc(struct clk *clk, if (div == 0) div = 1; - if (div > max_div) - div = max_div; + if (div > 16) + div = 16; rate = parent_rate / div; } @@ -131,16 +129,11 @@ void __init_or_cpufreq s3c_set_clksrc(struct clksrc_clk *clk, bool announce) { struct clksrc_sources *srcs = clk->sources; u32 mask = bit_mask(clk->reg_src.shift, clk->reg_src.size); - u32 clksrc; + u32 clksrc = 0; - if (!clk->reg_src.reg) { - if (!clk->clk.parent) - printk(KERN_ERR "%s: no parent clock specified\n", - clk->clk.name); - return; - } + if (clk->reg_src.reg) + clksrc = __raw_readl(clk->reg_src.reg); - clksrc = __raw_readl(clk->reg_src.reg); clksrc &= mask; clksrc >>= clk->reg_src.shift; @@ -179,11 +172,9 @@ void __init s3c_register_clksrc(struct clksrc_clk *clksrc, int size) { int ret; - for (; size > 0; size--, clksrc++) { - if (!clksrc->reg_div.reg && !clksrc->reg_src.reg) - printk(KERN_ERR "%s: clock %s has no registers set\n", - __func__, clksrc->clk.name); + WARN_ON(!clksrc->reg_div.reg && !clksrc->reg_src.reg); + for (; size > 0; size--, clksrc++) { /* fill in the default functions */ if (!clksrc->clk.ops) { diff --git a/trunk/arch/arm/plat-samsung/dev-uart.c b/trunk/arch/arm/plat-samsung/dev-uart.c deleted file mode 100644 index 3776cd952450..000000000000 --- a/trunk/arch/arm/plat-samsung/dev-uart.c +++ /dev/null @@ -1,44 +0,0 @@ -/* linux/arch/arm/plat-samsung/dev-uart.c - * originally from arch/arm/plat-s3c24xx/devs.c - *x - * Copyright (c) 2004 Simtec Electronics - * Ben Dooks - * - * Base S3C24XX platform device definitions - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * -*/ - -#include -#include - -/* uart devices */ - -static struct platform_device s3c24xx_uart_device0 = { - .id = 0, -}; - -static struct platform_device s3c24xx_uart_device1 = { - .id = 1, -}; - -static struct platform_device s3c24xx_uart_device2 = { - .id = 2, -}; - -static struct platform_device s3c24xx_uart_device3 = { - .id = 3, -}; - -struct platform_device *s3c24xx_uart_src[4] = { - &s3c24xx_uart_device0, - &s3c24xx_uart_device1, - &s3c24xx_uart_device2, - &s3c24xx_uart_device3, -}; - -struct platform_device *s3c24xx_uart_devs[4] = { -}; diff --git a/trunk/arch/arm/plat-samsung/dev-usb.c b/trunk/arch/arm/plat-samsung/dev-usb.c index 88165657fa53..2ee85abed6d9 100644 --- a/trunk/arch/arm/plat-samsung/dev-usb.c +++ b/trunk/arch/arm/plat-samsung/dev-usb.c @@ -19,7 +19,7 @@ #include #include -#include + static struct resource s3c_usb_resource[] = { [0] = { @@ -36,7 +36,7 @@ static struct resource s3c_usb_resource[] = { static u64 s3c_device_usb_dmamask = 0xffffffffUL; -struct platform_device s3c_device_ohci = { +struct platform_device s3c_device_usb = { .name = "s3c2410-ohci", .id = -1, .num_resources = ARRAY_SIZE(s3c_usb_resource), @@ -47,23 +47,4 @@ struct platform_device s3c_device_ohci = { } }; -EXPORT_SYMBOL(s3c_device_ohci); - -/** - * s3c_ohci_set_platdata - initialise OHCI device platform data - * @info: The platform data. - * - * This call copies the @info passed in and sets the device .platform_data - * field to that copy. The @info is copied so that the original can be marked - * __initdata. - */ -void __init s3c_ohci_set_platdata(struct s3c2410_hcd_info *info) -{ - struct s3c2410_hcd_info *npd; - - npd = kmemdup(info, sizeof(struct s3c2410_hcd_info), GFP_KERNEL); - if (!npd) - printk(KERN_ERR "%s: no memory for platform data\n", __func__); - - s3c_device_ohci.dev.platform_data = npd; -} +EXPORT_SYMBOL(s3c_device_usb);