前两篇blog已经基本熟悉了块设备的相关结构,这里来总结下ldd3中提到的一些块设备驱动例题;
1、注册:向内核注册个块设备驱动,其实就是用主设备号告诉内核这个代表块设备驱动
sbull_major = register_blkdev(sbull_major, "sbull");
if (0 >= sbull_major){
printk(KERN_WARNING "sbull: unable to get major number!\n");
return -EBUSY;
}
2、定义设备结构体:
struct sbull_dev{
int size; // 以扇区为单