X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fhantek-dso%2Fapi.c;h=1604a18c682a2559fc62bde3fe4a269adb621825;hb=4b1a9d5d8641080bf10e269aa12a3fc17460365f;hp=f8fdc1a4758cfbef83deeecf28771e352e19cde7;hpb=e32862ebccac5ae063abc68d9ce13a66ad46bb97;p=libsigrok.git diff --git a/src/hardware/hantek-dso/api.c b/src/hardware/hantek-dso/api.c index f8fdc1a4..1604a18c 100644 --- a/src/hardware/hantek-dso/api.c +++ b/src/hardware/hantek-dso/api.c @@ -162,13 +162,11 @@ static const char *coupling[] = { static int dev_acquisition_stop(struct sr_dev_inst *sdi); -static struct sr_dev_inst *dso_dev_new(struct sr_dev_driver *di, - const struct dso_profile *prof) +static struct sr_dev_inst *dso_dev_new(const struct dso_profile *prof) { struct sr_dev_inst *sdi; struct sr_channel *ch; struct sr_channel_group *cg; - struct drv_context *drvc; struct dev_context *devc; unsigned int i; @@ -176,7 +174,6 @@ static struct sr_dev_inst *dso_dev_new(struct sr_dev_driver *di, sdi->status = SR_ST_INITIALIZING; sdi->vendor = g_strdup(prof->vendor); sdi->model = g_strdup(prof->model); - sdi->driver = di; /* * Add only the real channels -- EXT isn't a source of data, only @@ -208,8 +205,6 @@ static struct sr_dev_inst *dso_dev_new(struct sr_dev_driver *di, devc->triggersource = g_strdup(DEFAULT_TRIGGER_SOURCE); devc->triggerposition = DEFAULT_HORIZ_TRIGGERPOS; sdi->priv = devc; - drvc = di->context; - drvc->instances = g_slist_append(drvc->instances, sdi); return sdi; } @@ -313,7 +308,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) /* Device matches the pre-firmware profile. */ prof = &dev_profiles[j]; sr_dbg("Found a %s %s.", prof->vendor, prof->model); - sdi = dso_dev_new(di, prof); + sdi = dso_dev_new(prof); sdi->connection_id = g_strdup(connection_id); devices = g_slist_append(devices, sdi); devc = sdi->priv; @@ -332,7 +327,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) /* Device matches the post-firmware profile. */ prof = &dev_profiles[j]; sr_dbg("Found a %s %s.", prof->vendor, prof->model); - sdi = dso_dev_new(di, prof); + sdi = dso_dev_new(prof); sdi->connection_id = g_strdup(connection_id); sdi->status = SR_ST_INACTIVE; devices = g_slist_append(devices, sdi); @@ -349,7 +344,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) } libusb_free_device_list(devlist, 1); - return devices; + return std_scan_complete(di, devices); } static int dev_open(struct sr_dev_inst *sdi) @@ -867,7 +862,7 @@ static int handle_event(int fd, int revents, void *cb_data) */ usb_source_remove(sdi->session, drvc->sr_ctx); - std_session_send_df_end(sdi, LOG_PREFIX); + std_session_send_df_end(sdi); devc->dev_state = IDLE; @@ -976,7 +971,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi) devc->dev_state = CAPTURE; usb_source_add(sdi->session, drvc->sr_ctx, TICK, handle_event, (void *)sdi); - std_session_send_df_header(sdi, LOG_PREFIX); + std_session_send_df_header(sdi); return SR_OK; } @@ -994,7 +989,7 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi) return SR_OK; } -SR_PRIV struct sr_dev_driver hantek_dso_driver_info = { +static struct sr_dev_driver hantek_dso_driver_info = { .name = "hantek-dso", .longname = "Hantek DSO", .api_version = 1, @@ -1012,3 +1007,4 @@ SR_PRIV struct sr_dev_driver hantek_dso_driver_info = { .dev_acquisition_stop = dev_acquisition_stop, .context = NULL, }; +SR_REGISTER_DEV_DRIVER(hantek_dso_driver_info);