#include <linux/fs.h>
MODULE_LICENSE("GPL");
-static int major = 10;
-module_param_named(major, major, int, S_IRUGO | S_IWUSR);
+static dev_t devnum;
static int __init ch_init(void)
{
int r;
- r = register_chrdev_region(MKDEV(major, 0), 256, "hello");
+ r = alloc_chrdev_region(&devnum, 0, 256, "hello");
if (r)
return r;
+ printk(KERN_DEBUG "Allocate major %d\n", MAJOR(devnum));
return 0;
}
static void __exit ch_exit(void)
{
- unregister_chrdev_region(MKDEV(major, 0), 256);
+ unregister_chrdev_region(devnum, 256);
}
module_init(ch_init);