2011年4月10日工作小结

  放了3天假,又回到公司了。

 

一、兼容两个触摸屏驱动

  一个是2046,一个是21023;一个是单点,一个是两点触控。

  目标:在编译时同时加上这两个驱动。

 

  由于这两个驱动在硬件上同时连接到一个硬件中断脚,软件上都注册为中断号为7的中断,而项目在贴片时是二选一,所以编译版本时也只是只编译其中之一。

 

  修改包括:

  ·同时编译2046和21023。

  ·通过侦测21023,如果存在则将其注册7号中断并且对2046不做初始化,否则注册2046为7号中断并且跳过对21023的最后初始化(注册中断和input子系统)。

  ·21023先于2046加载。因为要对21023侦测并作为2046加载的判断条件,因此21023必须先于2046加载。只需在Makefile里将21023.o的位置写在2046.o的前面,便可以使21023.o的链接地址先于2046.o。这里只是保证module的init函数加载顺序。

  ·i2c先于spi加载。21023用的是i2c,2046用的是spi,在各自的probe函数里,都做了如内存分配,input子系统初始化,timer的建立,中断申请等操作。还是侦测21023的需要,因此程序必须先跑21023。而同样还是保证i2c的链接地址先于spi,在driver下的Makefile调整一下i2c和spi的位置,保证i2c总线下的驱动首先得到初始化。

 

  就这样了,同时编译两个驱动,版本的控制上更方便了。

 

 

 

 

 

 

你可能感兴趣的:(2011年4月10日工作小结)