X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fchronovu-la%2Fapi.c;h=3dc0598ec30aba688b00c712012dff6c3cb31029;hb=0af636bed97c174bea46e61e961eaa1b0b162e0f;hp=4edeedfc93cc6592a77b2c68a91ea48bd204eb64;hpb=5827f61b641cfd326a9cf2ea534eb4f9481a8187;p=libsigrok.git diff --git a/src/hardware/chronovu-la/api.c b/src/hardware/chronovu-la/api.c index 4edeedfc..3dc0598e 100644 --- a/src/hardware/chronovu-la/api.c +++ b/src/hardware/chronovu-la/api.c @@ -120,13 +120,10 @@ static int add_device(int idx, int model, GSList **devices) devc->cur_samplerate = devc->prof->max_samplerate; /* Register the device with libsigrok. */ - sdi = sr_dev_inst_new(0, SR_ST_INITIALIZING, - "ChronoVu", devc->prof->modelname, NULL); - if (!sdi) { - sr_err("Failed to create device instance."); - ret = SR_ERR; - goto err_free_final_buf; - } + sdi = sr_dev_inst_new(); + sdi->status = SR_ST_INITIALIZING; + sdi->vendor = g_strdup("ChronoVu"); + sdi->model = g_strdup(devc->prof->modelname); sdi->driver = di; sdi->priv = devc; @@ -142,11 +139,11 @@ static int add_device(int idx, int model, GSList **devices) *devices = g_slist_append(*devices, sdi); drvc->instances = g_slist_append(drvc->instances, sdi); - return SR_OK; + if (ret == SR_OK) + return SR_OK; err_free_dev_inst: sr_dev_inst_free(sdi); -err_free_final_buf: g_free(devc->final_buf); err_free_devc: g_free(devc); @@ -210,8 +207,6 @@ static int dev_open(struct sr_dev_inst *sdi) struct dev_context *devc; int ret; - ret = SR_ERR; - if (!(devc = sdi->priv)) return SR_ERR_BUG; @@ -254,7 +249,8 @@ static int dev_open(struct sr_dev_inst *sdi) sdi->status = SR_ST_ACTIVE; - return SR_OK; + if (ret == SR_OK) + return SR_OK; err_ftdi_free: ftdi_free(devc->ftdic); /* Close device (if open), free FTDI context. */ @@ -379,7 +375,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst * case SR_CONF_TRIGGER_MATCH: if (!sdi || !sdi->priv || !(devc = sdi->priv) || !devc->prof) return SR_ERR_BUG; - *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, + *data = g_variant_new_fixed_array(G_VARIANT_TYPE_INT32, trigger_matches, devc->prof->num_trigger_matches, sizeof(int32_t)); break;