]> sigrok.org Git - libsigrok.git/blobdiff - output/ols.c
fx2lafw: Implemented hw_dev_open
[libsigrok.git] / output / ols.c
index 16b288aca1bdf2116edc62176baa43f29b5239f9..2025249d6a350e9657be065fce8e82c776bdebf3 100644 (file)
@@ -2,7 +2,7 @@
  * This file is part of the sigrok project.
  *
  * Copyright (C) 2011 Uwe Hermann <uwe@hermann-uwe.de>
- * Copyright (C) 2011 Bert Vermeulen <bert@biot.com>
+ * Copyright (C) 2010-2012 Bert Vermeulen <bert@biot.com>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -30,7 +30,6 @@
 #include <glib.h>
 #include "sigrok.h"
 #include "sigrok-internal.h"
-#include "config.h"
 
 struct context {
        GString *header;
@@ -54,16 +53,16 @@ static int init(struct sr_output *o)
 
        ctx->num_samples = 0;
        num_enabled_probes = 0;
-       for (l = o->device->probes; l; l = l->next) {
+       for (l = o->dev->probes; l; l = l->next) {
                probe = l->data;
                if (probe->enabled)
                        num_enabled_probes++;
        }
        ctx->unitsize = (num_enabled_probes + 7) / 8;
 
-       if (o->device->plugin && sr_device_has_hwcap(o->device, SR_HWCAP_SAMPLERATE))
-               samplerate = *((uint64_t *) o->device->plugin->get_device_info(
-                               o->device->plugin_index, SR_DI_CUR_SAMPLERATE));
+       if (o->dev->plugin && sr_dev_has_hwcap(o->dev, SR_HWCAP_SAMPLERATE))
+               samplerate = *((uint64_t *) o->dev->plugin->dev_info_get(
+                               o->dev->plugin_index, SR_DI_CUR_SAMPLERATE));
        else
                samplerate = 0;
 
@@ -85,9 +84,8 @@ static int event(struct sr_output *o, int event_type, char **data_out,
        ctx = o->internal;
 
        if (ctx && event_type == SR_DF_END) {
-               if (ctx->header)
-                       g_string_free(ctx->header, TRUE);
-               free(o->internal);
+               g_string_free(ctx->header, TRUE);
+               g_free(o->internal);
                o->internal = NULL;
        }
 
@@ -126,7 +124,7 @@ static int data(struct sr_output *o, const char *data_in, uint64_t length_in,
        return SR_OK;
 }
 
-struct sr_output_format output_ols = {
+SR_PRIV struct sr_output_format output_ols = {
        .id = "ols",
        .description = "OpenBench Logic Sniffer",
        .df_type = SR_DF_LOGIC,