]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/ikalogic-scanalogic2/protocol.c
Backport recent changes from mainline.
[libsigrok.git] / src / hardware / ikalogic-scanalogic2 / protocol.c
index 4e8b64b7df1cac3db767a7c878951a518ea23d06..b1a85b03a621110d64a16c4397d2f01f1524be7f 100644 (file)
 #include <config.h>
 #include "protocol.h"
 
-extern struct sr_dev_driver ikalogic_scanalogic2_driver_info;
-
 extern uint64_t sl2_samplerates[NUM_SAMPLERATES];
 
 static void stop_acquisition(struct sr_dev_inst *sdi)
 {
        struct drv_context *drvc = sdi->driver->context;
 
-       /* Remove USB file descriptors from polling. */
        usb_source_remove(sdi->session, drvc->sr_ctx);
 
-       std_session_send_df_end(sdi, LOG_PREFIX);
+       std_session_send_df_end(sdi);
 
        sdi->status = SR_ST_ACTIVE;
 }
@@ -40,12 +37,11 @@ static void abort_acquisition(struct sr_dev_inst *sdi)
 {
        struct drv_context *drvc = sdi->driver->context;
 
-       /* Remove USB file descriptors from polling. */
        usb_source_remove(sdi->session, drvc->sr_ctx);
 
-       std_session_send_df_end(sdi, LOG_PREFIX);
+       std_session_send_df_end(sdi);
 
-       sdi->driver->dev_close(sdi);
+       sr_dev_close(sdi);
 }
 
 static void buffer_sample_data(const struct sr_dev_inst *sdi)
@@ -535,25 +531,6 @@ SR_PRIV int sl2_convert_trigger(const struct sr_dev_inst *sdi)
        return SR_OK;
 }
 
-SR_PRIV int sl2_set_capture_ratio(const struct sr_dev_inst *sdi,
-                                 uint64_t capture_ratio)
-{
-       struct dev_context *devc;
-
-       devc = sdi->priv;
-
-       if (capture_ratio > 100) {
-               sr_err("Invalid capture ratio: %" PRIu64 " %%.", capture_ratio);
-               return SR_ERR_ARG;
-       }
-
-       sr_info("Capture ratio set to %" PRIu64 " %%.", capture_ratio);
-
-       devc->capture_ratio = capture_ratio;
-
-       return SR_OK;
-}
-
 SR_PRIV int sl2_set_after_trigger_delay(const struct sr_dev_inst *sdi,
                                        uint64_t after_trigger_delay)
 {
@@ -629,14 +606,14 @@ SR_PRIV void sl2_calculate_trigger_samples(const struct sr_dev_inst *sdi)
        devc->post_trigger_bytes = post_trigger_bytes;
 }
 
-SR_PRIV int sl2_get_device_info(struct sr_usb_dev_inst usb,
-               struct device_info *dev_info)
+SR_PRIV int sl2_get_device_info(struct sr_dev_driver *di,
+               struct sr_usb_dev_inst usb, struct device_info *dev_info)
 {
        struct drv_context *drvc;
        uint8_t buffer[PACKET_LENGTH];
        int ret;
 
-       drvc = ikalogic_scanalogic2_driver_info.context;
+       drvc = di->context;
 
        if (!dev_info)
                return SR_ERR_ARG;
@@ -644,10 +621,6 @@ SR_PRIV int sl2_get_device_info(struct sr_usb_dev_inst usb,
        if (sr_usb_open(drvc->sr_ctx->libusb_ctx, &usb) != SR_OK)
                return SR_ERR;
 
-       /*
-        * Determine if a kernel driver is active on this interface and, if so,
-        * detach it.
-        */
        if (libusb_kernel_driver_active(usb.devhdl, USB_INTERFACE) == 1) {
                ret = libusb_detach_kernel_driver(usb.devhdl,
                        USB_INTERFACE);