]> sigrok.org Git - libsigrok.git/blobdiff - hardware/asix-sigma/asix-sigma.c
sr: add new driver API call: scan()
[libsigrok.git] / hardware / asix-sigma / asix-sigma.c
index 59faa6e2adea2284ad88e561025c4ea5740ae3d2..097a56489437cde00c3b164c9bf4adbb60527cdd 100644 (file)
@@ -27,8 +27,8 @@
 #include <glib/gstdio.h>
 #include <ftdi.h>
 #include <string.h>
-#include "sigrok.h"
-#include "sigrok-internal.h"
+#include "libsigrok.h"
+#include "libsigrok-internal.h"
 #include "asix-sigma.h"
 
 #define USB_VENDOR                     0xa600
@@ -42,7 +42,7 @@
 
 static GSList *dev_insts = NULL;
 
-static uint64_t supported_samplerates[] = {
+static const uint64_t supported_samplerates[] = {
        SR_KHZ(200),
        SR_KHZ(250),
        SR_KHZ(500),
@@ -81,7 +81,7 @@ static const char *probe_names[NUM_PROBES + 1] = {
        NULL,
 };
 
-static struct sr_samplerates samplerates = {
+static const struct sr_samplerates samplerates = {
        0,
        0,
        0,
@@ -405,7 +405,15 @@ static int bin2bitbang(const char *filename,
        return SR_OK;
 }
 
-static int hw_init(const char *devinfo)
+static int hw_init(void)
+{
+
+       /* Nothing to do. */
+
+       return SR_OK;
+}
+
+static int hw_scan(void)
 {
        struct sr_dev_inst *sdi;
        struct context *ctx;
@@ -413,9 +421,6 @@ static int hw_init(const char *devinfo)
        char serial_txt[10];
        uint32_t serial;
 
-       /* Avoid compiler warnings. */
-       (void)devinfo;
-
        if (!(ctx = g_try_malloc(sizeof(struct context)))) {
                sr_err("sigma: %s: ctx malloc failed", __func__);
                return SR_ERR_MALLOC;
@@ -1440,6 +1445,7 @@ SR_PRIV struct sr_dev_driver asix_sigma_driver_info = {
        .api_version = 1,
        .init = hw_init,
        .cleanup = hw_cleanup,
+       .scan = hw_scan,
        .dev_open = hw_dev_open,
        .dev_close = hw_dev_close,
        .dev_info_get = hw_dev_info_get,