diff options
-rw-r--r-- | drivers/char/misc.c | 9 | ||||
-rw-r--r-- | drivers/md/dm-ioctl.c | 4 | ||||
-rw-r--r-- | drivers/misc/vmw_vmci/vmci_host.c | 7 | ||||
-rw-r--r-- | drivers/rtc/rtc-ds1374.c | 5 | ||||
-rw-r--r-- | drivers/staging/android/ashmem.c | 7 | ||||
-rw-r--r-- | drivers/staging/android/ion/ion_test.c | 3 | ||||
-rw-r--r-- | drivers/staging/lustre/lustre/libcfs/module.c | 4 | ||||
-rw-r--r-- | drivers/vhost/scsi.c | 4 | ||||
-rw-r--r-- | drivers/watchdog/at91rm9200_wdt.c | 5 | ||||
-rw-r--r-- | drivers/watchdog/ks8695_wdt.c | 9 | ||||
-rw-r--r-- | drivers/watchdog/ts72xx_wdt.c | 3 | ||||
-rw-r--r-- | fs/btrfs/super.c | 3 | ||||
-rw-r--r-- | fs/dlm/plock.c | 3 | ||||
-rw-r--r-- | fs/dlm/user.c | 9 | ||||
-rw-r--r-- | fs/ocfs2/stack_user.c | 9 | ||||
-rw-r--r-- | include/linux/miscdevice.h | 2 |
16 files changed, 27 insertions, 59 deletions
diff --git a/drivers/char/misc.c b/drivers/char/misc.c index c83ef9652bc9..8069b361b8dd 100644 --- a/drivers/char/misc.c +++ b/drivers/char/misc.c | |||
@@ -243,17 +243,15 @@ int misc_register(struct miscdevice * misc) | |||
243 | * @misc: device to unregister | 243 | * @misc: device to unregister |
244 | * | 244 | * |
245 | * Unregister a miscellaneous device that was previously | 245 | * Unregister a miscellaneous device that was previously |
246 | * successfully registered with misc_register(). Success | 246 | * successfully registered with misc_register(). |
247 | * is indicated by a zero return, a negative errno code | ||
248 | * indicates an error. | ||
249 | */ | 247 | */ |
250 | 248 | ||
251 | int misc_deregister(struct miscdevice *misc) | 249 | void misc_deregister(struct miscdevice *misc) |
252 | { | 250 | { |
253 | int i = DYNAMIC_MINORS - misc->minor - 1; | 251 | int i = DYNAMIC_MINORS - misc->minor - 1; |
254 | 252 | ||
255 | if (WARN_ON(list_empty(&misc->list))) | 253 | if (WARN_ON(list_empty(&misc->list))) |
256 | return -EINVAL; | 254 | return; |
257 | 255 | ||
258 | mutex_lock(&misc_mtx); | 256 | mutex_lock(&misc_mtx); |
259 | list_del(&misc->list); | 257 | list_del(&misc->list); |
@@ -261,7 +259,6 @@ int misc_deregister(struct miscdevice *misc) | |||
261 | if (i < DYNAMIC_MINORS && i >= 0) | 259 | if (i < DYNAMIC_MINORS && i >= 0) |
262 | clear_bit(i, misc_minors); | 260 | clear_bit(i, misc_minors); |
263 | mutex_unlock(&misc_mtx); | 261 | mutex_unlock(&misc_mtx); |
264 | return 0; | ||
265 | } | 262 | } |
266 | 263 | ||
267 | EXPORT_SYMBOL(misc_register); | 264 | EXPORT_SYMBOL(misc_register); |
diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c index 720ceeb7fa9b..80a439543259 100644 --- a/drivers/md/dm-ioctl.c +++ b/drivers/md/dm-ioctl.c | |||
@@ -1919,9 +1919,7 @@ int __init dm_interface_init(void) | |||
1919 | 1919 | ||
1920 | void dm_interface_exit(void) | 1920 | void dm_interface_exit(void) |
1921 | { | 1921 | { |
1922 | if (misc_deregister(&_dm_misc) < 0) | 1922 | misc_deregister(&_dm_misc); |
1923 | DMERR("misc_deregister failed for control device"); | ||
1924 | |||
1925 | dm_hash_exit(); | 1923 | dm_hash_exit(); |
1926 | } | 1924 | } |
1927 | 1925 | ||
diff --git a/drivers/misc/vmw_vmci/vmci_host.c b/drivers/misc/vmw_vmci/vmci_host.c index a721b5d8a9da..9ec262a52656 100644 --- a/drivers/misc/vmw_vmci/vmci_host.c +++ b/drivers/misc/vmw_vmci/vmci_host.c | |||
@@ -1031,14 +1031,9 @@ int __init vmci_host_init(void) | |||
1031 | 1031 | ||
1032 | void __exit vmci_host_exit(void) | 1032 | void __exit vmci_host_exit(void) |
1033 | { | 1033 | { |
1034 | int error; | ||
1035 | |||
1036 | vmci_host_device_initialized = false; | 1034 | vmci_host_device_initialized = false; |
1037 | 1035 | ||
1038 | error = misc_deregister(&vmci_host_miscdev); | 1036 | misc_deregister(&vmci_host_miscdev); |
1039 | if (error) | ||
1040 | pr_warn("Error unregistering character device: %d\n", error); | ||
1041 | |||
1042 | vmci_ctx_destroy(host_context); | 1037 | vmci_ctx_destroy(host_context); |
1043 | vmci_qp_broker_exit(); | 1038 | vmci_qp_broker_exit(); |
1044 | 1039 | ||
diff --git a/drivers/rtc/rtc-ds1374.c b/drivers/rtc/rtc-ds1374.c index 167783fa7ac1..72c933375233 100644 --- a/drivers/rtc/rtc-ds1374.c +++ b/drivers/rtc/rtc-ds1374.c | |||
@@ -666,9 +666,8 @@ static int ds1374_remove(struct i2c_client *client) | |||
666 | #ifdef CONFIG_RTC_DRV_DS1374_WDT | 666 | #ifdef CONFIG_RTC_DRV_DS1374_WDT |
667 | int res; | 667 | int res; |
668 | 668 | ||
669 | res = misc_deregister(&ds1374_miscdev); | 669 | misc_deregister(&ds1374_miscdev); |
670 | if (!res) | 670 | ds1374_miscdev.parent = NULL; |
671 | ds1374_miscdev.parent = NULL; | ||
672 | unregister_reboot_notifier(&ds1374_wdt_notifier); | 671 | unregister_reboot_notifier(&ds1374_wdt_notifier); |
673 | #endif | 672 | #endif |
674 | 673 | ||
diff --git a/drivers/staging/android/ashmem.c b/drivers/staging/android/ashmem.c index c5c037ccf32c..2c75d90b26c8 100644 --- a/drivers/staging/android/ashmem.c +++ b/drivers/staging/android/ashmem.c | |||
@@ -863,14 +863,9 @@ static int __init ashmem_init(void) | |||
863 | 863 | ||
864 | static void __exit ashmem_exit(void) | 864 | static void __exit ashmem_exit(void) |
865 | { | 865 | { |
866 | int ret; | ||
867 | |||
868 | unregister_shrinker(&ashmem_shrinker); | 866 | unregister_shrinker(&ashmem_shrinker); |
869 | 867 | ||
870 | ret = misc_deregister(&ashmem_misc); | 868 | misc_deregister(&ashmem_misc); |
871 | if (unlikely(ret)) | ||
872 | pr_err("failed to unregister misc device!\n"); | ||
873 | |||
874 | kmem_cache_destroy(ashmem_range_cachep); | 869 | kmem_cache_destroy(ashmem_range_cachep); |
875 | kmem_cache_destroy(ashmem_area_cachep); | 870 | kmem_cache_destroy(ashmem_area_cachep); |
876 | 871 | ||
diff --git a/drivers/staging/android/ion/ion_test.c b/drivers/staging/android/ion/ion_test.c index 7d6e6b6bc894..b8dcf5a26cc4 100644 --- a/drivers/staging/android/ion/ion_test.c +++ b/drivers/staging/android/ion/ion_test.c | |||
@@ -269,7 +269,8 @@ static int ion_test_remove(struct platform_device *pdev) | |||
269 | if (!testdev) | 269 | if (!testdev) |
270 | return -ENODATA; | 270 | return -ENODATA; |
271 | 271 | ||
272 | return misc_deregister(&testdev->misc); | 272 | misc_deregister(&testdev->misc); |
273 | return 0; | ||
273 | } | 274 | } |
274 | 275 | ||
275 | static struct platform_device *ion_test_pdev; | 276 | static struct platform_device *ion_test_pdev; |
diff --git a/drivers/staging/lustre/lustre/libcfs/module.c b/drivers/staging/lustre/lustre/libcfs/module.c index e60b2e9b9194..e7074006e41b 100644 --- a/drivers/staging/lustre/lustre/libcfs/module.c +++ b/drivers/staging/lustre/lustre/libcfs/module.c | |||
@@ -467,9 +467,7 @@ static void exit_libcfs_module(void) | |||
467 | cfs_crypto_unregister(); | 467 | cfs_crypto_unregister(); |
468 | cfs_wi_shutdown(); | 468 | cfs_wi_shutdown(); |
469 | 469 | ||
470 | rc = misc_deregister(&libcfs_dev); | 470 | misc_deregister(&libcfs_dev); |
471 | if (rc) | ||
472 | CERROR("misc_deregister error %d\n", rc); | ||
473 | 471 | ||
474 | cfs_cpu_fini(); | 472 | cfs_cpu_fini(); |
475 | 473 | ||
diff --git a/drivers/vhost/scsi.c b/drivers/vhost/scsi.c index dfcc02c93648..f114a9dbb48f 100644 --- a/drivers/vhost/scsi.c +++ b/drivers/vhost/scsi.c | |||
@@ -1573,9 +1573,9 @@ static int __init vhost_scsi_register(void) | |||
1573 | return misc_register(&vhost_scsi_misc); | 1573 | return misc_register(&vhost_scsi_misc); |
1574 | } | 1574 | } |
1575 | 1575 | ||
1576 | static int vhost_scsi_deregister(void) | 1576 | static void vhost_scsi_deregister(void) |
1577 | { | 1577 | { |
1578 | return misc_deregister(&vhost_scsi_misc); | 1578 | misc_deregister(&vhost_scsi_misc); |
1579 | } | 1579 | } |
1580 | 1580 | ||
1581 | static char *vhost_scsi_dump_proto_id(struct vhost_scsi_tport *tport) | 1581 | static char *vhost_scsi_dump_proto_id(struct vhost_scsi_tport *tport) |
diff --git a/drivers/watchdog/at91rm9200_wdt.c b/drivers/watchdog/at91rm9200_wdt.c index 41cecb55766c..9ba1153465ae 100644 --- a/drivers/watchdog/at91rm9200_wdt.c +++ b/drivers/watchdog/at91rm9200_wdt.c | |||
@@ -269,9 +269,8 @@ static int at91wdt_remove(struct platform_device *pdev) | |||
269 | if (res) | 269 | if (res) |
270 | dev_warn(dev, "failed to unregister restart handler\n"); | 270 | dev_warn(dev, "failed to unregister restart handler\n"); |
271 | 271 | ||
272 | res = misc_deregister(&at91wdt_miscdev); | 272 | misc_deregister(&at91wdt_miscdev); |
273 | if (!res) | 273 | at91wdt_miscdev.parent = NULL; |
274 | at91wdt_miscdev.parent = NULL; | ||
275 | 274 | ||
276 | return res; | 275 | return res; |
277 | } | 276 | } |
diff --git a/drivers/watchdog/ks8695_wdt.c b/drivers/watchdog/ks8695_wdt.c index b7ea39b455c8..1e41818a44bc 100644 --- a/drivers/watchdog/ks8695_wdt.c +++ b/drivers/watchdog/ks8695_wdt.c | |||
@@ -254,13 +254,10 @@ static int ks8695wdt_probe(struct platform_device *pdev) | |||
254 | 254 | ||
255 | static int ks8695wdt_remove(struct platform_device *pdev) | 255 | static int ks8695wdt_remove(struct platform_device *pdev) |
256 | { | 256 | { |
257 | int res; | 257 | misc_deregister(&ks8695wdt_miscdev); |
258 | 258 | ks8695wdt_miscdev.parent = NULL; | |
259 | res = misc_deregister(&ks8695wdt_miscdev); | ||
260 | if (!res) | ||
261 | ks8695wdt_miscdev.parent = NULL; | ||
262 | 259 | ||
263 | return res; | 260 | return 0; |
264 | } | 261 | } |
265 | 262 | ||
266 | static void ks8695wdt_shutdown(struct platform_device *pdev) | 263 | static void ks8695wdt_shutdown(struct platform_device *pdev) |
diff --git a/drivers/watchdog/ts72xx_wdt.c b/drivers/watchdog/ts72xx_wdt.c index 119beb7f6017..4b541934b6c5 100644 --- a/drivers/watchdog/ts72xx_wdt.c +++ b/drivers/watchdog/ts72xx_wdt.c | |||
@@ -428,7 +428,8 @@ static int ts72xx_wdt_probe(struct platform_device *pdev) | |||
428 | 428 | ||
429 | static int ts72xx_wdt_remove(struct platform_device *pdev) | 429 | static int ts72xx_wdt_remove(struct platform_device *pdev) |
430 | { | 430 | { |
431 | return misc_deregister(&ts72xx_wdt_miscdev); | 431 | misc_deregister(&ts72xx_wdt_miscdev); |
432 | return 0; | ||
432 | } | 433 | } |
433 | 434 | ||
434 | static struct platform_driver ts72xx_wdt_driver = { | 435 | static struct platform_driver ts72xx_wdt_driver = { |
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index cd7ef34d2dce..6bad63379a4c 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c | |||
@@ -2163,8 +2163,7 @@ static int btrfs_interface_init(void) | |||
2163 | 2163 | ||
2164 | static void btrfs_interface_exit(void) | 2164 | static void btrfs_interface_exit(void) |
2165 | { | 2165 | { |
2166 | if (misc_deregister(&btrfs_misc) < 0) | 2166 | misc_deregister(&btrfs_misc); |
2167 | printk(KERN_INFO "BTRFS: misc_deregister failed for control device\n"); | ||
2168 | } | 2167 | } |
2169 | 2168 | ||
2170 | static void btrfs_print_info(void) | 2169 | static void btrfs_print_info(void) |
diff --git a/fs/dlm/plock.c b/fs/dlm/plock.c index e0ab3a93eeff..5532f097f6da 100644 --- a/fs/dlm/plock.c +++ b/fs/dlm/plock.c | |||
@@ -509,7 +509,6 @@ int dlm_plock_init(void) | |||
509 | 509 | ||
510 | void dlm_plock_exit(void) | 510 | void dlm_plock_exit(void) |
511 | { | 511 | { |
512 | if (misc_deregister(&plock_dev_misc) < 0) | 512 | misc_deregister(&plock_dev_misc); |
513 | log_print("dlm_plock_exit: misc_deregister failed"); | ||
514 | } | 513 | } |
515 | 514 | ||
diff --git a/fs/dlm/user.c b/fs/dlm/user.c index fb85f32e9eca..75ecc0d3bc85 100644 --- a/fs/dlm/user.c +++ b/fs/dlm/user.c | |||
@@ -362,18 +362,15 @@ fail: | |||
362 | 362 | ||
363 | int dlm_device_deregister(struct dlm_ls *ls) | 363 | int dlm_device_deregister(struct dlm_ls *ls) |
364 | { | 364 | { |
365 | int error; | ||
366 | |||
367 | /* The device is not registered. This happens when the lockspace | 365 | /* The device is not registered. This happens when the lockspace |
368 | was never used from userspace, or when device_create_lockspace() | 366 | was never used from userspace, or when device_create_lockspace() |
369 | calls dlm_release_lockspace() after the register fails. */ | 367 | calls dlm_release_lockspace() after the register fails. */ |
370 | if (!ls->ls_device.name) | 368 | if (!ls->ls_device.name) |
371 | return 0; | 369 | return 0; |
372 | 370 | ||
373 | error = misc_deregister(&ls->ls_device); | 371 | misc_deregister(&ls->ls_device); |
374 | if (!error) | 372 | kfree(ls->ls_device.name); |
375 | kfree(ls->ls_device.name); | 373 | return 0; |
376 | return error; | ||
377 | } | 374 | } |
378 | 375 | ||
379 | static int device_user_purge(struct dlm_user_proc *proc, | 376 | static int device_user_purge(struct dlm_user_proc *proc, |
diff --git a/fs/ocfs2/stack_user.c b/fs/ocfs2/stack_user.c index 2768eb1da2b8..ced70c8139f7 100644 --- a/fs/ocfs2/stack_user.c +++ b/fs/ocfs2/stack_user.c | |||
@@ -655,14 +655,7 @@ static int ocfs2_control_init(void) | |||
655 | 655 | ||
656 | static void ocfs2_control_exit(void) | 656 | static void ocfs2_control_exit(void) |
657 | { | 657 | { |
658 | int rc; | 658 | misc_deregister(&ocfs2_control_device); |
659 | |||
660 | rc = misc_deregister(&ocfs2_control_device); | ||
661 | if (rc) | ||
662 | printk(KERN_ERR | ||
663 | "ocfs2: Unable to deregister ocfs2_control device " | ||
664 | "(errno %d)\n", | ||
665 | -rc); | ||
666 | } | 659 | } |
667 | 660 | ||
668 | static void fsdlm_lock_ast_wrapper(void *astarg) | 661 | static void fsdlm_lock_ast_wrapper(void *astarg) |
diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h index 819077c32690..81f6e427ba6b 100644 --- a/include/linux/miscdevice.h +++ b/include/linux/miscdevice.h | |||
@@ -67,7 +67,7 @@ struct miscdevice { | |||
67 | }; | 67 | }; |
68 | 68 | ||
69 | extern int misc_register(struct miscdevice *misc); | 69 | extern int misc_register(struct miscdevice *misc); |
70 | extern int misc_deregister(struct miscdevice *misc); | 70 | extern void misc_deregister(struct miscdevice *misc); |
71 | 71 | ||
72 | #define MODULE_ALIAS_MISCDEV(minor) \ | 72 | #define MODULE_ALIAS_MISCDEV(minor) \ |
73 | MODULE_ALIAS("char-major-" __stringify(MISC_MAJOR) \ | 73 | MODULE_ALIAS("char-major-" __stringify(MISC_MAJOR) \ |