在创建Proc条目期间出错

时间:2013-05-04 02:48:04

标签: device-driver kernel-module kernel

我想在USB驱动程序代码中创建一个Proc条目,但我收到错误为函数'create_proc_read_entry'和'remove_proc_entry'的隐式函数声明。

我已经按照scull驱动程序代码中的类似步骤创建了Linux设备驱动程序文本中指定的proc条目,但是我在通过makefile编译时遇到了上述两个错误。

我正在编译ubuntu上的代码12.04内核版本是3.2.0-23-generic-pae。我对现有的驱动程序代码进行了少量编辑,下面是代码片段。如果需要任何其他细节,请告诉我。

   #include <linux/module.h>
   #include <linux/kernel.h>
   #include <linux/version.h>
   #include <linux/usb.h>
   #include <linux/mutex.h>
   #include <linux/errno.h>
   #include <linux/slab.h>
   #include <linux/cdev.h>
   #include <asm/uaccess.h>
   #ifdef ENABLE_FILE_OPS
   #include <asm/atomic.h>
   #include <linux/proc_fs.h> 
   #endif
   #include "ddk_mem.h"
   #include "usb_proc.h"
   #define PROC_DEBUG

   #ifdef PROC_DEBUG 
   int read_proc(char *buf, char **start, off_t offset,
               int count, int *eof, void *data)

    {
       int len=0;

       len  += sprintf(buf+len, "Hello world");

       *eof=1;
       return len;
    }

    static void usb_mem_create_proc(void )
    {
       create_proc_read_entry("hello",0,NULL,read_proc,NULL);

    }

   static void usb_mem_remove_proc(void)
   {
      remove_proc_entry("hello",NULL);
   }

   #endif

1 个答案:

答案 0 :(得分:1)

删除后的ifdef块将允许您创建proc条目。

相关问题