Commit 92ded48c authored by Konrad Zapalowicz's avatar Konrad Zapalowicz Committed by Greg Kroah-Hartman

staging: dgnc: Siplify the dgnc_start function

This commit slightly simplifies the sgnc_start() function by
rearranging it. As a result the indentation level is reduced.
This is not the functional change.
Signed-off-by: default avatarKonrad Zapalowicz <bergo.torino@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9a633d00
......@@ -278,64 +278,60 @@ static int dgnc_start(void)
int rc = 0;
unsigned long flags;
if (dgnc_driver_start == FALSE) {
dgnc_driver_start = TRUE;
/* make sure that the globals are init'd before we do anything else */
dgnc_init_globals();
if (dgnc_driver_start == TRUE)
return rc;
dgnc_driver_start = TRUE;
dgnc_NumBoards = 0;
/* make sure that the globals are init'd before we do anything else */
dgnc_init_globals();
APR(("For the tools package or updated drivers please visit http://www.digi.com\n"));
APR(("For the tools package or updated drivers please visit http://www.digi.com\n"));
/*
* 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.
*/
if (!dgnc_Major_Control_Registered) {
/*
* 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));
rc = -ENXIO;
return rc;
}
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;
/*
* Init any global tty stuff.
*/
rc = dgnc_tty_preinit();
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;
}
if (rc < 0) {
APR(("tty preinit - not enough memory (%d)\n", rc));
return rc;
}
/*
* Init any global tty stuff.
*/
rc = dgnc_tty_preinit();
/* Start the poller */
DGNC_LOCK(dgnc_poll_lock, flags);
init_timer(&dgnc_poll_timer);
dgnc_poll_timer.function = dgnc_poll_handler;
dgnc_poll_timer.data = 0;
dgnc_poll_time = jiffies + dgnc_jiffies_from_ms(dgnc_poll_tick);
dgnc_poll_timer.expires = dgnc_poll_time;
DGNC_UNLOCK(dgnc_poll_lock, flags);
if (rc < 0) {
APR(("tty preinit - not enough memory (%d)\n", rc));
return rc;
}
add_timer(&dgnc_poll_timer);
/* Start the poller */
DGNC_LOCK(dgnc_poll_lock, flags);
init_timer(&dgnc_poll_timer);
dgnc_poll_timer.function = dgnc_poll_handler;
dgnc_poll_timer.data = 0;
dgnc_poll_time = jiffies + dgnc_jiffies_from_ms(dgnc_poll_tick);
dgnc_poll_timer.expires = dgnc_poll_time;
DGNC_UNLOCK(dgnc_poll_lock, flags);
dgnc_driver_state = DRIVER_READY;
}
add_timer(&dgnc_poll_timer);
dgnc_driver_state = DRIVER_READY;
return rc;
}
......@@ -814,6 +810,7 @@ static void dgnc_init_globals(void)
dgnc_rawreadok = rawreadok;
dgnc_trcbuf_size = trcbuf_size;
dgnc_debug = debug;
dgnc_NumBoards = 0;
for (i = 0; i < MAXBOARDS; i++)
dgnc_Board[i] = NULL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment