免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2017 | 回复: 0
打印 上一主题 下一主题

在GPIO内核驱动中有个驱动链接库的问题想和大家讨论一下 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-29 14:21 |只看该作者 |倒序浏览
本帖最后由 qiangtoucao121 于 2011-12-29 14:21 编辑

我现在想直接编译Linux内核中的在drvier/gpio/下的gpio单独的驱动程序,当我编译时,显示缺少gpiolib的库,请问我该如何写自己的Makefile才能让编译成功,谢谢!
我的Makefile如下:
  1 ifneq ($(KERNELRELEASE),)
  2 #       support-y := ./gpiolib.o
  3         obj-m := gpio-sch.o
  4         support-y := gpiolib.o
  5 else
  6         KERNELDIR ?= /lib/modules/$(shell uname -r)/build
  7         PWD := $(shell pwd)
  8 default:
  9          $(MAKE) -C $(KERNELDIR) M=$(PWD) modules -I/home/fxg/linux-2.6.32/include
10 endif

make后报错如下:
make -C /lib/modules/2.6.32-71.el6.x86_64/build M=/home/fxg/test/drivers/gpio modules -I/home/fxg/linux-2.6.32/include
make[1]: Entering directory `/usr/src/kernels/2.6.32-71.el6.x86_64'
  CC [M]  /home/fxg/test/drivers/gpio/gpio-sch.o
/home/fxg/test/drivers/gpio/gpio-sch.c:44: warning: ‘struct gpio_chip’ declared inside parameter list
/home/fxg/test/drivers/gpio/gpio-sch.c:44: warning: its scope is only this definition or declaration, which is probably not what you want
/home/fxg/test/drivers/gpio/gpio-sch.c:63: warning: ‘struct gpio_chip’ declared inside parameter list
/home/fxg/test/drivers/gpio/gpio-sch.c:75: warning: ‘struct gpio_chip’ declared inside parameter list
/home/fxg/test/drivers/gpio/gpio-sch.c:95: warning: ‘struct gpio_chip’ declared inside parameter list
/home/fxg/test/drivers/gpio/gpio-sch.c: In function ‘sch_gpio_core_direction_out’:
/home/fxg/test/drivers/gpio/gpio-sch.c:100: warning: passing argument 1 of ‘sch_gpio_core_set’ from incompatible pointer type
/home/fxg/test/drivers/gpio/gpio-sch.c:75: note: expected ‘struct gpio_chip *’ but argument is of type ‘struct gpio_chip *’
/home/fxg/test/drivers/gpio/gpio-sch.c: At top level:
/home/fxg/test/drivers/gpio/gpio-sch.c:115: error: variable ‘sch_gpio_core’ has initializer but incomplete type
/home/fxg/test/drivers/gpio/gpio-sch.c:116: error: unknown field ‘label’ specified in initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:116: warning: excess elements in struct initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:116: warning: (near initialization for ‘sch_gpio_core’)
/home/fxg/test/drivers/gpio/gpio-sch.c:117: error: unknown field ‘owner’ specified in initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:117: warning: excess elements in struct initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:117: warning: (near initialization for ‘sch_gpio_core’)
/home/fxg/test/drivers/gpio/gpio-sch.c:118: error: unknown field ‘direction_input’ specified in initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:118: warning: excess elements in struct initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:118: warning: (near initialization for ‘sch_gpio_core’)
/home/fxg/test/drivers/gpio/gpio-sch.c:119: error: unknown field ‘get’ specified in initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:119: warning: excess elements in struct initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:119: warning: (near initialization for ‘sch_gpio_core’)
/home/fxg/test/drivers/gpio/gpio-sch.c:120: error: unknown field ‘direction_output’ specified in initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:120: warning: excess elements in struct initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:120: warning: (near initialization for ‘sch_gpio_core’)
/home/fxg/test/drivers/gpio/gpio-sch.c:121: error: unknown field ‘set’ specified in initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:121: warning: excess elements in struct initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:121: warning: (near initialization for ‘sch_gpio_core’)
/home/fxg/test/drivers/gpio/gpio-sch.c:179: error: variable ‘sch_gpio_resume’ has initializer but incomplete type
/home/fxg/test/drivers/gpio/gpio-sch.c:180: error: unknown field ‘label’ specified in initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:180: warning: excess elements in struct initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:180: warning: (near initialization for ‘sch_gpio_resume’)
/home/fxg/test/drivers/gpio/gpio-sch.c:181: error: unknown field ‘owner’ specified in initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:181: warning: excess elements in struct initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:181: warning: (near initialization for ‘sch_gpio_resume’)
/home/fxg/test/drivers/gpio/gpio-sch.c:182: error: unknown field ‘direction_input’ specified in initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:182: warning: excess elements in struct initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:182: warning: (near initialization for ‘sch_gpio_resume’)
/home/fxg/test/drivers/gpio/gpio-sch.c:183: error: unknown field ‘get’ specified in initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:183: warning: excess elements in struct initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:183: warning: (near initialization for ‘sch_gpio_resume’)
/home/fxg/test/drivers/gpio/gpio-sch.c:184: error: unknown field ‘direction_output’ specified in initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:184: warning: excess elements in struct initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:184: warning: (near initialization for ‘sch_gpio_resume’)
/home/fxg/test/drivers/gpio/gpio-sch.c:185: error: unknown field ‘set’ specified in initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:185: warning: excess elements in struct initializer
/home/fxg/test/drivers/gpio/gpio-sch.c:185: warning: (near initialization for ‘sch_gpio_resume’)
/home/fxg/test/drivers/gpio/gpio-sch.c: In function ‘sch_gpio_probe’:
/home/fxg/test/drivers/gpio/gpio-sch.c:208: error: invalid use of undefined type ‘struct gpio_chip’
/home/fxg/test/drivers/gpio/gpio-sch.c:209: error: invalid use of undefined type ‘struct gpio_chip’
/home/fxg/test/drivers/gpio/gpio-sch.c:211: error: invalid use of undefined type ‘struct gpio_chip’
/home/fxg/test/drivers/gpio/gpio-sch.c:212: error: invalid use of undefined type ‘struct gpio_chip’
/home/fxg/test/drivers/gpio/gpio-sch.c:227: error: ‘PCI_DEVICE_ID_INTEL_ITC_LPC’ undeclared (first use in this function)
/home/fxg/test/drivers/gpio/gpio-sch.c:227: error: (Each undeclared identifier is reported only once
/home/fxg/test/drivers/gpio/gpio-sch.c:227: error: for each function it appears in.)
/home/fxg/test/drivers/gpio/gpio-sch.c:228: error: invalid use of undefined type ‘struct gpio_chip’
/home/fxg/test/drivers/gpio/gpio-sch.c:229: error: invalid use of undefined type ‘struct gpio_chip’
/home/fxg/test/drivers/gpio/gpio-sch.c:231: error: invalid use of undefined type ‘struct gpio_chip’
/home/fxg/test/drivers/gpio/gpio-sch.c:232: error: invalid use of undefined type ‘struct gpio_chip’
/home/fxg/test/drivers/gpio/gpio-sch.c:239: error: invalid use of undefined type ‘struct gpio_chip’
/home/fxg/test/drivers/gpio/gpio-sch.c:240: error: invalid use of undefined type ‘struct gpio_chip’
/home/fxg/test/drivers/gpio/gpio-sch.c:242: error: implicit declaration of function ‘gpiochip_add’
/home/fxg/test/drivers/gpio/gpio-sch.c:253: error: implicit declaration of function ‘gpiochip_remove’
make[2]: *** [/home/fxg/test/drivers/gpio/gpio-sch.o] Error 1
make[1]: *** [_module_/home/fxg/test/drivers/gpio] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.32-71.el6.x86_64'
make: *** [default] Error 2

恳请指点,谢谢!!!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP