]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/norma-dmm/api.c
Add helper function for scan completion
[libsigrok.git] / src / hardware / norma-dmm / api.c
index 780111432fda09a4125e0d7a146af619823a007c..2d154a408914e69dbda876741c9f7435be30f0a0 100644 (file)
@@ -41,8 +41,8 @@ static const uint32_t devopts[] = {
 
 #define SERIALCOMM "4800/8n1/dtr=1/rts=0/flow=1"
 
-SR_PRIV struct sr_dev_driver norma_dmm_driver_info;
-SR_PRIV struct sr_dev_driver siemens_b102x_driver_info;
+static struct sr_dev_driver norma_dmm_driver_info;
+static struct sr_dev_driver siemens_b102x_driver_info;
 
 static const char *get_brandstr(struct sr_dev_driver *drv)
 {
@@ -68,7 +68,6 @@ static const char *get_typestr(int type, struct sr_dev_driver *drv)
 static GSList *scan(struct sr_dev_driver *drv, GSList *options)
 {
        struct sr_dev_inst *sdi;
-       struct drv_context *drvc;
        struct dev_context *devc;
        struct sr_config *src;
        struct sr_serial_dev_inst *serial;
@@ -79,8 +78,6 @@ static GSList *scan(struct sr_dev_driver *drv, GSList *options)
        char req[10];
 
        devices = NULL;
-       drvc = drv->context;
-       drvc->instances = NULL;
        conn = serialcomm = NULL;
 
        for (l = options; l; l = l->next) {
@@ -139,9 +136,7 @@ static GSList *scan(struct sr_dev_driver *drv, GSList *options)
                        devc->version = g_strdup(&buf[9]);
                        sdi->conn = serial;
                        sdi->priv = devc;
-                       sdi->driver = drv;
                        sr_channel_new(sdi, 0, SR_CHANNEL_ANALOG, TRUE, "P1");
-                       drvc->instances = g_slist_append(drvc->instances, sdi);
                        devices = g_slist_append(devices, sdi);
                        break;
                }
@@ -164,7 +159,7 @@ static GSList *scan(struct sr_dev_driver *drv, GSList *options)
        if (!devices)
                sr_serial_dev_inst_free(serial);
 
-       return devices;
+       return std_scan_complete(drv, devices);
 }
 
 static int dev_close(struct sr_dev_inst *sdi)
@@ -246,7 +241,7 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi)
                        sdi->conn, LOG_PREFIX);
 }
 
-SR_PRIV struct sr_dev_driver norma_dmm_driver_info = {
+static struct sr_dev_driver norma_dmm_driver_info = {
        .name = "norma-dmm",
        .longname = "Norma DM9x0 DMMs",
        .api_version = 1,
@@ -264,8 +259,9 @@ SR_PRIV struct sr_dev_driver norma_dmm_driver_info = {
        .dev_acquisition_stop = dev_acquisition_stop,
        .context = NULL,
 };
+SR_REGISTER_DEV_DRIVER(norma_dmm_driver_info);
 
-SR_PRIV struct sr_dev_driver siemens_b102x_driver_info = {
+static struct sr_dev_driver siemens_b102x_driver_info = {
        .name = "siemens-b102x",
        .longname = "Siemens B102x DMMs",
        .api_version = 1,
@@ -283,3 +279,4 @@ SR_PRIV struct sr_dev_driver siemens_b102x_driver_info = {
        .dev_acquisition_stop = dev_acquisition_stop,
        .context = NULL,
 };
+SR_REGISTER_DEV_DRIVER(siemens_b102x_driver_info);