¡¾ÇóÖú¡¿¹ØÓÚ2.6´¥ÃþÆÁÇý¶¯µÄÎÊÌâ(¼±~!!)
ÎÒ×î½üÔÚ¸ø2.6.13ÄÚºË×öÉ豸Çý¶¯,ÏÖÔÚдµ½"´¥ÃþÆÁ",ÎҲο¼µÄ·½·¨ÈçÏÂ:(´ó¼ÒÏÈä¯ÀÀһϰ¡,ºÇºÇ)
ÔÚlinux2.6.14ÖÐûÓÐÌṩs3c2410µÄÇý¶¯£¬ËùÒÔÎÒÃÇҪн¨Çý¶¯Îļþ£¬ÎÒÃÇÔÚlinux2.6.14/drivers/input/touchscreenĿ¼Ï½¨Á¢ÐµÄÎļþhfrk_s3c2410_ts.cÎļþ£¬Çý¶¯ÎļþÎÒÃÇ¿ÉÒԲο¼ÀàËÆµÄ´¥ÃþÆÁÇý¶¯£¬¾ßÌåµÄÄÚÈݲο´ÍøÕ¾»òÕß¹âÅÌÌṩµÄÔ´´úÂë¡£
Ê×ÏÈ£ºÎÒÃÇÐèÒªÐÞ¸Älinux2.6.14/drivers/input/touchscreenĿ¼ÏµÄmakefileÎļþ£¬ÔÚÎļþµÄ×îºóÌí¼Ó£º
obj-$(CONFIG_TOUCHSCREEN_S3C2410) += hfrk_s3c2410_ts.o
µÚ¶þ£ºÎÒÃÇÐèÒªÐÞ¸Älinux2.6.14/drivers/input/touchscreen/KconfigÖÐÌí¼Ó£º
config TOUCHSCREEN_S
tristate "Samsung S3C2410 touchscreen input driver"
depends on ARCH_SMDK2410 && INPUT && INPUT_TOUCHSCREEN
select SERIO
help
Say Y here if you have the s3c2410 touchscreen.
If unsure, say N.
To compile this driver as a module, choose M here: the
module will be called s3c2410_ts.
config TOUCHSCREEN_S3C2410_DEBUG
boolean "Samsung S3C2410 touchscreen debug messages"
depends on TOUCHSCREEN_S3C2410
help
Select this if you want debug messages
ÐÞ¸ÄÍê³ÉÒÔºó£¬ÔÚÎÒÃÇÅäÖÃÄں˵Äʱºò£¬¾Í»áÔö¼Ó¹ØÏµs3c2410µÄ´¥ÃþÆÁÅäÖã¬ÎÒÃÇÑ¡ÔñÉÏÕâЩÅäÖþͿÉÒÔ°ÑÇý¶¯Ôö¼Ó½øÈ¥ÁË
Device drivers -¨¤
Input device support ¨¤
Touchscreens ¨¤
<*>Samsung S3C2410 touchscreen input driver
[]Samsung s3c2410 touchscreen debug message
µÚÈý£ºÔÚ/linux-2.6.14/arch/arm/mach-s3c2410/mach-smdk2410.c,ÖÐÔö¼ÓÈçÏÂÄÚÈÝ£º
static struct s3c2410_ts_mach_info sbc2410_ts_cfg __initdata = {
.delay = 10000,
.presc = 49,
.oversampling_shift = 2,
};
ÔÚsmdk2410_devices½á¹¹ÖУ¬Ìí¼Ó£º
&s3c_device_ts,
ÔÚsmdk2410_map_ioº¯ÊýÖÐÌí¼Ó£º
set_s3c2410ts_info(&sbc2410_ts_cfg);
µÚËÄ£ºÔÚ/linux-2.6.14/arch/arm/mach-s3c2410/devs.hÎļþÖÐÌí¼Ó£º
extern struct platform_device s3c_device_ts;
µÚÎ壺ÔÚarch/arm/mach-s3c2410/devs.cÎļþÖÐÌí¼ÓÈçϼ¸ÐУº
/* Touchscreen */
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));
}
EXPORT_SYMBOL(set_s3c2410ts_info);
struct platform_device s3c_device_ts = {
.name = "s3c2410-ts",
.id = -1,
.dev = {
.platform_data = &s3c2410ts_info,
}
};
EXPORT_SYMBOL(s3c_device_ts);
¾¹ýÕâЩÐ޸ģ¬ÎÒÃǵĴ¥ÃþÆÁÇý¶¯ÒѾÍê³É£¬ÎÒÃDZàÒë¾Í¿ÉÒÔÁË¡£ÎÒÃǵÄÕâ¸ö´¥ÃþÆÁÇý¶¯ÔÚÄÚºË×¢²áΪ/dev/input/mouse0¡£
´ó¼Ò²»ÒªÖ»¿´ÁË·½·¨Çë°ïÎÒ¿´¿´ÎÊÌâ,·¢±íÒ»ÏÂÒâ¼û
ok!!!µ½Ä¿Ç°ÎªÖ¹Î񵀮ô¶¯ÐÅÏ¢ÀïÒѾÄÜ¿´µ½:
s3c2410 TouchScreen successfully loaded,¶øÇÒÉ豸Îļþ/dev/input/mouse0Ò²¿ÉÒÔÉú³É.
ÎҵĴ¥ÃþÆÁÔÚÄں˴òÓ¡ÐÅÏ¢,ÒѾÄÜ¿´µ½Êý¾ÝÕýÈ·,´¥ÃþÆÁÇý¶¯Ó¦¸ÃÊǺõÄ,¿ÉÊÇÎÒ»¹²»Çå³þ2.6Äں˺ͲâÊÔ³ÌÐòµÄ½Ó¿ÚÔÚʲôµØ·½,ÔÀ´µÄʲôfileoprition½á¹¹Ìåµ´È»ÎÞ´æ,´¥ÃþÆÁµÄÇý¶¯¹Òµ½ÁËBUSÉÏ[img]http://bbs.chinaunix.net/images/smilies/icon_sad.gif[/img] ......ÄÇÎÒµÄÊý¾ÝÒªÔÚʲôµØ·½²ÅÄÜ´«µÝ¸øÉϲã²âÊÔ³ÌÐòÄØ???ÔÚʲôµØ·½²ÅÄÜÓÐÏàÓ¦µÄread,write,º¯ÊýÄØ,ʲôµØ·½Ð´ÈëbuffÄØ.....???ÎÒÏÖÔڵIJâÊÔ³ÌÐòÎÞ·¨´ÓÉ豸ÎļþÖжÁÈ¡ÕýÈ·µÄÊýÖµ,Ó¦¸ÃÊÇϲãµÄÇý¶¯ÏòÉϲãµÄ²âÊÔ³ÌÐò´«µÝµÄʱºò³öÏÖÁËÎÊÌâ,¿ÉÊÇÎÒÎÞ·¨ÕÒµ½½Ó¿ÚλÖð¡:(
Ï£Íû´ó¼Ò¸øµãÒâ¼ûŶ....
ÔÚÏßµÈ....
Ò³:
[1]