X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fnexus-osciprime%2Fapi.c;h=3413b8eaf12576710f5431641cf0184666a4e0bf;hb=ff08a52a0fb66abb471fa0bfe0369300c313778f;hp=d0b610782f6b4cb2b42ddf49753b0dd02b9b3797;hpb=a1c743fc51d7b49c769fb525fe4b89985a9468c9;p=libsigrok.git diff --git a/hardware/nexus-osciprime/api.c b/hardware/nexus-osciprime/api.c index d0b61078..3413b8ea 100644 --- a/hardware/nexus-osciprime/api.c +++ b/hardware/nexus-osciprime/api.c @@ -29,19 +29,17 @@ #define OSCI_FIRMWARE FIRMWARE_DIR "/nexus-osciprime.fw" #define OSCI_VIDPID "04b4.1004" -static const int hwopts[] = { +static const int32_t hwopts[] = { SR_CONF_CONN, SR_CONF_SERIALCOMM, - 0, }; -static const int hwcaps[] = { +static const int32_t hwcaps[] = { SR_CONF_OSCILLOSCOPE, SR_CONF_LIMIT_SAMPLES, SR_CONF_CONTINUOUS, SR_CONF_TIMEBASE, SR_CONF_VDIV, - 0, }; static const struct sr_rational timebases[] = { @@ -139,17 +137,7 @@ static int clear_instances(void) static int hw_init(struct sr_context *sr_ctx) { - struct drv_context *drvc; - - if (!(drvc = g_try_malloc0(sizeof(struct drv_context)))) { - sr_err("Driver context malloc failed."); - return SR_ERR_MALLOC; - } - - drvc->sr_ctx = sr_ctx; - di->priv = drvc; - - return SR_OK; + return std_hw_init(sr_ctx, di, DRIVER_LOG_DOMAIN); } static GSList *hw_scan(GSList *options) @@ -167,10 +155,7 @@ static GSList *hw_scan(GSList *options) (void)options; - if (!(drvc = di->priv)) { - sr_err("Driver was not initialized."); - return NULL; - } + drvc = di->priv; /* USB scan is always authoritative. */ clear_instances(); @@ -180,7 +165,7 @@ static GSList *hw_scan(GSList *options) src = l->data; switch (src->key) { case SR_CONF_CONN: - conn = src->value; + conn = g_variant_get_string(src->data, NULL); break; } } @@ -231,11 +216,7 @@ static GSList *hw_scan(GSList *options) static GSList *hw_dev_list(void) { - struct drv_context *drvc; - - drvc = di->priv; - - return drvc->instances; + return ((struct drv_context *)(di->priv))->instances; } static int hw_dev_open(struct sr_dev_inst *sdi) @@ -265,26 +246,12 @@ static int hw_cleanup(void) return SR_OK; } -static int config_get(int id, const void **data, const struct sr_dev_inst *sdi) -{ - /* TODO */ - (void)data; - (void)sdi; - - switch (id) { - default: - return SR_ERR_ARG; - } - - return SR_OK; -} - -static int config_set(int id, const void *value, const struct sr_dev_inst *sdi) +static int config_set(int id, GVariant *data, const struct sr_dev_inst *sdi) { int ret; /* TODO */ - (void)value; + (void)data; if (sdi->status != SR_ST_ACTIVE) { sr_err("Device inactive, can't set config options."); @@ -302,10 +269,10 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi) return ret; } -static int config_list(int key, const void **data, const struct sr_dev_inst *sdi) +static int config_list(int key, GVariant **data, const struct sr_dev_inst *sdi) { - (void)sdi; + (void)data; switch (key) { default: @@ -348,7 +315,7 @@ SR_PRIV struct sr_dev_driver nexus_osciprime_driver_info = { .scan = hw_scan, .dev_list = hw_dev_list, .dev_clear = clear_instances, - .config_get = config_get, + .config_get = NULL, .config_set = config_set, .config_list = config_list, .dev_open = hw_dev_open,