배우고픈 공돌이
misc 장치에 등록하기 본문
misc 장치에 레지스터 등록을 사용하면
모듈이 인스톨될 때, 자동으로 장치가 만들어진다.
struct file_operations sk_fops =
{
.owner = THIS_MODULE,
.open = sk_open,
.release = sk_release,
.read = sk_read,
.write = sk_write,
.unlocked_ioctl = sk_ioctl,
};
struct miscdevice sk_misc =
{
.minor = MISC_DYNAMIC_MINOR,
.name = "skeleton",
.fops = &sk_fops,
};
//#insmod skeleton.ko <- init_module()
// Linux 3.x <- 2.x
static int skeleton_init(void)
{
/*
printk("skeleton init success\n");
result = register_chrdev(major,"skeleton",&sk_fops);
if(result < 0)
{
printk("couldn`t get a major number\n");
return 0;
}
*/
//use misc device
misc_register(&sk_misc);
//include kernel.h
printk("major number : %d\n",result);
printk("skeleton init success\n");
return 0;
}
//#rmmod skeleton <- cleanup_module()
static void skeleton_exit(void)
{
//unregister_chrdev(result,"skeleton");
misc_deregister(&sk_misc);
'디바이스 드라이버' 카테고리의 다른 글
2. 타이머 (0) | 2017.11.15 |
---|---|
1. 부번호 처리 (0) | 2017.11.15 |
디바이스 드라이버 - APP Open & Read (0) | 2017.09.19 |
2016] 모듈 제작에 대한 동영상 (0) | 2017.09.19 |
디바이스 드라이버 - insmod (0) | 2017.09.18 |