]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/lecroy-logicstudio/api.c
Put driver pointers into special section
[libsigrok.git] / src / hardware / lecroy-logicstudio / api.c
index 458be366f24f02122119ca8b9c768363cd11fc6a..20ffcf2f8735c1b664ca9577ede3269ad0aabe7b 100644 (file)
@@ -71,13 +71,6 @@ static const uint64_t samplerates[] = {
        SR_MHZ(500),
 };
 
-SR_PRIV struct sr_dev_driver lecroy_logicstudio_driver_info;
-
-static int init(struct sr_dev_driver *di, struct sr_context *sr_ctx)
-{
-       return std_init(sr_ctx, di, LOG_PREFIX);
-}
-
 static struct sr_dev_inst *create_device(struct sr_dev_driver *di,
                struct sr_usb_dev_inst *usb, enum sr_dev_inst_status status,
                int64_t fw_updated)
@@ -191,11 +184,6 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
        return devices;
 }
 
-static GSList *dev_list(const struct sr_dev_driver *di)
-{
-       return ((struct drv_context *)(di->context))->instances;
-}
-
 static int open_device(struct sr_dev_inst *sdi)
 {
        struct drv_context *drvc;
@@ -268,19 +256,12 @@ static int open_device(struct sr_dev_inst *sdi)
 
 static int dev_open(struct sr_dev_inst *sdi)
 {
-       struct drv_context *drvc;
        struct dev_context *devc;
        int64_t timediff_us, timediff_ms;
        int ret;
 
-       drvc = sdi->driver->context;
        devc = sdi->priv;
 
-       if (!drvc) {
-               sr_err("Driver was not initialized.");
-               return SR_ERR;
-       }
-
        /*
         * If we didn't need to upload FX2 firmware in scan(), open the device
         * right away. Otherwise, wait up to MAX_RENUM_DELAY_MS ms for the
@@ -517,14 +498,14 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi)
        return lls_stop_acquisition(sdi);
 }
 
-SR_PRIV struct sr_dev_driver lecroy_logicstudio_driver_info = {
+static struct sr_dev_driver lecroy_logicstudio_driver_info = {
        .name = "lecroy-logicstudio",
        .longname = "LeCroy LogicStudio",
        .api_version = 1,
-       .init = init,
+       .init = std_init,
        .cleanup = std_cleanup,
        .scan = scan,
-       .dev_list = dev_list,
+       .dev_list = std_dev_list,
        .config_get = config_get,
        .config_set = config_set,
        .config_list = config_list,
@@ -535,3 +516,4 @@ SR_PRIV struct sr_dev_driver lecroy_logicstudio_driver_info = {
        .dev_acquisition_stop = dev_acquisition_stop,
        .context = NULL,
 };
+SR_REGISTER_DEV_DRIVER(lecroy_logicstudio_driver_info);