X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fyokogawa-dlm%2Fapi.c;h=054d431db7eae22b43615e39885dba3cd137883a;hb=145d794facd93b182e6c85d7613ce2e6d9a66d48;hp=28884de46ad36e6fcfef9c5623f73022e4b7f33f;hpb=cf0280fa1ba3532e1d3aa15b86323c9de7d5365c;p=libsigrok.git diff --git a/src/hardware/yokogawa-dlm/api.c b/src/hardware/yokogawa-dlm/api.c index 28884de4..054d431d 100644 --- a/src/hardware/yokogawa-dlm/api.c +++ b/src/hardware/yokogawa-dlm/api.c @@ -22,7 +22,6 @@ #include "protocol.h" SR_PRIV struct sr_dev_driver yokogawa_dlm_driver_info; -static struct sr_dev_driver *di = &yokogawa_dlm_driver_info; static char *MANUFACTURER_ID = "YOKOGAWA"; static char *MANUFACTURER_NAME = "Yokogawa"; @@ -39,7 +38,7 @@ enum { CG_DIGITAL, }; -static int init(struct sr_context *sr_ctx) +static int init(struct sr_dev_driver *di, struct sr_context *sr_ctx) { return std_init(sr_ctx, di, LOG_PREFIX); } @@ -67,7 +66,7 @@ static struct sr_dev_inst *probe_usbtmc_device(struct sr_scpi_dev_inst *scpi) if (dlm_model_get(hw_info->model, &model_name, &model_index) != SR_OK) goto fail; - sdi = sr_dev_inst_new(); + sdi = g_malloc0(sizeof(struct sr_dev_inst)); sdi->status = SR_ST_ACTIVE; sdi->vendor = g_strdup(MANUFACTURER_NAME); sdi->model = g_strdup(model_name); @@ -80,7 +79,7 @@ static struct sr_dev_inst *probe_usbtmc_device(struct sr_scpi_dev_inst *scpi) devc = g_malloc0(sizeof(struct dev_context)); - sdi->driver = di; + sdi->driver = &yokogawa_dlm_driver_info; sdi->priv = devc; sdi->inst_type = SR_INST_SCPI; sdi->conn = scpi; @@ -104,12 +103,12 @@ fail: return NULL; } -static GSList *scan(GSList *options) +static GSList *scan(struct sr_dev_driver *di, GSList *options) { return sr_scpi_scan(di->priv, options, probe_usbtmc_device); } -static GSList *dev_list(void) +static GSList *dev_list(const struct sr_dev_driver *di) { return ((struct drv_context *)(di->priv))->instances; } @@ -127,7 +126,7 @@ static void clear_helper(void *priv) g_free(devc); } -static int dev_clear(void) +static int dev_clear(const struct sr_dev_driver *di) { return std_dev_clear(di, clear_helper); } @@ -157,9 +156,9 @@ static int dev_close(struct sr_dev_inst *sdi) return SR_OK; } -static int cleanup(void) +static int cleanup(const struct sr_dev_driver *di) { - dev_clear(); + dev_clear(di); return SR_OK; } @@ -218,7 +217,7 @@ static int config_get(uint32_t key, GVariant **data, const struct sr_dev_inst *s state = devc->model_state; switch (key) { - case SR_CONF_NUM_TIMEBASE: + case SR_CONF_NUM_HDIV: *data = g_variant_new_int32(model->num_xdivs); ret = SR_OK; break;