]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/hung-chang-dso-2100/api.c
Add sr_dev_acquisition_start(), factor out SR_ERR_DEV_CLOSED check.
[libsigrok.git] / src / hardware / hung-chang-dso-2100 / api.c
index 56acd856eb620e447a1460b87ed173b44865169c..70b094a605e023b0fa71ef8ac063f9f881a1a992 100644 (file)
@@ -560,10 +560,12 @@ static int config_commit(const struct sr_dev_inst *sdi)
                break;
        case 0x00:
                state = 0x01;
+               /* Fallthrough */
        default:
                ret = hung_chang_dso_2100_move_to(sdi, 1);
                if (ret != SR_OK)
                        return ret;
+               /* Fallthrough */
        case 0x01:
                hung_chang_dso_2100_write_mbox(sdi->conn, 4);
        }
@@ -662,9 +664,6 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
        struct dev_context *devc = sdi->priv;
        int ret;
 
-       if (sdi->status != SR_ST_ACTIVE)
-               return SR_ERR_DEV_CLOSED;
-
        if (devc->channel) {
                static const float res_array[] = {0.5, 1, 2, 5};
                static const uint8_t relays[] = {100, 10, 10, 1};
@@ -690,11 +689,8 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
        return SR_OK;
 }
 
-SR_PRIV int hung_chang_dso_2100_dev_acquisition_stop(const struct sr_dev_inst *sdi)
+static int dev_acquisition_stop(struct sr_dev_inst *sdi)
 {
-       if (sdi->status != SR_ST_ACTIVE)
-               return SR_ERR_DEV_CLOSED;
-
        std_session_send_df_end(sdi);
        sr_session_source_remove(sdi->session, -1);
        hung_chang_dso_2100_move_to(sdi, 1);
@@ -702,11 +698,6 @@ SR_PRIV int hung_chang_dso_2100_dev_acquisition_stop(const struct sr_dev_inst *s
        return SR_OK;
 }
 
-static int dev_acquisition_stop(struct sr_dev_inst *sdi)
-{
-       return hung_chang_dso_2100_dev_acquisition_stop(sdi);
-}
-
 static struct sr_dev_driver hung_chang_dso_2100_driver_info = {
        .name = "hung-chang-dso-2100",
        .longname = "Hung-Chang DSO-2100",