X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Frigol-ds%2Fapi.c;h=6668d9cd63113e6faeace2983eecfa0cdeef02f3;hb=dd5c48a6d567a3cac62c4b0058588273bbeea171;hp=f38ad8db24990aa2c8c5583677f97329f7af9eeb;hpb=c01bf34ca264b268fee2e71ab918c71d28dc3018;p=libsigrok.git diff --git a/src/hardware/rigol-ds/api.c b/src/hardware/rigol-ds/api.c index f38ad8db..6668d9cd 100644 --- a/src/hardware/rigol-ds/api.c +++ b/src/hardware/rigol-ds/api.c @@ -249,7 +249,7 @@ static const struct rigol_ds_model supported_models[] = { {SERIES(DS1000Z), "MSO1104Z-S", {5, 1000000000}, 4, true}, }; -SR_PRIV struct sr_dev_driver rigol_ds_driver_info; +static struct sr_dev_driver rigol_ds_driver_info; static void clear_helper(void *priv) { @@ -272,11 +272,6 @@ static int dev_clear(const struct sr_dev_driver *di) return std_dev_clear(di, clear_helper); } -static int init(struct sr_dev_driver *di, struct sr_context *sr_ctx) -{ - return std_init(sr_ctx, di, LOG_PREFIX); -} - static struct sr_dev_inst *probe_device(struct sr_scpi_dev_inst *scpi) { struct dev_context *devc; @@ -506,9 +501,11 @@ static int config_get(uint32_t key, GVariant **data, const struct sr_dev_inst *s int idx = -1; unsigned i; - if (!sdi || !(devc = sdi->priv)) + if (!sdi) return SR_ERR_ARG; + devc = sdi->priv; + /* If a channel group is specified, it must be a valid one. */ if (cg && !g_slist_find(sdi->channel_groups, cg)) { sr_err("Invalid channel group specified."); @@ -637,8 +634,7 @@ static int config_set(uint32_t key, GVariant *data, const struct sr_dev_inst *sd const char *tmp_str; char buffer[16]; - if (!(devc = sdi->priv)) - return SR_ERR_ARG; + devc = sdi->priv; if (sdi->status != SR_ST_ACTIVE) return SR_ERR_DEV_CLOSED; @@ -809,8 +805,9 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst * } /* Every other option requires a valid device instance. */ - if (!sdi || !(devc = sdi->priv)) + if (!sdi) return SR_ERR_ARG; + devc = sdi->priv; /* If a channel group is specified, it must be a valid one. */ if (cg && !g_slist_find(sdi->channel_groups, cg)) { @@ -1057,11 +1054,11 @@ static int dev_acquisition_stop(struct sr_dev_inst *sdi) return SR_OK; } -SR_PRIV struct sr_dev_driver rigol_ds_driver_info = { +static struct sr_dev_driver rigol_ds_driver_info = { .name = "rigol-ds", .longname = "Rigol DS", .api_version = 1, - .init = init, + .init = std_init, .cleanup = std_cleanup, .scan = scan, .dev_list = std_dev_list, @@ -1075,3 +1072,4 @@ SR_PRIV struct sr_dev_driver rigol_ds_driver_info = { .dev_acquisition_stop = dev_acquisition_stop, .context = NULL, }; +SR_REGISTER_DEV_DRIVER(rigol_ds_driver_info);