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;
/* Allocate memory for our private device context. */
- if (!(devc = g_try_malloc0(sizeof(struct dev_context)))) {
- sr_err("Device context malloc failed.");
- goto err_free_nothing;
- }
+ devc = g_malloc0(sizeof(struct dev_context));
/* Allocate memory for the incoming compressed samples. */
if (!(devc->compressed_buf = g_try_malloc0(COMPRESSED_BUF_SIZE))) {
sdi->driver = di;
sdi->priv = devc;
- for (i = 0; channel_names[i]; i++) {
- if (!(ch = sr_channel_new(i, SR_CHANNEL_LOGIC, TRUE,
- channel_names[i])))
- return NULL;
- sdi->channels = g_slist_append(sdi->channels, ch);
- }
+ for (i = 0; channel_names[i]; i++)
+ sr_channel_new(sdi, i, SR_CHANNEL_LOGIC, TRUE,
+ channel_names[i]);
devices = g_slist_append(devices, sdi);
drvc->instances = g_slist_append(drvc->instances, sdi);
g_free(devc->compressed_buf);
err_free_devc:
g_free(devc);
-err_free_nothing:
return NULL;
}