[질문] 문자디바이스 프로그래밍

한빛미디어에 리눅스커널 프로그래밍 으로 공부하고 있는 학생인데요
문자디바이스를 작성하다가 오류가 안풀려서 질문드려요
"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" );

=================================================================================

책에서 하라는대로 하셔야 해요. 커널 버전같은거 일치 시키구 해보세요.

unregister_chrdev() 의 리턴값이 int에서 void로 수정되었습니다. 관련 링크:

http://lkml.indiana.edu/hypermail/linux ... /2231.html

해당 함수의 return값을 검사하는 부분을 지우고 해 보세요. :)