diff options
-rw-r--r-- | drivers/staging/dgnc/dgnc_driver.c | 38 |
1 files changed, 15 insertions, 23 deletions
diff --git a/drivers/staging/dgnc/dgnc_driver.c b/drivers/staging/dgnc/dgnc_driver.c index 726b5ddb8107..a9f1a8c09725 100644 --- a/drivers/staging/dgnc/dgnc_driver.c +++ b/drivers/staging/dgnc/dgnc_driver.c @@ -96,8 +96,6 @@ int dgnc_poll_tick = 20; /* Poll interval - 20 ms */ /* * Static vars. */ -static uint dgnc_Major_Control_Registered = FALSE; - static struct class *dgnc_class; /* @@ -197,11 +195,9 @@ static void dgnc_cleanup_module(void) dgnc_remove_driver_sysfiles(&dgnc_driver); - if (dgnc_Major_Control_Registered) { - device_destroy(dgnc_class, MKDEV(dgnc_Major, 0)); - class_destroy(dgnc_class); - unregister_chrdev(dgnc_Major, "dgnc"); - } + device_destroy(dgnc_class, MKDEV(dgnc_Major, 0)); + class_destroy(dgnc_class); + unregister_chrdev(dgnc_Major, "dgnc"); for (i = 0; i < dgnc_NumBoards; ++i) { dgnc_remove_ports_sysfiles(dgnc_Board[i]); @@ -278,24 +274,20 @@ static int dgnc_start(void) * Register our base character device into the kernel. * This allows the download daemon to connect to the downld device * before any of the boards are init'ed. + * + * Register management/dpa devices */ - if (!dgnc_Major_Control_Registered) { - /* - * Register management/dpa devices - */ - rc = register_chrdev(0, "dgnc", &dgnc_BoardFops); - if (rc <= 0) { - APR(("Can't register dgnc driver device (%d)\n", rc)); - return -ENXIO; - } - dgnc_Major = rc; - - dgnc_class = class_create(THIS_MODULE, "dgnc_mgmt"); - device_create(dgnc_class, NULL, - MKDEV(dgnc_Major, 0), - NULL, "dgnc_mgmt"); - dgnc_Major_Control_Registered = TRUE; + rc = register_chrdev(0, "dgnc", &dgnc_BoardFops); + if (rc <= 0) { + APR(("Can't register dgnc driver device (%d)\n", rc)); + return -ENXIO; } + dgnc_Major = rc; + + dgnc_class = class_create(THIS_MODULE, "dgnc_mgmt"); + device_create(dgnc_class, NULL, + MKDEV(dgnc_Major, 0), + NULL, "dgnc_mgmt"); /* * Init any global tty stuff. |