본문 바로가기
3학년2학기/임베디드시스템

블록 디바이스 드라이버 등록

by hgglife 2019. 10. 16.

블록 디바이스 등록(모듈 초기화 함수에서 수행)

- blk_init_queue() => register_blkdev() => alloc_disk() => add_disk()

   queue = blk_init_queue (static void request_fn,spin_lock_t*lock);

   register_blkdev(unsigned int major, const char*name);

    - major 번호는 문자드라이버와 중독될 수 있음

   alloc_disk()

   -gendisk 구조체 할당

   -파티션 검출

 

블록 디바이스 제거(모듈 제거 함수에서 수행)

-del_gendisk()->put_disk()->unregister_blkdev()->blk_cleanup_queue();

   blk_cleanup_queue(struct request_queue *queue);

   int unregister_blkdev(unsigned int major,const char *name);

 

ch4 - https://show5376-hgglife.tistory.com/16

'3학년2학기 > 임베디드시스템' 카테고리의 다른 글

Block device operations 구조체  (0) 2019.10.16
Request 함수  (0) 2019.10.16
블록 디바이스 드라이버  (0) 2019.10.16
임베디드와 윈도우의 차이점  (0) 2019.10.16
ch6 아두이노 실습 목차  (0) 2019.10.16

댓글