X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fhantek-dso%2Fapi.c;h=dc94f033c806c527e8277964dd3b83a983f15597;hb=a9010323ddf4e479663e871386c05db05ea3522e;hp=84ee45b85f3f3d03dd1a4d96b9f707a62a0e1562;hpb=c3cd66a00cdb4afbd43108563d979eebfbafaf69;p=libsigrok.git diff --git a/src/hardware/hantek-dso/api.c b/src/hardware/hantek-dso/api.c index 84ee45b8..dc94f033 100644 --- a/src/hardware/hantek-dso/api.c +++ b/src/hardware/hantek-dso/api.c @@ -232,19 +232,15 @@ static int configure_channels(const struct sr_dev_inst *sdi) return SR_OK; } -static void clear_dev_context(void *priv) +static void clear_helper(struct dev_context *devc) { - struct dev_context *devc; - - devc = priv; g_free(devc->triggersource); g_slist_free(devc->enabled_channels); - } static int dev_clear(const struct sr_dev_driver *di) { - return std_dev_clear(di, clear_dev_context); + return std_dev_clear_with_callback(di, (std_dev_clear_callback)clear_helper); } static GSList *scan(struct sr_dev_driver *di, GSList *options) @@ -487,11 +483,10 @@ static int config_set(uint32_t key, GVariant *data, const struct sr_dev_inst *sd struct dev_context *devc; double tmp_double; uint64_t tmp_u64, p, q; - int tmp_int, ch_idx, ret; + int tmp_int, ch_idx; unsigned int i; const char *tmp_str; - ret = SR_OK; devc = sdi->priv; if (!cg) { switch (key) { @@ -509,7 +504,7 @@ static int config_set(uint32_t key, GVariant *data, const struct sr_dev_inst *sd tmp_double = g_variant_get_double(data); if (tmp_double < 0.0 || tmp_double > 1.0) { sr_err("Trigger position should be between 0.0 and 1.0."); - ret = SR_ERR_ARG; + return SR_ERR_ARG; } else devc->triggerposition = tmp_double; break; @@ -522,7 +517,7 @@ static int config_set(uint32_t key, GVariant *data, const struct sr_dev_inst *sd } } if (i == NUM_BUFFER_SIZES) - ret = SR_ERR_ARG; + return SR_ERR_ARG; break; case SR_CONF_TIMEBASE: g_variant_get(data, "(tt)", &p, &q); @@ -536,7 +531,7 @@ static int config_set(uint32_t key, GVariant *data, const struct sr_dev_inst *sd if (tmp_int >= 0) devc->timebase = tmp_int; else - ret = SR_ERR_ARG; + return SR_ERR_ARG; break; case SR_CONF_TRIGGER_SOURCE: tmp_str = g_variant_get_string(data, NULL); @@ -547,11 +542,10 @@ static int config_set(uint32_t key, GVariant *data, const struct sr_dev_inst *sd } } if (trigger_sources[i] == 0) - ret = SR_ERR_ARG; + return SR_ERR_ARG; break; default: - ret = SR_ERR_NA; - break; + return SR_ERR_NA; } } else { if (sdi->channel_groups->data == cg) @@ -576,7 +570,7 @@ static int config_set(uint32_t key, GVariant *data, const struct sr_dev_inst *sd if (tmp_int >= 0) { devc->voltage[ch_idx] = tmp_int; } else - ret = SR_ERR_ARG; + return SR_ERR_ARG; break; case SR_CONF_COUPLING: tmp_str = g_variant_get_string(data, NULL); @@ -587,15 +581,14 @@ static int config_set(uint32_t key, GVariant *data, const struct sr_dev_inst *sd } } if (coupling[i] == 0) - ret = SR_ERR_ARG; + return SR_ERR_ARG; break; default: - ret = SR_ERR_NA; - break; + return SR_ERR_NA; } } - return ret; + return SR_OK; } static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *sdi,