fengc234 发表于 2013-11-26 20:41:23

关于TQ3358添加ADC驱动

这两天在移植ADC驱动,我用的是TQ3358开发板,在 drivers/staging/iio/adc目录下添加了ti_adc.c文件(附件是.txt格式),编译之后发现
该文件好多地方报错,
rivers/staging/iio/adc/ti_adc.c: In function 'tiadc_poll_handler':
drivers/staging/iio/adc/ti_adc.c:195: error: dereferencing pointer to incomplete type
drivers/staging/iio/adc/ti_adc.c:211: error: dereferencing pointer to incomplete type
drivers/staging/iio/adc/ti_adc.c: In function 'tiadc_buffer_preenable':
drivers/staging/iio/adc/ti_adc.c:225: error: dereferencing pointer to incomplete type
drivers/staging/iio/adc/ti_adc.c: In function 'tiadc_buffer_postenable':
drivers/staging/iio/adc/ti_adc.c:258: error: dereferencing pointer to incomplete type
drivers/staging/iio/adc/ti_adc.c:258: error: dereferencing pointer to incomplete type
drivers/staging/iio/adc/ti_adc.c: At top level:
drivers/staging/iio/adc/ti_adc.c:288: error: variable 'tiadc_swring_setup_ops' has initializer but incomplete type
drivers/staging/iio/adc/ti_adc.c:289: error: unknown field 'preenable' specified in initializer
。。。。。
根据这些错误我对照了一下drivers/staging/iio/buffer_generic.h里面的结构体定义,发现这些报错的结构体在该文件中都已定义,这让我有点想不通
在ti_adc.c文件中已经有#include "../buffer_generic.h",为什么好像这些结构体没定义似的呢?

wbz073 发表于 2013-11-27 09:22:44

你看看,你这个结构体定义的地方,有没有宏的定义你编译时候没选中

fengc234 发表于 2013-11-27 11:30:26

问题找到了,谢谢

xixigou 发表于 2014-12-25 10:25:57

是什么问题导致的呢

zuiaitao 发表于 2016-10-25 19:40:07

此问题我也遇到,不过已经解决,make menuconfig 检查配置项是否配置正确。我的就是因为少配置了才报以上错误Device Drivers--->
         [*]Industrial I/O support--->
                  [*]Enable buffer support within IIO
                  <*>   Industrial I/O lock free software ring
                     Analog to digital converters--->
                               <*> TI's AM335X ADC driver


Device Drivers--->
        Multifunction device drivers--->
                <M> TI ADC / Touch Screen chip support
页: [1]
查看完整版本: 关于TQ3358添加ADC驱动