]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/kecheng-kc-330b/protocol.c
Pass driver struct pointer to driver callbacks.
[libsigrok.git] / src / hardware / kecheng-kc-330b / protocol.c
index caf896ac051204e62dfab51e8eeba6137efd536c..f563866861f1bc8c52aa8d9642c5126f60863f62 100644 (file)
 #include "protocol.h"
 
 extern struct sr_dev_driver kecheng_kc_330b_driver_info;
-static struct sr_dev_driver *di = &kecheng_kc_330b_driver_info;
 extern const uint64_t kecheng_kc_330b_sample_intervals[][2];
 
 SR_PRIV int kecheng_kc_330b_handle_events(int fd, int revents, void *cb_data)
 {
+       struct sr_dev_driver *di;
        struct drv_context *drvc;
        struct dev_context *devc;
        struct sr_datafeed_packet packet;
@@ -40,10 +40,11 @@ SR_PRIV int kecheng_kc_330b_handle_events(int fd, int revents, void *cb_data)
        (void)fd;
        (void)revents;
 
-       drvc = di->priv;
        sdi = cb_data;
        devc = sdi->priv;
        usb = sdi->conn;
+       di = sdi->driver;
+       drvc = di->priv;
 
        memset(&tv, 0, sizeof(struct timeval));
        libusb_handle_events_timeout_completed(drvc->sr_ctx->libusb_ctx, &tv,