GSLX680驱动的移植实践

将gslX680触摸屏驱动移植到自己的开发板上(对应的源码文件gslX680.c),并且实现可以使用make menuconfig进行动态的加载和卸载因为触摸屏设备属于一种典型的输入设备,所以他的驱动源码最好是放在 drivers\input\touchscreen这个目录下,这样是最规范的。

(1)定义一个宏名,譬如CONFIG_TOUCHSCREEN_GSLX680

(2)mach文件中添加board_info
在代码中使用宏来条件编译 驱动源码的实现是基于I2C总线方式的,所以分为I2C设备驱动注册和I2C设备注册两个方面。gslX680.c文件只是实现了设备驱动的注册,而将设备的注册放在了mach文件中, 当然设备和设备驱动的注册是可以放在一个文件中的,这都没有错,只是不太符合规范,所以这其实就体现出了一种使用的灵活性。所以就存在一个匹配问题,那当然就是名字了,一定要保证他们能够匹配的上。

static struct i2c_board_info i2c_devs1[] __initdata = {
#ifdef CONFIG_VIDEO_TV20
        {
                I2C_BOARD_INFO("s5p_ddc", (0x74>>1)),
        },
#endif
#ifdef CONFIG_TOUCHSCREEN_GSLX680
        {
                I2C_BOARD_INFO("gslX680", 0x40),
        },
#endif

(3)在Makefile中使用宏来条件配置

    在drivers\input\touchscreen目录下的Makefile文件中加入条件编译控制语句:

 obj-$(CONFIG_TOUCHSCREEN_GSLX680) += gslX680.o  gsl_point_id

    gsl_point_id是一个预编译好的函数库文件,里面有很多的函数是被gslX680.c文件调用的,所以一定要加上。

(4)在Kconfig项目中添加宏的配置项

config TOUCHSCREEN_GSLX680
        tristate "9tripod GSL1680 Touch Panel Controller"
        depends on I2C
        help
          This enables support for FocalTech over I2C based touchscreens.

(5)make menuconfig并选择Y或者N

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值