배우고픈 공돌이

misc 장치에 등록하기 본문

디바이스 드라이버

misc 장치에 등록하기

내 마음 아홉수 2017. 9. 20. 12:56

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
Comments