]> sigrok.org Git - libsigrok.git/blobdiff - hardware/openbench-logic-sniffer/ols.c
libsigrok: closedev() now has a return code.
[libsigrok.git] / hardware / openbench-logic-sniffer / ols.c
index ed40dbbe2a15ac5fc93842cbcd29fe1a61285738..e3620485315cb99e6bdfe21e5b611920f88185da 100644 (file)
@@ -431,7 +431,6 @@ static int hw_init(const char *deviceinfo)
                free(device_names[i]);
        }
 
-hw_init_free_serial_params:
        g_free(serial_params);
 hw_init_free_device_names:
        g_free(device_names);
@@ -459,18 +458,23 @@ static int hw_opendev(int device_index)
        return SR_OK;
 }
 
-static void hw_closedev(int device_index)
+static int hw_closedev(int device_index)
 {
        struct sr_device_instance *sdi;
 
-       if (!(sdi = sr_get_device_instance(device_instances, device_index)))
-               return;
+       if (!(sdi = sr_get_device_instance(device_instances, device_index))) {
+               sr_err("ols: %s: sdi was NULL", __func__);
+               return SR_ERR; /* TODO: SR_ERR_ARG? */
+       }
 
+       /* TODO */
        if (sdi->serial->fd != -1) {
                serial_close(sdi->serial->fd);
                sdi->serial->fd = -1;
                sdi->status = SR_ST_INACTIVE;
        }
+
+       return SR_OK;
 }
 
 static void hw_cleanup(void)
@@ -953,8 +957,8 @@ struct sr_device_plugin ols_plugin_info = {
        .api_version = 1,
        .init = hw_init,
        .cleanup = hw_cleanup,
-       .open = hw_opendev,
-       .close = hw_closedev,
+       .opendev = hw_opendev,
+       .closedev = hw_closedev,
        .get_device_info = hw_get_device_info,
        .get_status = hw_get_status,
        .get_capabilities = hw_get_capabilities,