diff options
| author | Mark Brown <[email protected]> | 2015-10-12 18:09:27 +0100 | 
|---|---|---|
| committer | Mark Brown <[email protected]> | 2015-10-12 18:09:27 +0100 | 
| commit | 79828b4fa835f73cdaf4bffa48696abdcbea9d02 (patch) | |
| tree | 5e0fa7156acb75ba603022bc807df8f2fedb97a8 /drivers/char/misc.c | |
| parent | 721b51fcf91898299d96f4b72cb9434cda29dce6 (diff) | |
| parent | 8c1a9d6323abf0fb1e5dad96cf3f1c783505ea5a (diff) | |
Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-fix-rt5645
Diffstat (limited to 'drivers/char/misc.c')
| -rw-r--r-- | drivers/char/misc.c | 17 | 
1 files changed, 7 insertions, 10 deletions
diff --git a/drivers/char/misc.c b/drivers/char/misc.c index fdb0f9b3fe45..8069b361b8dd 100644 --- a/drivers/char/misc.c +++ b/drivers/char/misc.c @@ -243,17 +243,15 @@ int misc_register(struct miscdevice * misc)   *	@misc: device to unregister   *   *	Unregister a miscellaneous device that was previously - *	successfully registered with misc_register(). Success - *	is indicated by a zero return, a negative errno code - *	indicates an error. + *	successfully registered with misc_register().   */ -int misc_deregister(struct miscdevice *misc) +void misc_deregister(struct miscdevice *misc)  {  	int i = DYNAMIC_MINORS - misc->minor - 1;  	if (WARN_ON(list_empty(&misc->list))) -		return -EINVAL; +		return;  	mutex_lock(&misc_mtx);  	list_del(&misc->list); @@ -261,7 +259,6 @@ int misc_deregister(struct miscdevice *misc)  	if (i < DYNAMIC_MINORS && i >= 0)  		clear_bit(i, misc_minors);  	mutex_unlock(&misc_mtx); -	return 0;  }  EXPORT_SYMBOL(misc_register); @@ -281,10 +278,9 @@ static char *misc_devnode(struct device *dev, umode_t *mode)  static int __init misc_init(void)  {  	int err; +	struct proc_dir_entry *ret; -#ifdef CONFIG_PROC_FS -	proc_create("misc", 0, NULL, &misc_proc_fops); -#endif +	ret = proc_create("misc", 0, NULL, &misc_proc_fops);  	misc_class = class_create(THIS_MODULE, "misc");  	err = PTR_ERR(misc_class);  	if (IS_ERR(misc_class)) @@ -300,7 +296,8 @@ fail_printk:  	printk("unable to get major %d for misc devices\n", MISC_MAJOR);  	class_destroy(misc_class);  fail_remove: -	remove_proc_entry("misc", NULL); +	if (ret) +		remove_proc_entry("misc", NULL);  	return err;  }  subsys_initcall(misc_init);  |