한빛미디어에 리눅스커널 프로그래밍 으로 공부하고 있는 학생인데요
문자디바이스를 작성하다가 오류가 안풀려서 질문드려요
"virtual_device_exit" 함수에 "unregister_chrdev" 에서 에러가 발생하는거 같습니다. (문자 디바이스를 제거하는 부분입니다.)
해결방법좀 알려주세요
2.6.32.24 커널을 사용하고 있습니다
원본 파일은 첨부파일에 있습니다
==========================소스==============================================
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/fs.h>
#include <asm/uaccess.h>
#include <linux/slab.h>
.
.
< 생략>
.
.
void __exit virtual_device_exit(void)
{
if( unregister_chrdev( 250, "virtual_device" ) < 0 )
printk( KERN_ALERT "driver cleanup failed\n" );
else
printk( KERN_ALERT "driver cleanup successful\n" );
kfree( buffer );
}
module_init( virtual_device_init );
module_exit( virtual_device_exit );
MODULE_LICENSE( "GPL" );
=================================================================================