X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fchronovu-la%2Fapi.c;h=2c4ec3db60e42aedac74981b5fbacaa33205e099;hb=3553451f1ed45d92bff11952cb131ac6a891b69f;hp=9f793969464261fd113e1651cec8ea572313809f;hpb=093e1cba6b7bf14cfb77fa36f59b0c16e6fca7cc;p=libsigrok.git diff --git a/src/hardware/chronovu-la/api.c b/src/hardware/chronovu-la/api.c index 9f793969..2c4ec3db 100644 --- a/src/hardware/chronovu-la/api.c +++ b/src/hardware/chronovu-la/api.c @@ -43,19 +43,15 @@ static const int32_t trigger_matches[] = { SR_TRIGGER_FALLING, }; -static void clear_helper(void *priv) +static void clear_helper(struct dev_context *devc) { - struct dev_context *devc; - - devc = priv; - ftdi_free(devc->ftdic); g_free(devc->final_buf); } static int dev_clear(const struct sr_dev_driver *di) { - return std_dev_clear(di, clear_helper); + return std_dev_clear_with_callback(di, (std_dev_clear_callback)clear_helper); } static int add_device(int model, struct libusb_device_descriptor *des, @@ -251,7 +247,6 @@ static int dev_open(struct sr_dev_inst *sdi) ret, ftdi_get_error_string(devc->ftdic)); goto err_ftdi_free; } - sr_dbg("Device opened successfully."); /* Purge RX/TX buffers in the FTDI chip. */ if ((ret = ftdi_usb_purge_buffers(devc->ftdic)) < 0) { @@ -259,7 +254,6 @@ static int dev_open(struct sr_dev_inst *sdi) ret, ftdi_get_error_string(devc->ftdic)); goto err_ftdi_free; } - sr_dbg("FTDI buffers purged successfully."); /* Enable flow control in the FTDI chip. */ if ((ret = ftdi_setflowctrl(devc->ftdic, SIO_RTS_CTS_HS)) < 0) { @@ -267,20 +261,16 @@ static int dev_open(struct sr_dev_inst *sdi) ret, ftdi_get_error_string(devc->ftdic)); goto err_ftdi_free; } - sr_dbg("FTDI flow control enabled successfully."); /* Wait 100ms. */ g_usleep(100 * 1000); - sdi->status = SR_ST_ACTIVE; - - if (ret == SR_OK) - return SR_OK; + return SR_OK; err_ftdi_free: ftdi_free(devc->ftdic); /* Close device (if open), free FTDI context. */ devc->ftdic = NULL; - return ret; + return SR_ERR; } static int dev_close(struct sr_dev_inst *sdi) @@ -290,13 +280,14 @@ static int dev_close(struct sr_dev_inst *sdi) devc = sdi->priv; - if (devc->ftdic && (ret = ftdi_usb_close(devc->ftdic)) < 0) + if (!devc->ftdic) + return SR_ERR_BUG; + + if ((ret = ftdi_usb_close(devc->ftdic)) < 0) sr_err("Failed to close FTDI device (%d): %s.", ret, ftdi_get_error_string(devc->ftdic)); - sdi->status = SR_ST_INACTIVE; - - return SR_OK; + return (ret == 0) ? SR_OK : SR_ERR; } static int config_get(uint32_t key, GVariant **data, const struct sr_dev_inst *sdi, @@ -524,8 +515,6 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi) return SR_ERR; } - sr_dbg("Hardware acquisition started successfully."); - std_session_send_df_header(sdi); /* Time when we should be done (for detecting trigger timeouts). */