]> sigrok.org Git - libsigrok.git/blobdiff - hardware/chronovu-la8/api.c
sr/drivers: change driver dev_acquisition_start/_stop calls to use sdi
[libsigrok.git] / hardware / chronovu-la8 / api.c
index 337c07ff90080f9047580f4757883eb57ac6b063..419fd118d88ccfd11848fad4b6872417f8e89ef4 100644 (file)
@@ -38,7 +38,8 @@ static const uint16_t usb_pids[] = {
 };
 
 /* Function prototypes. */
-static int hw_dev_acquisition_stop(int dev_index, void *cb_data);
+static int hw_dev_acquisition_stop(const struct sr_dev_inst *sdi,
+               void *cb_data);
 
 static void clear_instances(void)
 {
@@ -396,7 +397,7 @@ static int receive_data(int fd, int revents, void *cb_data)
        /* Get one block of data. */
        if ((ret = la8_read_block(ctx)) < 0) {
                sr_err("la8: %s: la8_read_block error: %d", __func__, ret);
-               hw_dev_acquisition_stop(sdi->index, sdi);
+               hw_dev_acquisition_stop(sdi, sdi);
                return FALSE;
        }
 
@@ -412,15 +413,15 @@ static int receive_data(int fd, int revents, void *cb_data)
        for (i = 0; i < NUM_BLOCKS; i++)
                send_block_to_session_bus(ctx, i);
 
-       hw_dev_acquisition_stop(sdi->index, sdi);
+       hw_dev_acquisition_stop(sdi, sdi);
 
        // return FALSE; /* FIXME? */
        return TRUE;
 }
 
-static int hw_dev_acquisition_start(int dev_index, void *cb_data)
+static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi,
+               void *cb_data)
 {
-       struct sr_dev_inst *sdi;
        struct context *ctx;
        struct sr_datafeed_packet packet;
        struct sr_datafeed_header header;
@@ -428,11 +429,6 @@ static int hw_dev_acquisition_start(int dev_index, void *cb_data)
        uint8_t buf[4];
        int bytes_written;
 
-       if (!(sdi = sr_dev_inst_get(cdi->instances, dev_index))) {
-               sr_err("la8: %s: sdi was NULL", __func__);
-               return SR_ERR_BUG;
-       }
-
        if (!(ctx = sdi->priv)) {
                sr_err("la8: %s: sdi->priv was NULL", __func__);
                return SR_ERR_BUG;
@@ -494,24 +490,19 @@ static int hw_dev_acquisition_start(int dev_index, void *cb_data)
        ctx->trigger_found = 0;
 
        /* Hook up a dummy handler to receive data from the LA8. */
-       sr_source_add(-1, G_IO_IN, 0, receive_data, sdi);
+       sr_source_add(-1, G_IO_IN, 0, receive_data, (void *)sdi);
 
        return SR_OK;
 }
 
-static int hw_dev_acquisition_stop(int dev_index, void *cb_data)
+static int hw_dev_acquisition_stop(const struct sr_dev_inst *sdi,
+               void *cb_data)
 {
-       struct sr_dev_inst *sdi;
        struct context *ctx;
        struct sr_datafeed_packet packet;
 
        sr_dbg("la8: Stopping acquisition.");
 
-       if (!(sdi = sr_dev_inst_get(cdi->instances, dev_index))) {
-               sr_err("la8: %s: sdi was NULL", __func__);
-               return SR_ERR_BUG;
-       }
-
        if (!(ctx = sdi->priv)) {
                sr_err("la8: %s: sdi->priv was NULL", __func__);
                return SR_ERR_BUG;