X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fatten-pps3xxx%2Fapi.c;h=c88914f9139aca7bd077abcf4eee83b062219170;hb=e66d1892d0dd16ed166fc8f13493f95de0607362;hp=59252838341836e71658cc260657ea0160d89fda;hpb=f1ba6b4b2c9a8ecf90bb31efb218752aa7e49d1a;p=libsigrok.git diff --git a/src/hardware/atten-pps3xxx/api.c b/src/hardware/atten-pps3xxx/api.c index 59252838..c88914f9 100644 --- a/src/hardware/atten-pps3xxx/api.c +++ b/src/hardware/atten-pps3xxx/api.c @@ -187,14 +187,13 @@ static int config_get(uint32_t key, GVariant **data, const struct sr_dev_inst *s { struct dev_context *devc; struct sr_channel *ch; - int channel, ret; + int channel; if (!sdi) return SR_ERR_ARG; devc = sdi->priv; - ret = SR_OK; if (!cg) { /* No channel group: global options. */ switch (key) { @@ -233,7 +232,7 @@ static int config_get(uint32_t key, GVariant **data, const struct sr_dev_inst *s } } - return ret; + return SR_OK; } static int find_str(const char *str, const char **strings, int array_size) @@ -338,33 +337,16 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst * struct sr_channel *ch; GVariant *gvar; GVariantBuilder gvb; - int channel, ret, i; - - /* Always available. */ - if (key == SR_CONF_SCAN_OPTIONS) { - *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, - scanopts, ARRAY_SIZE(scanopts), sizeof(uint32_t)); - return SR_OK; - } - - if (key == SR_CONF_DEVICE_OPTIONS && !sdi) { - *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, - drvopts, ARRAY_SIZE(drvopts), sizeof(uint32_t)); - return SR_OK; - } + int channel, i; - if (!sdi) - return SR_ERR_ARG; + devc = (sdi) ? sdi->priv : NULL; - devc = sdi->priv; - ret = SR_OK; if (!cg) { /* No channel group: global options. */ switch (key) { + case SR_CONF_SCAN_OPTIONS: case SR_CONF_DEVICE_OPTIONS: - *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, - devopts, ARRAY_SIZE(devopts), sizeof(uint32_t)); - break; + return STD_CONFIG_LIST(key, data, sdi, cg, scanopts, drvopts, devopts); case SR_CONF_CHANNEL_CONFIG: if (devc->model->channel_modes == CHANMODE_INDEPENDENT) { /* The 1-channel models. */ @@ -379,8 +361,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst * } } else { /* Channel group specified: per-channel options. */ - if (!sdi) - return SR_ERR_ARG; + /* We only ever have one channel per channel group in this driver. */ ch = cg->channels->data; channel = ch->index; @@ -413,7 +394,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst * } } - return ret; + return SR_OK; } static int dev_close(struct sr_dev_inst *sdi) @@ -475,7 +456,7 @@ static struct sr_dev_driver atten_pps3203_driver_info = { .cleanup = std_cleanup, .scan = scan_3203, .dev_list = std_dev_list, - .dev_clear = NULL, + .dev_clear = std_dev_clear, .config_get = config_get, .config_set = config_set, .config_list = config_list,