X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Ftesto%2Fapi.c;h=2f44eaad16cad319102a7530ccc671b2e2ee9996;hb=bee2b0168c087676c1b365861d8c2d4714afa9b9;hp=79a11b430bd43c79ff86a67d7921b8dfd9e90842;hpb=1f8f5bc08e0f684156baac513431b40d79ab4ea1;p=libsigrok.git diff --git a/src/hardware/testo/api.c b/src/hardware/testo/api.c index 79a11b43..2f44eaad 100644 --- a/src/hardware/testo/api.c +++ b/src/hardware/testo/api.c @@ -22,8 +22,6 @@ #include "protocol.h" #define SERIALCOMM "115200/8n1" - -SR_PRIV struct sr_dev_driver testo_driver_info; static int dev_acquisition_stop(struct sr_dev_inst *sdi); static const uint32_t scanopts[] = { @@ -43,11 +41,6 @@ static const struct testo_model models[] = { { "435", 9, TESTO_x35_REQUEST }, }; -static int init(struct sr_dev_driver *di, struct sr_context *sr_ctx) -{ - return std_init(di, sr_ctx, LOG_PREFIX); -} - static GSList *scan(struct sr_dev_driver *di, GSList *options) { struct drv_context *drvc; @@ -65,7 +58,6 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) devices = NULL; drvc = di->context; - drvc->instances = NULL; conn_devices = NULL; for (l = options; l; l = l->next) { @@ -136,13 +128,12 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) sdi->priv = devc; if (testo_probe_channels(sdi) != SR_OK) continue; - drvc->instances = g_slist_append(drvc->instances, sdi); devices = g_slist_append(devices, sdi); } 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 int dev_open(struct sr_dev_inst *sdi) @@ -361,7 +352,7 @@ static int handle_events(int fd, int revents, void *cb_data) if (sdi->status == SR_ST_STOPPING) { usb_source_remove(sdi->session, drvc->sr_ctx); dev_close(sdi); - std_session_send_df_end(sdi, LOG_PREFIX); + std_session_send_df_end(sdi); } memset(&tv, 0, sizeof(struct timeval)); @@ -390,7 +381,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi) usb = sdi->conn; devc->reply_size = 0; - std_session_send_df_header(sdi, LOG_PREFIX); + std_session_send_df_header(sdi); usb_source_add(sdi->session, drvc->sr_ctx, 100, handle_events, (void *)sdi); @@ -429,11 +420,11 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi) return SR_OK; } -SR_PRIV struct sr_dev_driver testo_driver_info = { +static struct sr_dev_driver testo_driver_info = { .name = "testo", .longname = "Testo", .api_version = 1, - .init = init, + .init = std_init, .cleanup = std_cleanup, .scan = scan, .dev_list = std_dev_list, @@ -446,3 +437,4 @@ SR_PRIV struct sr_dev_driver testo_driver_info = { .dev_acquisition_stop = dev_acquisition_stop, .context = NULL, }; +SR_REGISTER_DEV_DRIVER(testo_driver_info);