RTLinux용 device driver 제작에 관한 질문입니다.

zieben의 이미지

기존에 Linux를 기반으로 작성되어 있는 device driver를 RTLinux용으로 바꾸려고 합니다.
여기서 몇 가지 의문사항이 있어서 문의드리고자 합니다.

일반적으로 device driver를 만들때

static struct file_operations *** = {
	.read		= ***_read,
	.write		= ***_write,
	.ioctl		= ***_ioctl,
	.open		= ***_open,
	.release	= ***_release,
};



module_init(***_init);
module_exit(***_exit);

와 같은 코드들이 필요한데..
RTLinux로 Task를 만들때는

init_module(void)
cleanup_module(void)

와 같은 함수들이 필요하구요..

둘다 모듈이라는 의미에서 생각해보면
kernel이 부르는 초기함수로 module_init과 init_module이 같은 역활을 하는 것 같고
module_exit 와 cleanup_module이 같은 역활을 하는것 같은데요..
만약 RTLinux용으로 device driver를 만들때는
module_init -> init_module
module_exit -> cleanup_module
와 같아 대체해서 만들수 있는건가요?

두개가 같은 역활을 하는 함수가 맞는지 궁금합니다.

그리고 일반적인 device driver에서 사용되는 함수인
register_chrdev등의 함수도 사용가능한지
혹시 RTLInux상에서 device driver를 작성해보신 경험이 있으신 분이 계시면 조언 부탁드립니다.