触摸屏驱动的称号:
dev/mounse0
# cat /proc/devices
Character devices:
……
10 misc
13 input
29 fb
90 mtd
……
检查触摸屏:
cat /proc/interrupts
……
53:
60:
70:
71:
79:
80:
详细的移植进程:
1:安放驱动文件
把s3c2410_ts.c放到drivers/input/touchscreen下。
把ts.h放到include/asm-arm/arch-s3c2410
2:修正drivers/input/touchscreen/Kconfig
增加下列信息
config TOUCHSCREEN_S3C2410
tristate “Samsung S3C2410 touchscreen input driver”
depends on ARCH_S3C2410 && INPUT && INPUT_TOUCHSCREEN
select SERIO
help
config TOUCHSCREEN_S3C2410_DEBUG
boolean “Samsung S3C2410 touchscreen debug messages”
depends on TOUCHSCREEN_S3C2410
help
3:修正drivers/input/touchscreen/Makefile
增加下列信息
obj-$(CONFIG_TOUCHSCREEN_S3C2410)
+= s3c2410_ts.o
4:把s3c2410_ts.c里的
#include
#include
5:修正arch/arm/plat-s3c24xx/devs.c文件
增加头文件
#include
增加
struct platform_device s3c_device_ts = {
.name= “s3c2410-ts”,
.id= -1,};
EXPORT_SYMBOL(s3c_device_ts);
static struct s3c2410_ts_mach_info s3c2410ts_info;
void __init set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info)
{memcpy(&s3c2410ts_info,hard_s3c2410ts_info,sizeof(struct s3c2410_ts_mach_info));
s3c_device_ts.dev.platform_data = &s3c2410ts_info;}
EXPORT_SYMBOL(set_s3c2410ts_info);
6:修正include/asm-arm/plat-s3c24xx/devs.h
在include/asm-arm/plat-s3c24xx/devs.h下增加:
extern struct platform_device s3c_device_ts;
增加头文件
#include
增加
static struct s3c2410_ts_mach_info s3c2410_ts_cfg __initdata = {
.delay = 10000,
.presc = 49,
.oversampling_shift = 2,
};
在static struct platform_device *smdk2410_devices[] __initdata结构体中增加
&s3c_device_ts,
在static void __init smdk2410_init(void)函数中增加
set_s3c2410ts_info(&s3c2410_ts_cfg);
这样就OK了,然后记住装备内核.make zImage