static GSList *scan(GSList *options)
{
struct sr_dev_inst *sdi;
- struct sr_channel *ch;
struct drv_context *drvc;
struct dev_context *devc;
GSList *devices;
devices = NULL;
- if (!(devc = g_try_malloc(sizeof(struct dev_context)))) {
- sr_err("%s: devc malloc failed", __func__);
- return NULL;
- }
+ devc = g_malloc0(sizeof(struct dev_context));
ftdi_init(&devc->ftdic);
sdi->model = g_strdup(USB_MODEL_NAME);
sdi->driver = di;
- for (i = 0; i < ARRAY_SIZE(channel_names); i++) {
- ch = sr_channel_new(i, SR_CHANNEL_LOGIC, TRUE,
+ for (i = 0; i < ARRAY_SIZE(channel_names); i++)
+ sr_channel_new(sdi, i, SR_CHANNEL_LOGIC, TRUE,
channel_names[i]);
- if (!ch)
- return NULL;
- sdi->channels = g_slist_append(sdi->channels, ch);
- }
devices = g_slist_append(devices, sdi);
drvc->instances = g_slist_append(drvc->instances, sdi);
if (data & (1 << 5))
return 0;
/* The D6 was not asserted yet, wait a bit. */
- usleep(10000);
+ g_usleep(10000);
}
return SR_ERR_TIMEOUT;