]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/zeroplus-logic-cube/api.c
Factor out std_session_send_df_end() helper.
[libsigrok.git] / src / hardware / zeroplus-logic-cube / api.c
index 5de6f317099d1a63d6346d35d6f4dd65b5d657e3..3681352e73e058828ec03e4cb7b800b80e554eef 100644 (file)
@@ -17,6 +17,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <config.h>
 #include "protocol.h"
 
 #define VENDOR_NAME                    "ZEROPLUS"
@@ -30,7 +31,7 @@
 struct zp_model {
        uint16_t vid;
        uint16_t pid;
-       char *model_name;
+       const char *model_name;
        unsigned int channels;
        unsigned int sample_depth;      /* In Ksamples/channel */
        unsigned int max_sampling_freq;
@@ -50,7 +51,7 @@ static const struct zp_model zeroplus_models[] = {
        {0x0c12, 0x700e, "LAP-C(16032)",  16, 32,   100},
        {0x0c12, 0x7016, "LAP-C(162000)", 16, 2048, 200},
        {0x0c12, 0x7100, "AKIP-9101", 16, 256, 200},
-       { 0, 0, 0, 0, 0, 0 }
+       ALL_ZERO
 };
 
 static const uint32_t devopts[] = {
@@ -174,7 +175,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
 
        (void)options;
 
-       drvc = di->priv;
+       drvc = di->context;
 
        devices = NULL;
 
@@ -182,12 +183,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
        libusb_get_device_list(drvc->sr_ctx->libusb_ctx, &devlist); /* TODO: Errors. */
 
        for (i = 0; devlist[i]; i++) {
-               ret = libusb_get_device_descriptor(devlist[i], &des);
-               if (ret != 0) {
-                       sr_err("Failed to get device descriptor: %s.",
-                              libusb_error_name(ret));
-                       continue;
-               }
+               libusb_get_device_descriptor(devlist[i], &des);
 
                if ((ret = libusb_open(devlist[i], &hdl)) < 0)
                        continue;
@@ -262,7 +258,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
 
 static GSList *dev_list(const struct sr_dev_driver *di)
 {
-       return ((struct drv_context *)(di->priv))->instances;
+       return ((struct drv_context *)(di->context))->instances;
 }
 
 static int dev_open(struct sr_dev_inst *sdi)
@@ -275,7 +271,7 @@ static int dev_open(struct sr_dev_inst *sdi)
        int device_count, ret, i;
        char connection_id[64];
 
-       drvc = di->priv;
+       drvc = di->context;
        usb = sdi->conn;
 
        if (!(devc = sdi->priv)) {
@@ -587,8 +583,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi,
 
        /* Check for empty capture */
        if ((status & STATUS_READY) && !stop_address) {
-               packet.type = SR_DF_END;
-               sr_session_send(cb_data, &packet);
+               std_session_send_df_end(cb_data, LOG_PREFIX);
                return SR_OK;
        }
 
@@ -696,8 +691,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi,
        analyzer_read_stop(usb->devhdl);
        g_free(buf);
 
-       packet.type = SR_DF_END;
-       sr_session_send(cb_data, &packet);
+       std_session_send_df_end(cb_data, LOG_PREFIX);
 
        return SR_OK;
 }
@@ -707,10 +701,8 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data)
 {
        struct dev_context *devc;
        struct sr_usb_dev_inst *usb;
-       struct sr_datafeed_packet packet;
 
-       packet.type = SR_DF_END;
-       sr_session_send(cb_data, &packet);
+       std_session_send_df_end(cb_data, LOG_PREFIX);
 
        if (!(devc = sdi->priv)) {
                sr_err("%s: sdi->priv was NULL", __func__);
@@ -740,5 +732,5 @@ SR_PRIV struct sr_dev_driver zeroplus_logic_cube_driver_info = {
        .dev_close = dev_close,
        .dev_acquisition_start = dev_acquisition_start,
        .dev_acquisition_stop = dev_acquisition_stop,
-       .priv = NULL,
+       .context = NULL,
 };