This is an automated email from Gerrit.

Marc Schink ([email protected]) just uploaded a new patch set to 
Gerrit, which you can find at http://openocd.zylin.com/3701

-- gerrit

commit 9e05d52fd8c3b015697e5e3746b0c148cbd5813d
Author: Marc Schink <[email protected]>
Date:   Tue Aug 16 18:36:27 2016 +0200

    jlink: Adjust log verbosity of libjaylink
    
    Currently, the log verbosity of libjaylink is not accessable from the
    user interface. Therefore, changing the log verbosity of libjaylink is
    only possible from within the J-Link driver source code which is not
    acceptable for end users.
    
    Output the libjaylink log messages depending on the debug level of
    OpenOCD.
    
    Change-Id: I6bf7bf8f4c8a12fb9e955eeced68224545fa0b5c
    Signed-off-by: Marc Schink <[email protected]>

diff --git a/src/jtag/drivers/jlink.c b/src/jtag/drivers/jlink.c
index 3009058..b28e8e4 100644
--- a/src/jtag/drivers/jlink.c
+++ b/src/jtag/drivers/jlink.c
@@ -502,6 +502,39 @@ static bool adjust_swd_buffer_size(void)
        return true;
 }
 
+static int jaylink_log_handler(const struct jaylink_context *ctx, int level,
+               const char *format, va_list args, void *user_data)
+{
+       enum log_levels tmp;
+
+       (void)ctx;
+       (void)user_data;
+
+       switch (level) {
+       case JAYLINK_LOG_LEVEL_ERROR:
+               tmp = LOG_LVL_ERROR;
+               break;
+       case JAYLINK_LOG_LEVEL_WARNING:
+               tmp = LOG_LVL_WARNING;
+               break;
+       case JAYLINK_LOG_LEVEL_INFO:
+       case JAYLINK_LOG_LEVEL_DEBUG:
+               tmp = LOG_LVL_DEBUG;
+               break;
+       default:
+               tmp = LOG_LVL_WARNING;
+       }
+
+       if (tmp > debug_level)
+               return 0;
+
+       fprintf(stderr, "jaylink: ");
+       vfprintf(stderr, format, args);
+       fprintf(stderr, "\n");
+
+       return 0;
+}
+
 static int jlink_init(void)
 {
        int ret;
@@ -523,6 +556,15 @@ static int jlink_init(void)
                return ERROR_JTAG_INIT_FAILED;
        }
 
+       ret = jaylink_log_set_callback(jayctx, &jaylink_log_handler, NULL);
+
+       if (ret != JAYLINK_OK) {
+               LOG_ERROR("jaylink_log_set_callback() failed: %s.",
+                       jaylink_strerror_name(ret));
+               jaylink_exit(jayctx);
+               return ERROR_JTAG_INIT_FAILED;
+       }
+
        ret = jaylink_get_device_list(jayctx, &devs);
 
        if (ret < 0) {

-- 

------------------------------------------------------------------------------
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to