]> sigrok.org Git - libsigrok.git/blobdiff - src/input/chronovu_la8.c
Simplify channel creation.
[libsigrok.git] / src / input / chronovu_la8.c
index c1cf4d387991d5d4f311458be5db2bc46787492d..244abf19070f7e9f552be0a61d469b3a496a1995 100644 (file)
@@ -51,7 +51,6 @@ static int format_match(GHashTable *metadata)
 
 static int init(struct sr_input *in, GHashTable *options)
 {
-       struct sr_channel *ch;
        struct context *inc;
        int num_channels, i;
        char name[16];
@@ -62,15 +61,14 @@ static int init(struct sr_input *in, GHashTable *options)
                return SR_ERR_ARG;
        }
 
-       in->sdi = sr_dev_inst_new();
+       in->sdi = g_malloc0(sizeof(struct sr_dev_inst));
        in->priv = inc = g_malloc0(sizeof(struct context));
 
        inc->samplerate = g_variant_get_uint64(g_hash_table_lookup(options, "samplerate"));
 
        for (i = 0; i < num_channels; i++) {
                snprintf(name, 16, "%d", i);
-               ch = sr_channel_new(i, SR_CHANNEL_LOGIC, TRUE, name);
-               in->sdi->channels = g_slist_append(in->sdi->channels, ch);
+               sr_channel_new(in->sdi, i, SR_CHANNEL_LOGIC, TRUE, name);
        }
 
        return SR_OK;
@@ -177,6 +175,7 @@ SR_PRIV struct sr_input_module input_chronovu_la8 = {
        .id = "chronovu-la8",
        .name = "Chronovu-LA8",
        .desc = "ChronoVu LA8",
+       .exts = (const char*[]){"kdt", NULL},
        .metadata = { SR_INPUT_META_FILESIZE | SR_INPUT_META_REQUIRED },
        .options = get_options,
        .format_match = format_match,