]> sigrok.org Git - libsigrok.git/commitdiff
kingst-la2016: move acquisition abort from api.c to protocol.c
authorGerhard Sittig <redacted>
Sun, 9 Jan 2022 21:38:52 +0000 (22:38 +0100)
committerGerhard Sittig <redacted>
Sun, 6 Feb 2022 17:53:53 +0000 (18:53 +0100)
There was the abort_acquisition() routine (whithout a prefix) and the
la2016_abort_acquisition() routine (with a prefix). Fold the termination
of USB reception into the drivers's SR_PRIV routine which resides in
protocol.c, which eliminates the misplaced api.c implementation. Change
a few more receive callback related routines from SR_PRIV to static now
that their calls are intra compile unit.

src/hardware/kingst-la2016/api.c
src/hardware/kingst-la2016/protocol.c
src/hardware/kingst-la2016/protocol.h

index 8cf7bda65076ad015120d2675381aa165bbac327..3296a756bcf1f3588b0f974bbf4497c4ddc4fbf8 100644 (file)
@@ -540,12 +540,6 @@ static int config_list(uint32_t key, GVariant **data,
        return SR_OK;
 }
 
-static void abort_acquisition(struct dev_context *devc)
-{
-       if (devc->transfer)
-               libusb_cancel_transfer(devc->transfer);
-}
-
 static int configure_channels(const struct sr_dev_inst *sdi)
 {
        struct dev_context *devc;
@@ -596,7 +590,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
        devc->ctx = drvc->sr_ctx;
 
        if ((ret = la2016_start_acquisition(sdi)) != SR_OK) {
-               abort_acquisition(devc);
+               la2016_abort_acquisition(sdi);
                return ret;
        }
 
@@ -614,7 +608,6 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi)
        int ret;
 
        ret = la2016_abort_acquisition(sdi);
-       abort_acquisition(sdi->priv);
 
        return ret;
 }
index 203a344c3c7d5bf066422860c0111bd6549887ee..c275407b7a42111dba73822d28ca57ec56f04f31 100644 (file)
@@ -659,20 +659,43 @@ SR_PRIV int la2016_setup_acquisition(const struct sr_dev_inst *sdi)
 
 SR_PRIV int la2016_start_acquisition(const struct sr_dev_inst *sdi)
 {
-       return set_run_mode(sdi, 3);
+       int ret;
+
+       ret = set_run_mode(sdi, 3);
+       if (ret != SR_OK)
+               return ret;
+
+       return SR_OK;
 }
 
-SR_PRIV int la2016_stop_acquisition(const struct sr_dev_inst *sdi)
+static int la2016_stop_acquisition(const struct sr_dev_inst *sdi)
 {
-       return set_run_mode(sdi, 0);
+       int ret;
+
+       ret = set_run_mode(sdi, 0);
+       if (ret != SR_OK)
+               return ret;
+
+       return SR_OK;
 }
 
 SR_PRIV int la2016_abort_acquisition(const struct sr_dev_inst *sdi)
 {
-       return la2016_stop_acquisition(sdi);
+       int ret;
+       struct dev_context *devc;
+
+       ret = la2016_stop_acquisition(sdi);
+       if (ret != SR_OK)
+               return ret;
+
+       devc = sdi ? sdi->priv : NULL;
+       if (devc && devc->transfer)
+               libusb_cancel_transfer(devc->transfer);
+
+       return SR_OK;
 }
 
-SR_PRIV int la2016_has_triggered(const struct sr_dev_inst *sdi)
+static int la2016_has_triggered(const struct sr_dev_inst *sdi)
 {
        uint16_t state;
 
@@ -681,7 +704,7 @@ SR_PRIV int la2016_has_triggered(const struct sr_dev_inst *sdi)
        return (state & 0x3) == 1;
 }
 
-SR_PRIV int la2016_start_retrieval(const struct sr_dev_inst *sdi, libusb_transfer_cb_fn cb)
+static int la2016_start_retrieval(const struct sr_dev_inst *sdi, libusb_transfer_cb_fn cb)
 {
        struct dev_context *devc;
        struct sr_usb_dev_inst *usb;
index e6ffff012eb1804733bdb505ded933a5556475b0..8a778f31f4dfc5ecbcfb25fc3c1ac034893860c8 100644 (file)
@@ -122,10 +122,7 @@ struct dev_context {
 SR_PRIV int la2016_upload_firmware(struct sr_context *sr_ctx, libusb_device *dev, uint16_t product_id);
 SR_PRIV int la2016_setup_acquisition(const struct sr_dev_inst *sdi);
 SR_PRIV int la2016_start_acquisition(const struct sr_dev_inst *sdi);
-SR_PRIV int la2016_stop_acquisition(const struct sr_dev_inst *sdi);
 SR_PRIV int la2016_abort_acquisition(const struct sr_dev_inst *sdi);
-SR_PRIV int la2016_has_triggered(const struct sr_dev_inst *sdi);
-SR_PRIV int la2016_start_retrieval(const struct sr_dev_inst *sdi, libusb_transfer_cb_fn cb);
 SR_PRIV int la2016_receive_data(int fd, int revents, void *cb_data);
 SR_PRIV int la2016_init_device(const struct sr_dev_inst *sdi);
 SR_PRIV int la2016_deinit_device(const struct sr_dev_inst *sdi);