struct fx2_device *fx2;
int err, skip, i;
- if (!(sdi = sr_get_device_instance(device_instances, device_index)))
+ if (!(sdi = sr_dev_inst_get(device_instances, device_index)))
return SR_ERR;
fx2 = sdi->priv;
/* not a supported VID/PID */
continue;
- sdi = sr_device_instance_new(devcnt, SR_ST_INITIALIZING,
+ sdi = sr_dev_inst_new(devcnt, SR_ST_INITIALIZING,
fx2_prof->vendor, fx2_prof->model, fx2_prof->model_version);
if (!sdi)
return 0;
sr_dbg("Found a Saleae Logic with %s firmware.",
new_saleae_logic_firmware ? "new" : "old");
sdi->status = SR_ST_INACTIVE;
- fx2->usb = sr_usb_device_instance_new
+ fx2->usb = sr_usb_dev_inst_new
(libusb_get_bus_number(devlist[i]),
libusb_get_device_address(devlist[i]), NULL);
} else {
g_get_current_time(&fx2->fw_updated);
else
sr_err("firmware upload failed for device %d", devcnt);
- fx2->usb = sr_usb_device_instance_new
+ fx2->usb = sr_usb_dev_inst_new
(libusb_get_bus_number(devlist[i]), 0xff, NULL);
}
devcnt++;
struct fx2_device *fx2;
int timediff, err;
- if (!(sdi = sr_get_device_instance(device_instances, device_index)))
+ if (!(sdi = sr_dev_inst_get(device_instances, device_index)))
return SR_ERR;
fx2 = sdi->priv;
{
struct sr_device_instance *sdi;
- if (!(sdi = sr_get_device_instance(device_instances, device_index))) {
+ if (!(sdi = sr_dev_inst_get(device_instances, device_index))) {
sr_err("logic: %s: sdi was NULL", __func__);
return SR_ERR; /* TODO: SR_ERR_ARG? */
}
return SR_OK;
}
-static void hw_cleanup(void)
+static int hw_cleanup(void)
{
GSList *l;
struct sr_device_instance *sdi;
struct fx2_device *fx2;
+ int ret = SR_OK;
/* Properly close and free all devices. */
for (l = device_instances; l; l = l->next) {
- sdi = l->data;
- fx2 = sdi->priv;
+ if (!(sdi = l->data)) {
+ /* Log error, but continue cleaning up the rest. */
+ sr_err("fx2: %s: sdi was NULL, continuing", __func__);
+ ret = SR_ERR_BUG;
+ continue;
+ }
+ if (!(fx2 = sdi->priv)) {
+ /* Log error, but continue cleaning up the rest. */
+ sr_err("fx2: %s: sdi->priv was NULL, continuing",
+ __func__);
+ ret = SR_ERR_BUG;
+ continue;
+ }
close_device(sdi);
- sr_usb_device_instance_free(fx2->usb);
- sr_device_instance_free(sdi);
+ sr_usb_dev_inst_free(fx2->usb);
+ sr_dev_inst_free(sdi);
}
g_slist_free(device_instances);
if (usb_context)
libusb_exit(usb_context);
usb_context = NULL;
+
+ return ret;
}
static void *hw_get_device_info(int device_index, int device_info_id)
struct fx2_device *fx2;
void *info = NULL;
- if (!(sdi = sr_get_device_instance(device_instances, device_index)))
+ if (!(sdi = sr_dev_inst_get(device_instances, device_index)))
return NULL;
fx2 = sdi->priv;
{
struct sr_device_instance *sdi;
- sdi = sr_get_device_instance(device_instances, device_index);
+ sdi = sr_dev_inst_get(device_instances, device_index);
if (sdi)
return sdi->status;
else
int ret;
uint64_t *tmp_u64;
- if (!(sdi = sr_get_device_instance(device_instances, device_index)))
+ if (!(sdi = sr_dev_inst_get(device_instances, device_index)))
return SR_ERR;
fx2 = sdi->priv;
int size, i;
unsigned char *buf;
- if (!(sdi = sr_get_device_instance(device_instances, device_index)))
+ if (!(sdi = sr_dev_inst_get(device_instances, device_index)))
return SR_ERR;
fx2 = sdi->priv;
fx2->session_data = session_data;