ret = alloc_chrdev_region(&led_dev.dev, 0, 1, "led");
cdev_init(&led_dev.dev_c, &led_ops);
cdev_add(&led_dev.dev_c, led_dev.dev, 1);
led_dev.cdev_class = class_create(THIS_MODULE, "led");
device_create(led_dev.cdev_class, NULL, led_dev.dev, 0, "led");
unregister_chrdev_region(led_dev.dev, 1);
device_destroy(led_dev.cdev_class, led_dev.dev);
class_destroy(led_dev.cdev_class);
cdev_del(&led_dev.dev_c);
初始化-释放
1. alloc_chrdev_region --- unregister_chrdev_region
2. cdev_init, cdev_add, --- cdev_del (这个是不是这样的我不知道。 cdev_alloc与之对应?)
3. class_create --- class_destroy
4. device_create --- device_destroy (必须在class_destroy 释放之前调用)