X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Ffx2lafw%2Fapi.c;h=e1eb3ee13ce3e600b3bc212b4048324885b482e1;hb=b02bb45f4cf6378520e5a5b82ff39013cfa270b6;hp=08fbbcd8d99d463fafd555e8c89ff3999785ea9a;hpb=9803346fe2eff369bea6b2373c1c0d37f793eecf;p=libsigrok.git diff --git a/src/hardware/fx2lafw/api.c b/src/hardware/fx2lafw/api.c index 08fbbcd8..e1eb3ee1 100644 --- a/src/hardware/fx2lafw/api.c +++ b/src/hardware/fx2lafw/api.c @@ -207,8 +207,6 @@ static const uint64_t dslogic_samplerates[] = { SR_MHZ(400), }; -SR_PRIV struct sr_dev_driver fx2lafw_driver_info; - static GSList *scan(struct sr_dev_driver *di, GSList *options) { struct drv_context *drvc; @@ -325,7 +323,6 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) sdi->vendor = g_strdup(prof->vendor); sdi->model = g_strdup(prof->model); sdi->version = g_strdup(prof->model_version); - sdi->driver = di; sdi->serial_num = g_strdup(serial_num); sdi->connection_id = g_strdup(connection_id); @@ -361,7 +358,6 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) if ((prof->dev_caps & DEV_CAPS_16BIT) || (prof->dev_caps & DEV_CAPS_AX_ANALOG)) devc->sample_wide = TRUE; sdi->priv = devc; - drvc->instances = g_slist_append(drvc->instances, sdi); devices = g_slist_append(devices, sdi); if (!strcmp(prof->model, "DSLogic") @@ -405,7 +401,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) libusb_free_device_list(devlist, 1); g_slist_free_full(conn_devices, (GDestroyNotify)sr_usb_dev_inst_free); - return devices; + return std_scan_complete(di, devices); } static void clear_dev_context(void *priv) @@ -740,8 +736,6 @@ static int config_list(uint32_t key, GVariant **data, *data = g_variant_builder_end(&gvb); break; case SR_CONF_SAMPLERATE: - if (!sdi->priv) - return SR_ERR_ARG; devc = sdi->priv; g_variant_builder_init(&gvb, G_VARIANT_TYPE("a{sv}")); gvar = g_variant_new_fixed_array(G_VARIANT_TYPE("t"), devc->samplerates, @@ -863,7 +857,7 @@ static int start_transfers(const struct sr_dev_inst *sdi) else devc->send_data_proc = la_send_data_proc; - std_session_send_df_header(sdi, LOG_PREFIX); + std_session_send_df_header(sdi); return SR_OK; } @@ -879,7 +873,7 @@ static void LIBUSB_CALL dslogic_trigger_receive(struct libusb_transfer *transfer if (transfer->status == LIBUSB_TRANSFER_CANCELLED) { sr_dbg("Trigger transfer canceled."); /* Terminate session. */ - std_session_send_df_end(sdi, LOG_PREFIX); + std_session_send_df_end(sdi); usb_source_remove(sdi->session, devc->ctx); devc->num_transfers = 0; g_free(devc->transfers); @@ -1041,7 +1035,7 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi) return SR_OK; } -SR_PRIV struct sr_dev_driver fx2lafw_driver_info = { +static struct sr_dev_driver fx2lafw_driver_info = { .name = "fx2lafw", .longname = "fx2lafw (generic driver for FX2 based LAs)", .api_version = 1, @@ -1059,3 +1053,4 @@ SR_PRIV struct sr_dev_driver fx2lafw_driver_info = { .dev_acquisition_stop = dev_acquisition_stop, .context = NULL, }; +SR_REGISTER_DEV_DRIVER(fx2lafw_driver_info);