diff options
Diffstat (limited to 'arch/arm/plat-s3c24xx/devs.c')
| -rw-r--r-- | arch/arm/plat-s3c24xx/devs.c | 60 | 
1 files changed, 32 insertions, 28 deletions
diff --git a/arch/arm/plat-s3c24xx/devs.c b/arch/arm/plat-s3c24xx/devs.c index 7f686a31e67..9265f09bfa5 100644 --- a/arch/arm/plat-s3c24xx/devs.c +++ b/arch/arm/plat-s3c24xx/devs.c @@ -20,6 +20,7 @@  #include <linux/serial_core.h>  #include <linux/platform_device.h>  #include <linux/io.h> +#include <linux/slab.h>  #include <asm/mach/arch.h>  #include <asm/mach/map.h> @@ -32,6 +33,7 @@  #include <plat/regs-serial.h>  #include <plat/udc.h> +#include <plat/mci.h>  #include <plat/devs.h>  #include <plat/cpu.h> @@ -112,34 +114,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 */  static struct resource s3c_lcd_resource[] = { @@ -185,9 +159,27 @@ void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *pd)  }  /* Touchscreen */ + +static struct resource s3c_ts_resource[] = { +	[0] = { +		.start = S3C24XX_PA_ADC, +		.end   = S3C24XX_PA_ADC + S3C24XX_SZ_ADC - 1, +		.flags = IORESOURCE_MEM, +	}, +	[1] = { +		.start = IRQ_TC, +		.end   = IRQ_TC, +		.flags = IORESOURCE_IRQ, +	}, + +}; +  struct platform_device s3c_device_ts = {  	.name		  = "s3c2410-ts",  	.id		  = -1, +	.dev.parent	= &s3c_device_adc.dev, +	.num_resources	  = ARRAY_SIZE(s3c_ts_resource), +	.resource	  = s3c_ts_resource,  };  EXPORT_SYMBOL(s3c_device_ts); @@ -379,6 +371,18 @@ 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[] = {  |