22 #include <sys/types.h>
27 #include "sigrok-internal.h"
48 #ifdef HAVE_LA_ZEROPLUS_LOGIC_CUBE
51 #ifdef HAVE_LA_ASIX_SIGMA
54 #ifdef HAVE_LA_CHRONOVU_LA8
57 #ifdef HAVE_LA_LINK_MSO19
63 #ifdef HAVE_LA_FX2LAFW
74 #ifdef HAVE_LA_ZEROPLUS_LOGIC_CUBE
77 #ifdef HAVE_LA_ASIX_SIGMA
80 #ifdef HAVE_LA_CHRONOVU_LA8
83 #ifdef HAVE_LA_LINK_MSO19
89 #ifdef HAVE_LA_FX2LAFW
117 int num_devs, num_probes, i, j;
118 int num_initialized_devs = 0;
122 sr_dbg(
"initializing %s driver", driver->
name);
123 num_devs = driver->
init(NULL);
124 for (i = 0; i < num_devs; i++) {
125 num_probes = GPOINTER_TO_INT(
131 sr_warn(
"hwdriver: %s: driver %s does not return a "
132 "list of probe names", __func__, driver->
name);
137 for (j = 0; j < num_probes; j++)
139 num_initialized_devs++;
142 return num_initialized_devs;
151 for (i = 0; drivers[i]; i++) {
162 if (!(sdi = g_try_malloc(
sizeof(
struct sr_dev_inst)))) {
163 sr_err(
"hwdriver: %s: sdi malloc failed", __func__);
170 sdi->
vendor = vendor ? g_strdup(vendor) : NULL;
171 sdi->
model = model ? g_strdup(model) : NULL;
172 sdi->
version = version ? g_strdup(version) : NULL;
183 for (l = dev_insts; l; l = l->next) {
185 if (sdi->
index == dev_index)
188 sr_warn(
"could not find device index %d instance", dev_index);
202 #ifdef HAVE_LIBUSB_1_0
205 uint8_t address,
struct libusb_device_handle *hdl)
207 struct sr_usb_dev_inst *udi;
209 if (!(udi = g_try_malloc(
sizeof(
struct sr_usb_dev_inst)))) {
210 sr_err(
"hwdriver: %s: udi malloc failed", __func__);
215 udi->address = address;
234 struct sr_serial_dev_inst *serial;
236 if (!(serial = g_try_malloc(
sizeof(
struct sr_serial_dev_inst)))) {
237 sr_err(
"hwdriver: %s: serial malloc failed", __func__);
241 serial->port = g_strdup(port);
249 g_free(serial->port);
267 sr_err(
"hwdriver: %s: driver was NULL", __func__);
272 sr_err(
"hwdriver: %s: hwcap_get_all() returned NULL", __func__);
276 for (i = 0; hwcaps[i]; i++) {
277 if (hwcaps[i] == hwcap)
296 for (i = 0; sr_hwcap_options[i].
hwcap; i++) {
297 if (sr_hwcap_options[i].hwcap == hwcap)
298 return &sr_hwcap_options[i];