]> sigrok.org Git - libsigrok.git/blobdiff - hardware/asix-sigma/asix-sigma.c
sr_driver_scan(): Improve checks.
[libsigrok.git] / hardware / asix-sigma / asix-sigma.c
index 7da0d97b2ba120218b153c7ccfaca4a2c1d20f34..d40c911b347c1a572398d1c469f3f73343356aa2 100644 (file)
@@ -37,7 +37,7 @@
 #define USB_VENDOR_NAME                        "ASIX"
 #define USB_MODEL_NAME                 "SIGMA"
 #define USB_MODEL_VERSION              ""
-#define TRIGGER_TYPES                  "rf10"
+#define TRIGGER_TYPE                   "rf10"
 #define NUM_PROBES                     16
 
 SR_PRIV struct sr_dev_driver asix_sigma_driver_info;
@@ -426,6 +426,7 @@ static int hw_init(struct sr_context *sr_ctx)
                sr_err("Driver context malloc failed.");
                return SR_ERR_MALLOC;
        }
+
        drvc->sr_ctx = sr_ctx;
        di->priv = drvc;
 
@@ -447,7 +448,9 @@ static GSList *hw_scan(GSList *options)
        (void)options;
 
        drvc = di->priv;
+
        devices = NULL;
+
        clear_instances();
 
        if (!(devc = g_try_malloc(sizeof(struct dev_context)))) {
@@ -792,12 +795,6 @@ static int config_get(int id, const void **data, const struct sr_dev_inst *sdi)
        struct dev_context *devc;
 
        switch (id) {
-       case SR_DI_HWCAPS:
-               *data = hwcaps;
-               break;
-       case SR_DI_TRIGGER_TYPES:
-               *data = (char *)TRIGGER_TYPES;
-               break;
        case SR_CONF_SAMPLERATE:
                if (sdi) {
                        devc = sdi->priv;
@@ -846,9 +843,15 @@ static int config_list(int key, const void **data, const struct sr_dev_inst *sdi
        (void)sdi;
 
        switch (key) {
+       case SR_CONF_DEVICE_OPTIONS:
+               *data = hwcaps;
+               break;
        case SR_CONF_SAMPLERATE:
                *data = &samplerates;
                break;
+       case SR_CONF_TRIGGER_TYPE:
+               *data = (char *)TRIGGER_TYPE;
+               break;
        default:
                return SR_ERR_ARG;
        }