]> 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 bae3f0f48d02c3defddbe221b4dd45a5259ab9e6..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)
@@ -948,17 +952,17 @@ static void hw_stop_acquisition(int device_index, gpointer session_device_id)
 }
 
 struct sr_device_plugin ols_plugin_info = {
-       "ols",
-       "Openbench Logic Sniffer",
-       1,
-       hw_init,
-       hw_cleanup,
-       hw_opendev,
-       hw_closedev,
-       hw_get_device_info,
-       hw_get_status,
-       hw_get_capabilities,
-       hw_set_configuration,
-       hw_start_acquisition,
-       hw_stop_acquisition,
+       .name = "ols",
+       .longname = "Openbench Logic Sniffer",
+       .api_version = 1,
+       .init = hw_init,
+       .cleanup = hw_cleanup,
+       .opendev = hw_opendev,
+       .closedev = hw_closedev,
+       .get_device_info = hw_get_device_info,
+       .get_status = hw_get_status,
+       .get_capabilities = hw_get_capabilities,
+       .set_configuration = hw_set_configuration,
+       .start_acquisition = hw_start_acquisition,
+       .stop_acquisition = hw_stop_acquisition,
 };