+ struct sr_dev_inst *sdi;
+ struct dev_context *devc;
+ struct channel_group_context *cgc;
+ size_t idx, nr;
+ struct sr_channel_group *cg;
+
+ sdi = g_malloc0(sizeof(*sdi));
+ sdi->vendor = g_strdup("Hewlett-Packard");
+ sdi->model = g_strdup("59306A");
+ sdi->conn = scpi;
+ sdi->driver = &hp_59306a_driver_info;
+ sdi->inst_type = SR_INST_SCPI;
+
+ devc = g_malloc0(sizeof(*devc));
+ sdi->priv = devc;
+
+ devc->channel_count = 6;
+ for (idx = 0; idx < devc->channel_count; idx++) {
+ nr = idx + 1;
+
+ cg = g_malloc0(sizeof(*cg));
+ cg->name = g_strdup_printf("CH%zu", nr);
+
+ cgc = g_malloc0(sizeof(*cgc));
+ cgc->number = nr;
+ cg->priv = cgc;
+
+ sdi->channel_groups = g_slist_append(sdi->channel_groups, cg);
+ }