Removes redundant assignment of start_ms from log_register_commands().
Eliminates command_context parameter and return value.
Adds Doxygen comment block for this API call.
 
 int log_register_commands(struct command_context *cmd_ctx)
 {
-       start = timeval_ms();
-
        return register_commands(cmd_ctx, NULL, log_command_handlers);
 }
 
-int log_init(struct command_context *cmd_ctx)
+void log_init(void)
 {
-       /* set defaults for daemon configuration, if not set by cmdline or cfgfile */
+       /* set defaults for daemon configuration,
+        * if not set by cmdline or cfgfile */
        if (debug_level == -1)
                debug_level = LOG_LVL_INFO;
 
        if (log_output == NULL)
-       {
                log_output = stderr;
-       }
 
        start = last_time = timeval_ms();
-
-       return ERROR_OK;
 }
 
 int set_log_output(struct command_context *cmd_ctx, FILE *output)
 
        const char *function, const char *format, ...)
 __attribute__ ((format (PRINTF_ATTRIBUTE_FORMAT, 5, 6)));
 
-int log_init(struct command_context *cmd_ctx);
+/**
+ * Initialize logging module.  Call during program startup.
+ */
+void log_init(void);
 int set_log_output(struct command_context *cmd_ctx, FILE *output);
 
 int log_register_commands(struct command_context *cmd_ctx);
 
 /* NB! this fn can be invoked outside this file for non PC hosted builds */
 struct command_context *setup_command_handler(void)
 {
+       log_init();
+       LOG_DEBUG("log_init: complete");
+
        struct command_context *cmd_ctx;
 
        global_cmd_ctx = cmd_ctx = command_init(openocd_startup_tcl);
        pld_register_commands(cmd_ctx);
        mflash_register_commands(cmd_ctx);
 
-       if (log_init(cmd_ctx) != ERROR_OK)
-       {
-               exit(-1);
-       }
-       LOG_DEBUG("log init complete");
+       LOG_DEBUG("command registration: complete");
 
        LOG_OUTPUT(OPENOCD_VERSION "\n");