]> sigrok.org Git - libsigrok.git/blobdiff - hardware/uni-t-dmm/api.c
hardware: Make USB drivers use the libusb_context in struct sr_context
[libsigrok.git] / hardware / uni-t-dmm / api.c
index 8e390c06882cb254a751e6a6452ecb49cf8a60ba..11755bcdcc9730c8c46c09405887207b9858f231 100644 (file)
@@ -55,7 +55,6 @@ static int clear_instances(void)
 
 static int hw_init(struct sr_context *sr_ctx, int dmm)
 {
-       int ret;
        struct drv_context *drvc;
 
        if (!(drvc = g_try_malloc0(sizeof(struct drv_context)))) {
@@ -63,12 +62,6 @@ static int hw_init(struct sr_context *sr_ctx, int dmm)
                return SR_ERR_MALLOC;
        }
 
-       if ((ret = libusb_init(NULL)) < 0) {
-               sr_err("Failed to initialize libusb: %s.",
-                      libusb_error_name(ret));
-               return SR_ERR;
-       }
-
        if (dmm == UNI_T_UT61D)
                di = di_ut61d;
        else if (dmm == VOLTCRAFT_VC820)
@@ -107,7 +100,7 @@ static GSList *hw_scan(GSList *options)
 
        devices = NULL;
 
-       if (!(l = sr_usb_connect(NULL, "1a86.e008")))
+       if (!(l = sr_usb_connect(drvc->sr_ctx->libusb_ctx, "1a86.e008")))
                return NULL;
 
        for (i = 0; i < (int)g_slist_length(l); i++) {
@@ -170,8 +163,6 @@ static int hw_cleanup(void)
 {
        clear_instances();
 
-       // libusb_exit(NULL);
-
        return SR_OK;
 }