--- 01:include/linux/fs.h static inline int register_chrdev(unsigned int major, const char *name, const struct file_operations *fops) { , , name, fops); } fs/char_dev.c /** * __register_chrdev() - create and register a cdev occupying a range of minor
register_chrdev:Linux2.6.30之前所用,不用定义cdev:但 如果是register_chrdev 注册的话,这个时候,分配的次设备号,是从0~255,这样子的话,就分配的范围太广泛了,浪费严重,register_chrdev_region的话,是指定一个区域,比如说是0~1,才属于相对应的file_operations,多节约,多环保: int register_chrdev(unsignedintmajor,constchar*name,structfile_oper
register_chrdev:Linux2.6.30之前所用,不用定义cdev:但 如果是register_chrdev 注册的话,这个时候,分配的次设备号,是从0~255,这样子的话,就分配的范围太广泛了,浪费严重,register_chrdev_region的话,是指定一个区域,比如说是0~1,才属于相对应的file_operations,多节约,多环保: int register_chrdev(unsignedintmajor,constchar*name,structfile_oper