staging: android: ion_test: unregister the platform device
authorPhong Tran <tranmanphong@gmail.com>
Fri, 3 Apr 2015 14:07:02 +0000 (21:07 +0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 May 2015 07:24:08 +0000 (09:24 +0200)
The driver has to unregister from platform device when it's unloaded

Signed-off-by: Phong Tran <tranmanphong@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/android/ion/ion_test.c

index 052d5e2177e7fa231fa8833b09b5d727fca1d478..7d6e6b6bc894c9336674bbd16455592f1cf396ab 100644 (file)
@@ -272,6 +272,7 @@ static int ion_test_remove(struct platform_device *pdev)
        return misc_deregister(&testdev->misc);
 }
 
+static struct platform_device *ion_test_pdev;
 static struct platform_driver ion_test_platform_driver = {
        .remove = ion_test_remove,
        .driver = {
@@ -281,13 +282,18 @@ static struct platform_driver ion_test_platform_driver = {
 
 static int __init ion_test_init(void)
 {
-       platform_device_register_simple("ion-test", -1, NULL, 0);
+       ion_test_pdev = platform_device_register_simple("ion-test",
+                                                       -1, NULL, 0);
+       if (!ion_test_pdev)
+               return -ENODEV;
+
        return platform_driver_probe(&ion_test_platform_driver, ion_test_probe);
 }
 
 static void __exit ion_test_exit(void)
 {
        platform_driver_unregister(&ion_test_platform_driver);
+       platform_device_unregister(ion_test_pdev);
 }
 
 module_init(ion_test_init);