From: Bert Vermeulen Date: Sun, 15 Jul 2012 01:52:22 +0000 (+0200) Subject: chronovu-la8: use new driver info_get() API call X-Git-Tag: dsupstream~807 X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=6a2761fd9921830f3724f3d153eee4ad98dbc6b1;p=libsigrok.git chronovu-la8: use new driver info_get() API call --- diff --git a/hardware/chronovu-la8/api.c b/hardware/chronovu-la8/api.c index b3d6f8b9..e1f32aca 100644 --- a/hardware/chronovu-la8/api.c +++ b/hardware/chronovu-la8/api.c @@ -267,62 +267,47 @@ static int hw_cleanup(void) return SR_OK; } -static const void *hw_dev_info_get(int dev_index, int dev_info_id) +static int hw_info_get(int info_id, const void **data, + const struct sr_dev_inst *sdi) { - struct sr_dev_inst *sdi; struct context *ctx; - const void *info; - - if (!(sdi = sr_dev_inst_get(cdi->instances, dev_index))) { - sr_err("la8: %s: sdi was NULL", __func__); - return NULL; - } - if (!(ctx = sdi->priv)) { - sr_err("la8: %s: sdi->priv was NULL", __func__); - return NULL; - } - - sr_spew("la8: %s: dev_index %d, dev_info_id %d.", __func__, - dev_index, dev_info_id); - - switch (dev_info_id) { + switch (info_id) { case SR_DI_INST: - info = sdi; + *data = sdi; sr_spew("la8: %s: Returning sdi.", __func__); break; case SR_DI_NUM_PROBES: - info = GINT_TO_POINTER(NUM_PROBES); + *data = GINT_TO_POINTER(NUM_PROBES); sr_spew("la8: %s: Returning number of probes: %d.", __func__, NUM_PROBES); break; case SR_DI_PROBE_NAMES: - info = probe_names; + *data = probe_names; sr_spew("la8: %s: Returning probenames.", __func__); break; case SR_DI_SAMPLERATES: fill_supported_samplerates_if_needed(); - info = &samplerates; + *data = &samplerates; sr_spew("la8: %s: Returning samplerates.", __func__); break; case SR_DI_TRIGGER_TYPES: - info = TRIGGER_TYPES; + *data = (char *)TRIGGER_TYPES; sr_spew("la8: %s: Returning trigger types: %s.", __func__, TRIGGER_TYPES); break; case SR_DI_CUR_SAMPLERATE: - info = &ctx->cur_samplerate; - sr_spew("la8: %s: Returning samplerate: %" PRIu64 "Hz.", - __func__, ctx->cur_samplerate); - break; - default: - /* Unknown device info ID, return NULL. */ - sr_err("la8: %s: Unknown device info ID", __func__); - info = NULL; + if (sdi) { + ctx = sdi->priv; + *data = &ctx->cur_samplerate; + sr_spew("la8: %s: Returning samplerate: %" PRIu64 "Hz.", + __func__, ctx->cur_samplerate); + } else + return SR_ERR; break; } - return info; + return SR_OK; } static int hw_dev_status_get(int dev_index) @@ -569,9 +554,9 @@ SR_PRIV struct sr_dev_driver chronovu_la8_driver_info = { .scan = hw_scan, .dev_open = hw_dev_open, .dev_close = hw_dev_close, - .dev_info_get = hw_dev_info_get, + .info_get = hw_info_get, .dev_status_get = hw_dev_status_get, - .hwcap_get_all = hw_hwcap_get_all, +// .hwcap_get_all = hw_hwcap_get_all, .dev_config_set = hw_dev_config_set, .dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_stop = hw_dev_acquisition_stop, diff --git a/hardware/chronovu-la8/driver.c b/hardware/chronovu-la8/driver.c index a9e733cb..e49c0973 100644 --- a/hardware/chronovu-la8/driver.c +++ b/hardware/chronovu-la8/driver.c @@ -37,7 +37,7 @@ SR_PRIV const char *probe_names[NUM_PROBES + 1] = { NULL, }; -/* This will be initialized via hw_dev_info_get()/SR_DI_SAMPLERATES. */ +/* This will be initialized via hw_info_get()/SR_DI_SAMPLERATES. */ SR_PRIV uint64_t supported_samplerates[255 + 1] = { 0 }; /*