diff options
| -rw-r--r-- | drivers/hid/hidraw.c | 18 | 
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/hid/hidraw.c b/drivers/hid/hidraw.c index e63c56a0d57f..13c8dd8cd350 100644 --- a/drivers/hid/hidraw.c +++ b/drivers/hid/hidraw.c @@ -32,7 +32,9 @@  static int hidraw_major;  static struct cdev hidraw_cdev; -static struct class *hidraw_class; +static const struct class hidraw_class = { +	.name = "hidraw", +};  static struct hidraw *hidraw_table[HIDRAW_MAX_DEVICES];  static DECLARE_RWSEM(minors_rwsem); @@ -329,7 +331,7 @@ static void drop_ref(struct hidraw *hidraw, int exists_bit)  			hid_hw_close(hidraw->hid);  			wake_up_interruptible(&hidraw->wait);  		} -		device_destroy(hidraw_class, +		device_destroy(&hidraw_class,  			       MKDEV(hidraw_major, hidraw->minor));  	} else {  		--hidraw->open; @@ -569,7 +571,7 @@ int hidraw_connect(struct hid_device *hid)  		goto out;  	} -	dev->dev = device_create(hidraw_class, &hid->dev, MKDEV(hidraw_major, minor), +	dev->dev = device_create(&hidraw_class, &hid->dev, MKDEV(hidraw_major, minor),  				 NULL, "%s%d", "hidraw", minor);  	if (IS_ERR(dev->dev)) { @@ -623,11 +625,9 @@ int __init hidraw_init(void)  	hidraw_major = MAJOR(dev_id); -	hidraw_class = class_create("hidraw"); -	if (IS_ERR(hidraw_class)) { -		result = PTR_ERR(hidraw_class); +	result = class_register(&hidraw_class); +	if (result)  		goto error_cdev; -	}          cdev_init(&hidraw_cdev, &hidraw_ops);  	result = cdev_add(&hidraw_cdev, dev_id, HIDRAW_MAX_DEVICES); @@ -639,7 +639,7 @@ out:  	return result;  error_class: -	class_destroy(hidraw_class); +	class_unregister(&hidraw_class);  error_cdev:  	unregister_chrdev_region(dev_id, HIDRAW_MAX_DEVICES);  	goto out; @@ -650,7 +650,7 @@ void hidraw_exit(void)  	dev_t dev_id = MKDEV(hidraw_major, 0);  	cdev_del(&hidraw_cdev); -	class_destroy(hidraw_class); +	class_unregister(&hidraw_class);  	unregister_chrdev_region(dev_id, HIDRAW_MAX_DEVICES);  }  | 
