X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fchronovu-la8%2Fapi.c;h=a8888604e40be1805a7282a47ec17fd851cd95de;hb=a5b35a167a32ffbaee1ce9c0de8501f781f733d1;hp=4b8d9d3930a67ae51acc2beae738accad7e4c2a2;hpb=6f4b1868e8ec8c132878d8b6d558f4af054cbd91;p=libsigrok.git diff --git a/hardware/chronovu-la8/api.c b/hardware/chronovu-la8/api.c index 4b8d9d39..a8888604 100644 --- a/hardware/chronovu-la8/api.c +++ b/hardware/chronovu-la8/api.c @@ -38,7 +38,8 @@ static const uint16_t usb_pids[] = { }; /* Function prototypes. */ -static int hw_dev_acquisition_stop(int dev_index, void *cb_data); +static int hw_dev_acquisition_stop(const struct sr_dev_inst *sdi, + void *cb_data); static void clear_instances(void) { @@ -168,16 +169,10 @@ err_free_nothing: return NULL; } -static int hw_dev_open(int dev_index) +static int hw_dev_open(struct sr_dev_inst *sdi) { - int ret; - struct sr_dev_inst *sdi; struct context *ctx; - - if (!(sdi = sr_dev_inst_get(cdi->instances, dev_index))) { - sr_err("la8: %s: sdi was NULL", __func__); - return SR_ERR_BUG; - } + int ret; if (!(ctx = sdi->priv)) { sr_err("la8: %s: sdi->priv was NULL", __func__); @@ -227,16 +222,10 @@ err_dev_open_close_ftdic: return SR_ERR; } -static int hw_dev_close(int dev_index) +static int hw_dev_close(struct sr_dev_inst *sdi) { - struct sr_dev_inst *sdi; struct context *ctx; - if (!(sdi = sr_dev_inst_get(cdi->instances, dev_index))) { - sr_err("la8: %s: sdi was NULL", __func__); - return SR_ERR_BUG; - } - if (!(ctx = sdi->priv)) { sr_err("la8: %s: sdi->priv was NULL", __func__); return SR_ERR_BUG; @@ -316,20 +305,6 @@ static int hw_info_get(int info_id, const void **data, return SR_OK; } -static int hw_dev_status_get(int dev_index) -{ - struct sr_dev_inst *sdi; - - if (!(sdi = sr_dev_inst_get(cdi->instances, dev_index))) { - sr_err("la8: %s: sdi was NULL, device not found", __func__); - return SR_ST_NOT_FOUND; - } - - sr_dbg("la8: Returning status: %d.", sdi->status); - - return sdi->status; -} - static int hw_dev_config_set(const struct sr_dev_inst *sdi, int hwcap, const void *value) { @@ -408,7 +383,7 @@ static int receive_data(int fd, int revents, void *cb_data) /* Get one block of data. */ if ((ret = la8_read_block(ctx)) < 0) { sr_err("la8: %s: la8_read_block error: %d", __func__, ret); - hw_dev_acquisition_stop(sdi->index, sdi); + hw_dev_acquisition_stop(sdi, sdi); return FALSE; } @@ -424,15 +399,15 @@ static int receive_data(int fd, int revents, void *cb_data) for (i = 0; i < NUM_BLOCKS; i++) send_block_to_session_bus(ctx, i); - hw_dev_acquisition_stop(sdi->index, sdi); + hw_dev_acquisition_stop(sdi, sdi); // return FALSE; /* FIXME? */ return TRUE; } -static int hw_dev_acquisition_start(int dev_index, void *cb_data) +static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, + void *cb_data) { - struct sr_dev_inst *sdi; struct context *ctx; struct sr_datafeed_packet packet; struct sr_datafeed_header header; @@ -440,11 +415,6 @@ static int hw_dev_acquisition_start(int dev_index, void *cb_data) uint8_t buf[4]; int bytes_written; - if (!(sdi = sr_dev_inst_get(cdi->instances, dev_index))) { - sr_err("la8: %s: sdi was NULL", __func__); - return SR_ERR_BUG; - } - if (!(ctx = sdi->priv)) { sr_err("la8: %s: sdi->priv was NULL", __func__); return SR_ERR_BUG; @@ -506,24 +476,19 @@ static int hw_dev_acquisition_start(int dev_index, void *cb_data) ctx->trigger_found = 0; /* Hook up a dummy handler to receive data from the LA8. */ - sr_source_add(-1, G_IO_IN, 0, receive_data, sdi); + sr_source_add(-1, G_IO_IN, 0, receive_data, (void *)sdi); return SR_OK; } -static int hw_dev_acquisition_stop(int dev_index, void *cb_data) +static int hw_dev_acquisition_stop(const struct sr_dev_inst *sdi, + void *cb_data) { - struct sr_dev_inst *sdi; struct context *ctx; struct sr_datafeed_packet packet; sr_dbg("la8: Stopping acquisition."); - if (!(sdi = sr_dev_inst_get(cdi->instances, dev_index))) { - sr_err("la8: %s: sdi was NULL", __func__); - return SR_ERR_BUG; - } - if (!(ctx = sdi->priv)) { sr_err("la8: %s: sdi->priv was NULL", __func__); return SR_ERR_BUG; @@ -547,7 +512,6 @@ SR_PRIV struct sr_dev_driver chronovu_la8_driver_info = { .dev_open = hw_dev_open, .dev_close = hw_dev_close, .info_get = hw_info_get, - .dev_status_get = hw_dev_status_get, .dev_config_set = hw_dev_config_set, .dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_stop = hw_dev_acquisition_stop,