早在诺基亚手机还比较流行的时候,那时候触摸屏用的还不多。但是随着触摸屏手机,即智能手机的流行,触摸屏基本成了手机的标配,所以,今天可以看看触摸屏驱动在linux上是如何进行的。
1,驱动目录
司机/输入
2,看看这个目录的Makefile如何设计
obj - $ (CONFIG_INPUT) +=input-core.o input-core-y:=输入。o input-compat。o input-mt。o ff-core.o obj - $ (CONFIG_INPUT_TOUCHSCREEN) +=触摸屏/
3,除了input-core.o这个文件外,只需要看屏目录就可以了
配置TOUCHSCREEN_S3C2410 三态“三星S3C2410/通用触屏输入驱动程序” 取决于> obj - $ (CONFIG_TOUCHSCREEN_S3C2410) +=s3c2410_ts。o
5,继续阅读s3c2410_ts.c文件
静态常量struct platform_device_id s3cts_driver_ids []={ {" s3c2410-ts ", 0}, {" s3c2440-ts ", 0}, {“s3c64xx-ts”, FEAT_PEN_IRQ}, {} }; MODULE_DEVICE_TABLE(平台,s3cts_driver_ids); 静态结构platform_driver s3c_ts_driver={ .driver={ . name=" samsung-ts ", # ifdef CONFIG_PM=,pm s3c_ts_pmops, # endif }, .id_table=s3cts_driver_ids, .probe=s3c2410ts_probe, .remove=s3c2410ts_remove, }; module_platform_driver (s3c_ts_driver); >之前6,根据调查函数,看看有什么需要注意的内容
ts.client=s3c_adc_register (pdev s3c24xx_ts_select, s3c24xx_ts_conversion, 1); 如果(IS_ERR (ts.client)) { dev_err (dev,“未能注册adc客户\ n”); ret=PTR_ERR (ts.client); goto err_iomap; }7,接着,查看是否有中断函数被注册
ret=request_irq (ts。irq_tc stylus_irq 0, “s3c2410_ts_pen ts.input);8,最后
很明显,触摸屏驱动本质上还是由TOUCHSCREEN_S3C2410和S3C_ADC两个宏一起完成的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
linux触摸屏驱动编写