2013-05-04 3 views
1

USB 드라이버 코드에 Proc 항목을 만들고 싶지만 함수의 'create_proc_read_entry'및 'remove_proc_entry'함수 암시 적 함수 선언으로 오류가 발생합니다.Proc 항목을 생성하는 동안 오류가 발생했습니다

Linux 디바이스 드라이버 텍스트에 지정된대로 proc 항목을 작성하기 위해 scull 드라이버 코드에서 비슷한 단계를 수행했지만 makefile을 통해 컴파일하는 동안 위의 두 가지 오류가 발생합니다.

우분투의 코드를 컴파일하고 있습니다. 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 
+0

ifdef 블록을 제거한 후에 문제가 해결되었습니다. 질문을 닫을 수 있습니다. –

답변

1

ifdef 블록을 제거하면 proc 항목을 만들 수 있습니다.

관련 문제