*/
/*
- * ASIX Sigma Logic Analyzer Driver
+ * ASIX SIGMA Logic Analyzer Driver
*/
#include "config.h"
if (!(compressed_buf = g_try_malloc(file_size))) {
sr_err("asix: %s: compressed_buf malloc failed", __func__);
+ fclose(f);
return SR_ERR_MALLOC;
}
if (!(firmware = g_try_malloc(buffer_size))) {
sr_err("asix: %s: firmware malloc failed", __func__);
+ fclose(f);
+ g_free(compressed_buf);
return SR_ERR_MALLOC;
}
*buf = p = (unsigned char *)g_try_malloc(*buf_size);
if (!p) {
sr_err("asix: %s: buf/p malloc failed", __func__);
+ g_free(compressed_buf);
+ g_free(firmware);
return SR_ERR_MALLOC;
}
return 1;
free:
- free(sigma);
+ g_free(sigma);
return 0;
}
if (sigma->cur_samplerate >= SR_MHZ(100)) {
/* Fast trigger support. */
if (trigger_set) {
- sr_warn("Asix Sigma only supports a single "
+ sr_warn("ASIX SIGMA only supports a single "
"pin trigger in 100 and 200MHz mode.");
return SR_ERR;
}
else if (probe->trigger[0] == 'r')
sigma->trigger.risingmask |= probebit;
else {
- sr_warn("Asix Sigma only supports "
+ sr_warn("ASIX SIGMA only supports "
"rising/falling trigger in 100 "
"and 200MHz mode.");
return SR_ERR;
* does not permit ORed triggers.
*/
if (trigger_set > 1) {
- sr_warn("Asix Sigma only supports 1 rising/"
+ sr_warn("ASIX SIGMA only supports 1 rising/"
"falling triggers.");
return SR_ERR;
}
}
struct sr_device_plugin asix_sigma_plugin_info = {
- "asix-sigma",
- "ASIX SIGMA",
- 1,
- hw_init,
- hw_cleanup,
- hw_opendev,
- hw_closedev,
- hw_get_device_info,
- hw_get_status,
- hw_get_capabilities,
- hw_set_configuration,
- hw_start_acquisition,
- hw_stop_acquisition,
+ .name = "asix-sigma",
+ .longname = "ASIX SIGMA",
+ .api_version = 1,
+ .init = hw_init,
+ .cleanup = hw_cleanup,
+ .opendev = hw_opendev,
+ .closedev = hw_closedev,
+ .get_device_info = hw_get_device_info,
+ .get_status = hw_get_status,
+ .get_capabilities = hw_get_capabilities,
+ .set_configuration = hw_set_configuration,
+ .start_acquisition = hw_start_acquisition,
+ .stop_acquisition = hw_stop_acquisition,
};