return SR_OK;
}
-static void finish_acquisition(struct dev_context *devc)
+static void finish_acquisition(struct sr_dev_inst *sdi)
{
struct sr_datafeed_packet packet;
+ struct dev_context *devc;
+
+ devc = sdi->priv;
/* Terminate session. */
packet.type = SR_DF_END;
sr_session_send(devc->cb_data, &packet);
/* Remove fds from polling. */
- usb_source_remove(devc->ctx);
+ usb_source_remove(sdi->session, devc->ctx);
devc->num_transfers = 0;
g_free(devc->transfers);
static void free_transfer(struct libusb_transfer *transfer)
{
+ struct sr_dev_inst *sdi;
struct dev_context *devc;
unsigned int i;
- devc = transfer->user_data;
+ sdi = transfer->user_data;
+ devc = sdi->priv;
g_free(transfer->buffer);
transfer->buffer = NULL;
devc->submitted_transfers--;
if (devc->submitted_transfers == 0)
- finish_acquisition(devc);
+ finish_acquisition(sdi);
}
static void resubmit_transfer(struct libusb_transfer *transfer)
gboolean packet_has_error = FALSE;
struct sr_datafeed_packet packet;
struct sr_datafeed_logic logic;
+ struct sr_dev_inst *sdi;
struct dev_context *devc;
size_t new_samples, num_samples;
int trigger_offset;
- devc = transfer->user_data;
+ sdi = transfer->user_data;
+ devc = sdi->priv;
/*
* If acquisition has already ended, just free any queued up