ols: refactor using max_channels
authorWolfram Sang <wsa@the-dreams.de>
Wed, 2 Jan 2019 12:15:20 +0000 (13:15 +0100)
committerUwe Hermann <uwe@hermann-uwe.de>
Sun, 13 Jan 2019 19:07:27 +0000 (20:07 +0100)
Let max_channels really carry the number of maximum channels the
hardware supports. We will handle the limitation of only half the
channels available in 200MHz mode later. Note that there won't be a
regression because we only set the variable but never check it. The
desired result of this patch is the removal of the NUM_CHANNELS macro.
The number of channels needs to be dealt with at runtime.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
src/hardware/openbench-logic-sniffer/protocol.c
src/hardware/openbench-logic-sniffer/protocol.h

index 0a9a34a..b9383dd 100644 (file)
@@ -148,11 +148,14 @@ SR_PRIV struct dev_context *ols_dev_new(void)
 
 static void ols_channel_new(struct sr_dev_inst *sdi, int num_chan)
 {
+       struct dev_context *devc = sdi->priv;
        int i;
 
        for (i = 0; i < num_chan; i++)
                sr_channel_new(sdi, i, SR_CHANNEL_LOGIC, TRUE,
                                ols_channel_names[i]);
+
+       devc->max_channels = num_chan;
 }
 
 SR_PRIV struct sr_dev_inst *get_metadata(struct sr_serial_dev_inst *serial)
@@ -303,13 +306,11 @@ SR_PRIV int ols_set_samplerate(const struct sr_dev_inst *sdi,
                sr_info("Enabling demux mode.");
                devc->flag_reg |= FLAG_DEMUX;
                devc->flag_reg &= ~FLAG_FILTER;
-               devc->max_channels = NUM_CHANNELS / 2;
                devc->cur_samplerate_divider = (CLOCK_RATE * 2 / samplerate) - 1;
        } else {
                sr_info("Disabling demux mode.");
                devc->flag_reg &= ~FLAG_DEMUX;
                devc->flag_reg |= FLAG_FILTER;
-               devc->max_channels = NUM_CHANNELS;
                devc->cur_samplerate_divider = (CLOCK_RATE / samplerate) - 1;
        }
 
index e8e7574..1ec671a 100644 (file)
@@ -28,7 +28,6 @@
 
 #define LOG_PREFIX "openbench-logic-sniffer"
 
-#define NUM_CHANNELS               32
 #define NUM_TRIGGER_STAGES         4
 #define CLOCK_RATE                 SR_MHZ(100)
 #define MIN_NUM_SAMPLES            4