ARM: S3C24XX: touchscreen device definition

Add definition for the touchscreen driver platform data and initial
support for the H1940 machine.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>

authored by Arnaud Patard and committed by Ben Dooks b9bf770e c9f937e4

+41
+21
arch/arm/mach-s3c2410/include/mach/ts.h
··· 1 + /* linux/include/asm/arch-s3c2410/ts.h 2 + * 3 + * Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org> 4 + * 5 + * This program is free software; you can redistribute it and/or modify 6 + * it under the terms of the GNU General Public License version 2 as 7 + * published by the Free Software Foundation. 8 + */ 9 + 10 + #ifndef __ASM_ARM_TS_H 11 + #define __ASM_ARM_TS_H 12 + 13 + struct s3c2410_ts_mach_info { 14 + int delay; 15 + int presc; 16 + int oversampling_shift; 17 + }; 18 + 19 + extern void s3c24xx_ts_set_platdata(struct s3c2410_ts_mach_info *); 20 + 21 + #endif /* __ASM_ARM_TS_H */
+1
arch/arm/plat-s3c/include/plat/devs.h
··· 31 31 extern struct platform_device s3c64xx_device_pcm0; 32 32 extern struct platform_device s3c64xx_device_pcm1; 33 33 34 + extern struct platform_device s3c_device_ts; 34 35 extern struct platform_device s3c_device_fb; 35 36 extern struct platform_device s3c_device_usb; 36 37 extern struct platform_device s3c_device_lcd;
+18
arch/arm/plat-s3c24xx/devs.c
··· 37 37 #include <plat/cpu.h> 38 38 #include <plat/regs-spi.h> 39 39 40 + #include <mach/ts.h> 41 + 40 42 /* Serial port registrations */ 41 43 42 44 static struct resource s3c2410_uart0_resource[] = { ··· 183 181 printk(KERN_ERR "no memory for LCD platform data\n"); 184 182 } 185 183 } 184 + 185 + /* Touchscreen */ 186 + struct platform_device s3c_device_ts = { 187 + .name = "s3c2410-ts", 188 + .id = -1, 189 + }; 190 + EXPORT_SYMBOL(s3c_device_ts); 191 + 192 + static struct s3c2410_ts_mach_info s3c2410ts_info; 193 + 194 + void __init s3c24xx_ts_set_platdata(struct s3c2410_ts_mach_info *hard_s3c2410ts_info) 195 + { 196 + memcpy(&s3c2410ts_info, hard_s3c2410ts_info, sizeof(struct s3c2410_ts_mach_info)); 197 + s3c_device_ts.dev.platform_data = &s3c2410ts_info; 198 + } 199 + EXPORT_SYMBOL(s3c24xx_ts_set_platdata); 186 200 187 201 /* USB Device (Gadget)*/ 188 202
+1
arch/arm/plat-s3c24xx/s3c244x.c
··· 70 70 s3c_device_sdi.name = "s3c2440-sdi"; 71 71 s3c_device_i2c0.name = "s3c2440-i2c"; 72 72 s3c_device_nand.name = "s3c2440-nand"; 73 + s3c_device_ts.name = "s3c2440-ts"; 73 74 s3c_device_usbgadget.name = "s3c2440-usbgadget"; 74 75 } 75 76