]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/hp-3457a/api.c
drivers: Add and use STD_CONFIG_LIST().
[libsigrok.git] / src / hardware / hp-3457a / api.c
index 5c6ea7121e18ae4ba719e156998536e0bfdacb78..23ac98517fbcc94c06744cea82ee45e66cf76714 100644 (file)
@@ -282,35 +282,12 @@ static int config_set(uint32_t key, GVariant *data,
 static int config_list(uint32_t key, GVariant **data,
        const struct sr_dev_inst *sdi, const struct sr_channel_group *cg)
 {
-       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;
-       } else 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;
-       } else if ((key == SR_CONF_DEVICE_OPTIONS) && !cg) {
-               *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
-                       devopts, ARRAY_SIZE(devopts), sizeof(uint32_t));
-               return SR_OK;
-       }
-
-       /* From here on, we're only concerned with channel group config. */
-       if (!cg)
-               return SR_ERR_NA;
-
        /*
         * TODO: Implement channel group configuration when adding support for
         * plug-in cards.
         */
 
-       switch (key) {
-       default:
-               return SR_ERR_NA;
-       }
-
-       return SR_OK;
+       return STD_CONFIG_LIST(key, data, sdi, cg, scanopts, drvopts, devopts);
 }
 
 static void create_channel_index_list(GSList *channels, GArray **arr)