提交 c3e71c6d 编写于 作者: B Ben Dooks

ARM: Merge next-samsung-devupdates1

Merge branch 'next-samsung-devupdates1' into next-samsung-try5
...@@ -153,7 +153,7 @@ static struct platform_device *amlm5900_devices[] __initdata = { ...@@ -153,7 +153,7 @@ static struct platform_device *amlm5900_devices[] __initdata = {
&s3c_device_adc, &s3c_device_adc,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_i2c0, &s3c_device_i2c0,
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_rtc, &s3c_device_rtc,
&s3c_device_usbgadget, &s3c_device_usbgadget,
&s3c_device_sdi, &s3c_device_sdi,
......
...@@ -584,7 +584,7 @@ static struct s3c_hwmon_pdata bast_hwmon_info = { ...@@ -584,7 +584,7 @@ static struct s3c_hwmon_pdata bast_hwmon_info = {
// cat /sys/devices/platform/s3c24xx-adc/s3c-hwmon/in_0 // cat /sys/devices/platform/s3c24xx-adc/s3c-hwmon/in_0
static struct platform_device *bast_devices[] __initdata = { static struct platform_device *bast_devices[] __initdata = {
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_lcd, &s3c_device_lcd,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_i2c0, &s3c_device_i2c0,
......
...@@ -196,7 +196,7 @@ static struct platform_device h1940_device_bluetooth = { ...@@ -196,7 +196,7 @@ static struct platform_device h1940_device_bluetooth = {
.id = -1, .id = -1,
}; };
static struct s3c24xx_mci_pdata h1940_mmc_cfg = { static struct s3c24xx_mci_pdata h1940_mmc_cfg __initdata = {
.gpio_detect = S3C2410_GPF(5), .gpio_detect = S3C2410_GPF(5),
.gpio_wprotect = S3C2410_GPH(8), .gpio_wprotect = S3C2410_GPH(8),
.set_power = NULL, .set_power = NULL,
...@@ -272,7 +272,7 @@ static struct platform_device h1940_lcd_powerdev = { ...@@ -272,7 +272,7 @@ static struct platform_device h1940_lcd_powerdev = {
static struct platform_device *h1940_devices[] __initdata = { static struct platform_device *h1940_devices[] __initdata = {
&s3c_device_ts, &s3c_device_ts,
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_lcd, &s3c_device_lcd,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_i2c0, &s3c_device_i2c0,
...@@ -311,12 +311,11 @@ static void __init h1940_init(void) ...@@ -311,12 +311,11 @@ static void __init h1940_init(void)
u32 tmp; u32 tmp;
s3c24xx_fb_set_platdata(&h1940_fb_info); s3c24xx_fb_set_platdata(&h1940_fb_info);
s3c24xx_mci_set_platdata(&h1940_mmc_cfg);
s3c24xx_udc_set_platdata(&h1940_udc_cfg); s3c24xx_udc_set_platdata(&h1940_udc_cfg);
s3c24xx_ts_set_platdata(&h1940_ts_cfg); s3c24xx_ts_set_platdata(&h1940_ts_cfg);
s3c_i2c0_set_platdata(NULL); s3c_i2c0_set_platdata(NULL);
s3c_device_sdi.dev.platform_data = &h1940_mmc_cfg;
/* Turn off suspend on both USB ports, and switch the /* Turn off suspend on both USB ports, and switch the
* selectable USB port to USB device mode. */ * selectable USB port to USB device mode. */
......
...@@ -322,7 +322,7 @@ static struct platform_device *n30_devices[] __initdata = { ...@@ -322,7 +322,7 @@ static struct platform_device *n30_devices[] __initdata = {
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_i2c0, &s3c_device_i2c0,
&s3c_device_iis, &s3c_device_iis,
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_usbgadget, &s3c_device_usbgadget,
&n30_button_device, &n30_button_device,
&n30_blue_led, &n30_blue_led,
......
...@@ -92,7 +92,7 @@ static struct platform_device otom_device_nor = { ...@@ -92,7 +92,7 @@ static struct platform_device otom_device_nor = {
/* Standard OTOM devices */ /* Standard OTOM devices */
static struct platform_device *otom11_devices[] __initdata = { static struct platform_device *otom11_devices[] __initdata = {
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_lcd, &s3c_device_lcd,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_i2c0, &s3c_device_i2c0,
......
...@@ -246,7 +246,7 @@ static struct platform_device qt2410_spi = { ...@@ -246,7 +246,7 @@ static struct platform_device qt2410_spi = {
/* Board devices */ /* Board devices */
static struct platform_device *qt2410_devices[] __initdata = { static struct platform_device *qt2410_devices[] __initdata = {
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_lcd, &s3c_device_lcd,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_i2c0, &s3c_device_i2c0,
......
...@@ -87,7 +87,7 @@ static struct s3c2410_uartcfg smdk2410_uartcfgs[] __initdata = { ...@@ -87,7 +87,7 @@ static struct s3c2410_uartcfg smdk2410_uartcfgs[] __initdata = {
}; };
static struct platform_device *smdk2410_devices[] __initdata = { static struct platform_device *smdk2410_devices[] __initdata = {
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_lcd, &s3c_device_lcd,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_i2c0, &s3c_device_i2c0,
......
...@@ -129,7 +129,7 @@ static struct platform_device *tct_hammer_devices[] __initdata = { ...@@ -129,7 +129,7 @@ static struct platform_device *tct_hammer_devices[] __initdata = {
&s3c_device_adc, &s3c_device_adc,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_i2c0, &s3c_device_i2c0,
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_rtc, &s3c_device_rtc,
&s3c_device_usbgadget, &s3c_device_usbgadget,
&s3c_device_sdi, &s3c_device_sdi,
......
...@@ -334,7 +334,7 @@ static struct i2c_board_info vr1000_i2c_devs[] __initdata = { ...@@ -334,7 +334,7 @@ static struct i2c_board_info vr1000_i2c_devs[] __initdata = {
/* devices for this board */ /* devices for this board */
static struct platform_device *vr1000_devices[] __initdata = { static struct platform_device *vr1000_devices[] __initdata = {
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_lcd, &s3c_device_lcd,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_i2c0, &s3c_device_i2c0,
......
...@@ -91,7 +91,7 @@ static void usb_simtec_enableoc(struct s3c2410_hcd_info *info, int on) ...@@ -91,7 +91,7 @@ static void usb_simtec_enableoc(struct s3c2410_hcd_info *info, int on)
} }
} }
static struct s3c2410_hcd_info usb_simtec_info = { static struct s3c2410_hcd_info usb_simtec_info __initdata = {
.port[0] = { .port[0] = {
.flags = S3C_HCDFLG_USED .flags = S3C_HCDFLG_USED
}, },
...@@ -127,6 +127,6 @@ int usb_simtec_init(void) ...@@ -127,6 +127,6 @@ int usb_simtec_init(void)
gpio_direction_output(S3C2410_GPB(4), 1); gpio_direction_output(S3C2410_GPB(4), 1);
gpio_direction_input(S3C2410_GPG(10)); gpio_direction_input(S3C2410_GPG(10));
s3c_device_usb.dev.platform_data = &usb_simtec_info; s3c_ohci_set_platdata(&usb_simtec_info);
return 0; return 0;
} }
...@@ -468,7 +468,7 @@ static struct i2c_board_info jive_i2c_devs[] __initdata = { ...@@ -468,7 +468,7 @@ static struct i2c_board_info jive_i2c_devs[] __initdata = {
/* The platform devices being used. */ /* The platform devices being used. */
static struct platform_device *jive_devices[] __initdata = { static struct platform_device *jive_devices[] __initdata = {
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_rtc, &s3c_device_rtc,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_i2c0, &s3c_device_i2c0,
......
...@@ -104,8 +104,7 @@ static struct s3c2410_udc_mach_info smdk2413_udc_cfg __initdata = { ...@@ -104,8 +104,7 @@ static struct s3c2410_udc_mach_info smdk2413_udc_cfg __initdata = {
static struct platform_device *smdk2413_devices[] __initdata = { static struct platform_device *smdk2413_devices[] __initdata = {
&s3c_device_usb, &s3c_device_ohci,
//&s3c_device_lcd,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_i2c0, &s3c_device_i2c0,
&s3c_device_iis, &s3c_device_iis,
......
...@@ -121,7 +121,7 @@ static struct s3c2410_platform_nand __initdata vstms_nand_info = { ...@@ -121,7 +121,7 @@ static struct s3c2410_platform_nand __initdata vstms_nand_info = {
}; };
static struct platform_device *vstms_devices[] __initdata = { static struct platform_device *vstms_devices[] __initdata = {
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_i2c0, &s3c_device_i2c0,
&s3c_device_iis, &s3c_device_iis,
......
...@@ -409,7 +409,7 @@ static struct platform_device anubis_device_sm501 = { ...@@ -409,7 +409,7 @@ static struct platform_device anubis_device_sm501 = {
/* Standard Anubis devices */ /* Standard Anubis devices */
static struct platform_device *anubis_devices[] __initdata = { static struct platform_device *anubis_devices[] __initdata = {
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_adc, &s3c_device_adc,
&s3c_device_i2c0, &s3c_device_i2c0,
......
...@@ -165,7 +165,7 @@ static struct platform_device at2440evb_device_eth = { ...@@ -165,7 +165,7 @@ static struct platform_device at2440evb_device_eth = {
}, },
}; };
static struct s3c24xx_mci_pdata at2440evb_mci_pdata = { static struct s3c24xx_mci_pdata at2440evb_mci_pdata __initdata = {
.gpio_detect = S3C2410_GPG(10), .gpio_detect = S3C2410_GPG(10),
}; };
...@@ -203,7 +203,7 @@ static struct s3c2410fb_mach_info at2440evb_fb_info __initdata = { ...@@ -203,7 +203,7 @@ static struct s3c2410fb_mach_info at2440evb_fb_info __initdata = {
}; };
static struct platform_device *at2440evb_devices[] __initdata = { static struct platform_device *at2440evb_devices[] __initdata = {
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_adc, &s3c_device_adc,
&s3c_device_i2c0, &s3c_device_i2c0,
...@@ -216,8 +216,6 @@ static struct platform_device *at2440evb_devices[] __initdata = { ...@@ -216,8 +216,6 @@ static struct platform_device *at2440evb_devices[] __initdata = {
static void __init at2440evb_map_io(void) 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_io(at2440evb_iodesc, ARRAY_SIZE(at2440evb_iodesc));
s3c24xx_init_clocks(16934400); s3c24xx_init_clocks(16934400);
s3c24xx_init_uarts(at2440evb_uartcfgs, ARRAY_SIZE(at2440evb_uartcfgs)); s3c24xx_init_uarts(at2440evb_uartcfgs, ARRAY_SIZE(at2440evb_uartcfgs));
...@@ -226,6 +224,7 @@ static void __init at2440evb_map_io(void) ...@@ -226,6 +224,7 @@ static void __init at2440evb_map_io(void)
static void __init at2440evb_init(void) static void __init at2440evb_init(void)
{ {
s3c24xx_fb_set_platdata(&at2440evb_fb_info); s3c24xx_fb_set_platdata(&at2440evb_fb_info);
s3c24xx_mci_set_platdata(&at2440evb_mci_pdata);
s3c_nand_set_platdata(&at2440evb_nand_info); s3c_nand_set_platdata(&at2440evb_nand_info);
s3c_i2c0_set_platdata(NULL); s3c_i2c0_set_platdata(NULL);
......
...@@ -506,9 +506,8 @@ static struct i2c_board_info mini2440_i2c_devs[] __initdata = { ...@@ -506,9 +506,8 @@ static struct i2c_board_info mini2440_i2c_devs[] __initdata = {
}; };
static struct platform_device *mini2440_devices[] __initdata = { static struct platform_device *mini2440_devices[] __initdata = {
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_wdt, &s3c_device_wdt,
/* &s3c_device_adc,*/ /* ADC doesn't like living with touchscreen ! */
&s3c_device_i2c0, &s3c_device_i2c0,
&s3c_device_rtc, &s3c_device_rtc,
&s3c_device_usbgadget, &s3c_device_usbgadget,
...@@ -522,8 +521,6 @@ static struct platform_device *mini2440_devices[] __initdata = { ...@@ -522,8 +521,6 @@ static struct platform_device *mini2440_devices[] __initdata = {
&s3c_device_sdi, &s3c_device_sdi,
&s3c_device_iis, &s3c_device_iis,
&mini2440_audio, &mini2440_audio,
/* &s3c_device_timer[0],*/ /* buzzer pwm, no API for it */
/* remaining devices are optional */
}; };
static void __init mini2440_map_io(void) static void __init mini2440_map_io(void)
...@@ -531,8 +528,6 @@ static void __init mini2440_map_io(void) ...@@ -531,8 +528,6 @@ static void __init mini2440_map_io(void)
s3c24xx_init_io(mini2440_iodesc, ARRAY_SIZE(mini2440_iodesc)); s3c24xx_init_io(mini2440_iodesc, ARRAY_SIZE(mini2440_iodesc));
s3c24xx_init_clocks(12000000); s3c24xx_init_clocks(12000000);
s3c24xx_init_uarts(mini2440_uartcfgs, ARRAY_SIZE(mini2440_uartcfgs)); s3c24xx_init_uarts(mini2440_uartcfgs, ARRAY_SIZE(mini2440_uartcfgs));
s3c_device_sdi.dev.platform_data = &mini2440_mmc_cfg;
} }
/* /*
...@@ -678,6 +673,7 @@ static void __init mini2440_init(void) ...@@ -678,6 +673,7 @@ static void __init mini2440_init(void)
} }
s3c24xx_udc_set_platdata(&mini2440_udc_cfg); s3c24xx_udc_set_platdata(&mini2440_udc_cfg);
s3c24xx_mci_set_platdata(&mini2440_mmc_cfg);
s3c_nand_set_platdata(&mini2440_nand_info); s3c_nand_set_platdata(&mini2440_nand_info);
s3c_i2c0_set_platdata(NULL); s3c_i2c0_set_platdata(NULL);
......
...@@ -106,7 +106,7 @@ static struct platform_device nexcoder_device_nor = { ...@@ -106,7 +106,7 @@ static struct platform_device nexcoder_device_nor = {
/* Standard Nexcoder devices */ /* Standard Nexcoder devices */
static struct platform_device *nexcoder_devices[] __initdata = { static struct platform_device *nexcoder_devices[] __initdata = {
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_lcd, &s3c_device_lcd,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_i2c0, &s3c_device_i2c0,
......
...@@ -176,7 +176,7 @@ static struct s3c2410_platform_nand __initdata rx3715_nand_info = { ...@@ -176,7 +176,7 @@ static struct s3c2410_platform_nand __initdata rx3715_nand_info = {
}; };
static struct platform_device *rx3715_devices[] __initdata = { static struct platform_device *rx3715_devices[] __initdata = {
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_lcd, &s3c_device_lcd,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_i2c0, &s3c_device_i2c0,
......
...@@ -150,7 +150,7 @@ static struct s3c2410fb_mach_info smdk2440_fb_info __initdata = { ...@@ -150,7 +150,7 @@ static struct s3c2410fb_mach_info smdk2440_fb_info __initdata = {
}; };
static struct platform_device *smdk2440_devices[] __initdata = { static struct platform_device *smdk2440_devices[] __initdata = {
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_lcd, &s3c_device_lcd,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_i2c0, &s3c_device_i2c0,
......
...@@ -544,7 +544,7 @@ static struct platform_device gta02_bl_dev = { ...@@ -544,7 +544,7 @@ static struct platform_device gta02_bl_dev = {
/* USB */ /* USB */
static struct s3c2410_hcd_info gta02_usb_info = { static struct s3c2410_hcd_info gta02_usb_info __initdata = {
.port[0] = { .port[0] = {
.flags = S3C_HCDFLG_USED, .flags = S3C_HCDFLG_USED,
}, },
...@@ -565,7 +565,7 @@ static void __init gta02_map_io(void) ...@@ -565,7 +565,7 @@ static void __init gta02_map_io(void)
/* These are the guys that don't need to be children of PMU. */ /* These are the guys that don't need to be children of PMU. */
static struct platform_device *gta02_devices[] __initdata = { static struct platform_device *gta02_devices[] __initdata = {
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_sdi, &s3c_device_sdi,
&s3c_device_usbgadget, &s3c_device_usbgadget,
...@@ -623,9 +623,8 @@ static void __init gta02_machine_init(void) ...@@ -623,9 +623,8 @@ static void __init gta02_machine_init(void)
INIT_DELAYED_WORK(&gta02_charger_work, gta02_charger_worker); INIT_DELAYED_WORK(&gta02_charger_work, gta02_charger_worker);
#endif #endif
s3c_device_usb.dev.platform_data = &gta02_usb_info;
s3c24xx_udc_set_platdata(&gta02_udc_cfg); s3c24xx_udc_set_platdata(&gta02_udc_cfg);
s3c_ohci_set_platdata(&gta02_usb_info);
s3c_nand_set_platdata(&gta02_nand_info); s3c_nand_set_platdata(&gta02_nand_info);
s3c_i2c0_set_platdata(NULL); s3c_i2c0_set_platdata(NULL);
......
...@@ -233,7 +233,7 @@ static struct platform_device *hmt_devices[] __initdata = { ...@@ -233,7 +233,7 @@ static struct platform_device *hmt_devices[] __initdata = {
&s3c_device_i2c0, &s3c_device_i2c0,
&s3c_device_nand, &s3c_device_nand,
&s3c_device_fb, &s3c_device_fb,
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_timer[1], &s3c_device_timer[1],
&hmt_backlight_device, &hmt_backlight_device,
&hmt_leds_device, &hmt_leds_device,
......
...@@ -246,7 +246,7 @@ static struct platform_device *smdk6410_devices[] __initdata = { ...@@ -246,7 +246,7 @@ static struct platform_device *smdk6410_devices[] __initdata = {
&s3c_device_i2c0, &s3c_device_i2c0,
&s3c_device_i2c1, &s3c_device_i2c1,
&s3c_device_fb, &s3c_device_fb,
&s3c_device_usb, &s3c_device_ohci,
&s3c_device_usb_hsotg, &s3c_device_usb_hsotg,
#ifdef CONFIG_REGULATOR #ifdef CONFIG_REGULATOR
......
...@@ -37,7 +37,7 @@ extern struct platform_device s3c64xx_device_pcm1; ...@@ -37,7 +37,7 @@ extern struct platform_device s3c64xx_device_pcm1;
extern struct platform_device s3c_device_ts; extern struct platform_device s3c_device_ts;
extern struct platform_device s3c_device_fb; extern struct platform_device s3c_device_fb;
extern struct platform_device s3c_device_usb; extern struct platform_device s3c_device_ohci;
extern struct platform_device s3c_device_lcd; extern struct platform_device s3c_device_lcd;
extern struct platform_device s3c_device_wdt; extern struct platform_device s3c_device_wdt;
extern struct platform_device s3c_device_i2c0; extern struct platform_device s3c_device_i2c0;
......
...@@ -38,4 +38,6 @@ static void inline s3c2410_usb_report_oc(struct s3c2410_hcd_info *info, int port ...@@ -38,4 +38,6 @@ 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 */ #endif /*__ASM_ARCH_USBCONTROL_H */
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <plat/regs-serial.h> #include <plat/regs-serial.h>
#include <plat/udc.h> #include <plat/udc.h>
#include <plat/mci.h>
#include <plat/devs.h> #include <plat/devs.h>
#include <plat/cpu.h> #include <plat/cpu.h>
...@@ -112,34 +113,6 @@ struct s3c24xx_uart_resources s3c2410_uart_resources[] __initdata = { ...@@ -112,34 +113,6 @@ 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 */ /* LCD Controller */
static struct resource s3c_lcd_resource[] = { static struct resource s3c_lcd_resource[] = {
...@@ -379,6 +352,18 @@ struct platform_device s3c_device_sdi = { ...@@ -379,6 +352,18 @@ struct platform_device s3c_device_sdi = {
EXPORT_SYMBOL(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) */ /* SPI (0) */
static struct resource s3c_spi0_resource[] = { static struct resource s3c_spi0_resource[] = {
......
...@@ -40,4 +40,13 @@ struct s3c24xx_mci_pdata { ...@@ -40,4 +40,13 @@ struct s3c24xx_mci_pdata {
unsigned short vdd); 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 */ #endif /* _ARCH_NCI_H */
...@@ -145,32 +145,3 @@ struct s3c24xx_uart_resources s3c64xx_uart_resources[] __initdata = { ...@@ -145,32 +145,3 @@ struct s3c24xx_uart_resources s3c64xx_uart_resources[] __initdata = {
.nr_resources = ARRAY_SIZE(s3c64xx_uart3_resource), .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] = {
};
...@@ -135,31 +135,3 @@ struct s3c24xx_uart_resources s5p_uart_resources[] __initdata = { ...@@ -135,31 +135,3 @@ struct s3c24xx_uart_resources s5p_uart_resources[] __initdata = {
.nr_resources = ARRAY_SIZE(s5p_uart3_resource), .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] = {
};
...@@ -143,32 +143,3 @@ struct s3c24xx_uart_resources s5pc1xx_uart_resources[] __initdata = { ...@@ -143,32 +143,3 @@ struct s3c24xx_uart_resources s5pc1xx_uart_resources[] __initdata = {
.nr_resources = ARRAY_SIZE(s5pc1xx_uart3_resource), .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] = {
};
...@@ -32,6 +32,7 @@ obj-$(CONFIG_S3C_DEV_HSMMC2) += dev-hsmmc2.o ...@@ -32,6 +32,7 @@ obj-$(CONFIG_S3C_DEV_HSMMC2) += dev-hsmmc2.o
obj-y += dev-i2c0.o obj-y += dev-i2c0.o
obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o
obj-$(CONFIG_S3C_DEV_FB) += dev-fb.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_HOST) += dev-usb.o
obj-$(CONFIG_S3C_DEV_USB_HSOTG) += dev-usb-hsotg.o obj-$(CONFIG_S3C_DEV_USB_HSOTG) += dev-usb-hsotg.o
obj-$(CONFIG_S3C_DEV_NAND) += dev-nand.o obj-$(CONFIG_S3C_DEV_NAND) += dev-nand.o
/* linux/arch/arm/plat-samsung/dev-uart.c
* originally from arch/arm/plat-s3c24xx/devs.c
*x
* Copyright (c) 2004 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk>
*
* 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 <linux/kernel.h>
#include <linux/platform_device.h>
/* 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] = {
};
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
#include <mach/map.h> #include <mach/map.h>
#include <plat/devs.h> #include <plat/devs.h>
#include <plat/usb-control.h>
static struct resource s3c_usb_resource[] = { static struct resource s3c_usb_resource[] = {
[0] = { [0] = {
...@@ -36,7 +36,7 @@ static struct resource s3c_usb_resource[] = { ...@@ -36,7 +36,7 @@ static struct resource s3c_usb_resource[] = {
static u64 s3c_device_usb_dmamask = 0xffffffffUL; static u64 s3c_device_usb_dmamask = 0xffffffffUL;
struct platform_device s3c_device_usb = { struct platform_device s3c_device_ohci = {
.name = "s3c2410-ohci", .name = "s3c2410-ohci",
.id = -1, .id = -1,
.num_resources = ARRAY_SIZE(s3c_usb_resource), .num_resources = ARRAY_SIZE(s3c_usb_resource),
...@@ -47,4 +47,23 @@ struct platform_device s3c_device_usb = { ...@@ -47,4 +47,23 @@ struct platform_device s3c_device_usb = {
} }
}; };
EXPORT_SYMBOL(s3c_device_usb); 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;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册