#include "scpi.h"
#include "protocol.h"
-SR_PRIV struct sr_dev_driver yokogawa_dlm_driver_info;
+static struct sr_dev_driver yokogawa_dlm_driver_info;
static const char *MANUFACTURER_ID = "YOKOGAWA";
static const char *MANUFACTURER_NAME = "Yokogawa";
SR_CONF_TIMEBASE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
SR_CONF_NUM_HDIV | SR_CONF_GET,
SR_CONF_HORIZ_TRIGGERPOS | SR_CONF_GET | SR_CONF_SET,
- SR_CONF_TRIGGER_SLOPE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
SR_CONF_TRIGGER_SOURCE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
+ SR_CONF_TRIGGER_SLOPE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
};
static const uint32_t dlm_analog_devopts[] = {
- SR_CONF_COUPLING | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
- SR_CONF_VDIV | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
SR_CONF_NUM_VDIV | SR_CONF_GET,
+ SR_CONF_VDIV | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
+ SR_CONF_COUPLING | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
};
static const uint32_t dlm_digital_devopts[] = {
CG_DIGITAL,
};
-static int init(struct sr_dev_driver *di, struct sr_context *sr_ctx)
-{
- return std_init(di, sr_ctx);
-}
-
static struct sr_dev_inst *probe_usbtmc_device(struct sr_scpi_dev_inst *scpi)
{
struct sr_dev_inst *sdi;
return sdi;
fail:
- if (hw_info)
- sr_scpi_hw_info_free(hw_info);
- if (sdi)
- sr_dev_inst_free(sdi);
+ sr_scpi_hw_info_free(hw_info);
+ sr_dev_inst_free(sdi);
g_free(devc);
return NULL;
const struct scope_config *model;
struct scope_state *state;
- if (!sdi || !(devc = sdi->priv))
+ if (!sdi)
return SR_ERR_ARG;
+ devc = sdi->priv;
+
if ((cg_type = check_channel_group(devc, cg)) == CG_INVALID)
return SR_ERR;
struct dev_context *devc = NULL;
const struct scope_config *model = NULL;
- /* SR_CONF_SCAN_OPTIONS is always valid, regardless of sdi or probe group. */
+ /* SR_CONF_SCAN_OPTIONS is always valid, regardless of sdi or channel group. */
if (key == SR_CONF_SCAN_OPTIONS) {
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
dlm_scanopts, ARRAY_SIZE(dlm_scanopts), sizeof(uint32_t));
/*
* If cg is NULL, only the SR_CONF_DEVICE_OPTIONS that are not
- * specific to a probe group must be returned.
+ * specific to a channel group must be returned.
*/
if (!cg) {
switch (key) {
{
struct dev_context *devc;
- std_session_send_df_end(sdi, LOG_PREFIX);
+ std_session_send_df_end(sdi);
if (sdi->status != SR_ST_ACTIVE)
return SR_ERR_DEV_CLOSED;
return SR_OK;
}
-SR_PRIV struct sr_dev_driver yokogawa_dlm_driver_info = {
+static struct sr_dev_driver yokogawa_dlm_driver_info = {
.name = "yokogawa-dlm",
.longname = "Yokogawa DL/DLM",
.api_version = 1,
- .init = init,
+ .init = std_init,
.cleanup = std_cleanup,
.scan = scan,
.dev_list = std_dev_list,
.dev_acquisition_stop = dev_acquisition_stop,
.context = NULL,
};
+SR_REGISTER_DEV_DRIVER(yokogawa_dlm_driver_info);