unsigned int i, j, group;
struct sr_channel *ch;
struct dev_context *devc;
+ const char *cg_name;
int ret;
devc = sdi->priv;
ch = sr_channel_new(sdi, i, SR_CHANNEL_ANALOG, TRUE,
(*scope_models[model_index].analog_names)[i]);
- devc->analog_groups[i] = g_malloc0(sizeof(struct sr_channel_group));
-
- devc->analog_groups[i]->name = g_strdup(
- (char *)(*scope_models[model_index].analog_names)[i]);
+ cg_name = (*scope_models[model_index].analog_names)[i];
+ devc->analog_groups[i] = sr_channel_group_new(sdi, cg_name, NULL);
devc->analog_groups[i]->channels = g_slist_append(NULL, ch);
-
- sdi->channel_groups = g_slist_append(sdi->channel_groups,
- devc->analog_groups[i]);
}
/* Add digital channel groups. */
ret = SR_OK;
for (i = 0; i < scope_models[model_index].digital_pods; i++) {
- devc->digital_groups[i] = g_malloc0(sizeof(struct sr_channel_group));
+ devc->digital_groups[i] = sr_channel_group_new(sdi, NULL, NULL);
if (!devc->digital_groups[i]) {
ret = SR_ERR_MALLOC;
break;
}
devc->digital_groups[i]->name = g_strdup_printf("POD%d", i + 1);
- sdi->channel_groups = g_slist_append(sdi->channel_groups,
- devc->digital_groups[i]);
}
if (ret != SR_OK)
return ret;