内核共提供了三个函数来注册一组字符设备编号,这三个函数分别是 register_chrdev_region()、alloc_chrdev_region()和 register_chrdev()。
register_chrdev是老接口,动态注册和静态注册都是这一个接口,通过判断给定的主设备号是否为0来进行区别,0表示动态注册,否则静态注册
register_chrdev_region/alloc_chrdev_region + cdev时新接口。register_chrdev_region是静态注册,alloc_chrdev_region动态注册静态