X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fchronovu-la8%2Fchronovu-la8.c;h=0e602b9a61387baa4bb143a78e2bcd7d4554093f;hb=c8f4624d9b265f63bc880df28bd9b1a7e29f1488;hp=da9eea9b714cb97cb2e9042f226cae358b08feea;hpb=4362438f1e2da14d04678327c403f9d75c4c0a48;p=libsigrok.git diff --git a/hardware/chronovu-la8/chronovu-la8.c b/hardware/chronovu-la8/chronovu-la8.c index da9eea9b..0e602b9a 100644 --- a/hardware/chronovu-la8/chronovu-la8.c +++ b/hardware/chronovu-la8/chronovu-la8.c @@ -632,25 +632,26 @@ static int set_samplerate(struct sr_device_instance *sdi, uint64_t samplerate) return SR_OK; } -static void hw_closedev(int device_index) +static int hw_closedev(int device_index) { struct sr_device_instance *sdi; struct la8 *la8; if (!(sdi = sr_get_device_instance(device_instances, device_index))) { sr_err("la8: %s: sdi was NULL", __func__); - return; + return SR_ERR; /* TODO: SR_ERR_ARG? */ } if (!(la8 = sdi->priv)) { sr_err("la8: %s: sdi->priv was NULL", __func__); - return; + return SR_ERR; /* TODO: SR_ERR_ARG? */ } sr_dbg("la8: closing device"); if (sdi->status == SR_ST_ACTIVE) { sr_dbg("la8: %s: status ACTIVE, closing device", __func__); + /* TODO: Really ignore errors here, or return SR_ERR? */ (void) la8_close_usb_reset_sequencer(la8); /* Ignore errors. */ } else { sr_dbg("la8: %s: status not ACTIVE, nothing to do", __func__); @@ -659,7 +660,9 @@ static void hw_closedev(int device_index) sdi->status = SR_ST_INACTIVE; sr_dbg("la8: %s: freeing sample buffers", __func__); - free(la8->final_buf); + g_free(la8->final_buf); + + return SR_OK; } static void hw_cleanup(void) @@ -1028,8 +1031,8 @@ struct sr_device_plugin chronovu_la8_plugin_info = { .api_version = 1, .init = hw_init, .cleanup = hw_cleanup, - .open = hw_opendev, - .close = hw_closedev, + .opendev = hw_opendev, + .closedev = hw_closedev, .get_device_info = hw_get_device_info, .get_status = hw_get_status, .get_capabilities = hw_get_capabilities,