]> sigrok.org Git - libsigrok.git/blobdiff - hardware/genericdmm/api.c
sr: add new driver API call: scan()
[libsigrok.git] / hardware / genericdmm / api.c
index be05fb29282158a8e0013b751bf891da492f4a4d..4a5da74432a5e1b448756279ec824169340f0158 100644 (file)
@@ -22,8 +22,8 @@
 #include <stdlib.h>
 #include <string.h>
 #include <fcntl.h>
-#include "sigrok.h"
-#include "sigrok-internal.h"
+#include "libsigrok.h"
+#include "libsigrok-internal.h"
 #include "genericdmm.h"
 
 
@@ -56,20 +56,24 @@ SR_PRIV GSList *genericdmm_dev_insts = NULL;
 SR_PRIV libusb_context *genericdmm_usb_context = NULL;
 
 
-static int hw_init(const char *devinfo)
+static int hw_init(void)
 {
-       struct sr_dev_inst *sdi;
-       struct context *ctx;
-       int devcnt = 0;
-
-       /* Avoid compiler warnings. */
-       (void)devinfo;
 
        if (libusb_init(&genericdmm_usb_context) != 0) {
                sr_err("genericdmm: Failed to initialize USB.");
-               return 0;
+               return SR_ERR;
        }
 
+
+       return SR_OK;
+}
+
+static int hw_scan(void)
+{
+       struct sr_dev_inst *sdi;
+       struct context *ctx;
+       int devcnt = 0;
+
        if (!(ctx = g_try_malloc0(sizeof(struct context)))) {
                sr_err("genericdmm: ctx malloc failed.");
                return 0;
@@ -613,6 +617,7 @@ SR_PRIV struct sr_dev_driver genericdmm_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,