Driver struct cleanups.
- Explicitly list .config_get in all drivers for consistency, and set it to NULL if unused (whether or not a driver implements it is optional). - List all 'struct sr_dev_driver' entries in the same order in all drivers. - Move the check whether .config_set/.config_list exist (i.e., are non-NULL) into sanity_check_all_drivers().
This commit is contained in:
parent
4afdfd4628
commit
6fab7b8f53
|
@ -165,6 +165,15 @@ static int sanity_check_all_drivers(void)
|
|||
sr_err("No dev_clear in driver %d ('%s').", i, d);
|
||||
errors++;
|
||||
}
|
||||
/* Note: config_get() is optional. */
|
||||
if (!drivers[i]->config_set) {
|
||||
sr_err("No config_set in driver %d ('%s').", i, d);
|
||||
errors++;
|
||||
}
|
||||
if (!drivers[i]->config_list) {
|
||||
sr_err("No config_list in driver %d ('%s').", i, d);
|
||||
errors++;
|
||||
}
|
||||
if (!drivers[i]->dev_open) {
|
||||
sr_err("No dev_open in driver %d ('%s').", i, d);
|
||||
errors++;
|
||||
|
|
|
@ -343,6 +343,7 @@ SR_PRIV struct sr_dev_driver agdmm_driver_info = {
|
|||
.scan = hw_scan,
|
||||
.dev_list = hw_dev_list,
|
||||
.dev_clear = clear_instances,
|
||||
.config_get = NULL,
|
||||
.config_set = config_set,
|
||||
.config_list = config_list,
|
||||
.dev_open = hw_dev_open,
|
||||
|
|
|
@ -233,8 +233,7 @@ static int config_list(int key, const void **data,
|
|||
return SR_OK;
|
||||
}
|
||||
|
||||
static int hw_dev_config_set(int id, const void *value,
|
||||
const struct sr_dev_inst *sdi)
|
||||
static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
|
||||
{
|
||||
struct dev_context *devc;
|
||||
int ret;
|
||||
|
@ -332,10 +331,11 @@ SR_PRIV struct sr_dev_driver brymen_bm857_driver_info = {
|
|||
.scan = hw_scan,
|
||||
.dev_list = hw_dev_list,
|
||||
.dev_clear = clear_instances,
|
||||
.config_get = NULL,
|
||||
.config_set = config_set,
|
||||
.config_list = config_list,
|
||||
.dev_open = hw_dev_open,
|
||||
.dev_close = hw_dev_close,
|
||||
.config_list = config_list,
|
||||
.config_set = hw_dev_config_set,
|
||||
.dev_acquisition_start = hw_dev_acquisition_start,
|
||||
.dev_acquisition_stop = hw_dev_acquisition_stop,
|
||||
.priv = NULL,
|
||||
|
|
|
@ -288,6 +288,7 @@ SR_PRIV struct sr_dev_driver colead_slm_driver_info = {
|
|||
.scan = hw_scan,
|
||||
.dev_list = hw_dev_list,
|
||||
.dev_clear = clear_instances,
|
||||
.config_get = NULL,
|
||||
.config_set = config_set,
|
||||
.config_list = config_list,
|
||||
.dev_open = hw_dev_open,
|
||||
|
|
|
@ -383,6 +383,7 @@ SR_PRIV struct sr_dev_driver flukedmm_driver_info = {
|
|||
.scan = hw_scan,
|
||||
.dev_list = hw_dev_list,
|
||||
.dev_clear = clear_instances,
|
||||
.config_get = NULL,
|
||||
.config_set = config_set,
|
||||
.config_list = config_list,
|
||||
.dev_open = hw_dev_open,
|
||||
|
|
|
@ -888,6 +888,7 @@ SR_PRIV struct sr_dev_driver hantek_dso_driver_info = {
|
|||
.scan = hw_scan,
|
||||
.dev_list = hw_dev_list,
|
||||
.dev_clear = clear_instances,
|
||||
.config_get = NULL,
|
||||
.config_set = config_set,
|
||||
.config_list = config_list,
|
||||
.dev_open = hw_dev_open,
|
||||
|
|
|
@ -454,6 +454,7 @@ SR_PRIV struct sr_dev_driver lascar_el_usb_driver_info = {
|
|||
.scan = hw_scan,
|
||||
.dev_list = hw_dev_list,
|
||||
.dev_clear = clear_instances,
|
||||
.config_get = NULL,
|
||||
.config_set = config_set,
|
||||
.config_list = config_list,
|
||||
.dev_open = hw_dev_open,
|
||||
|
|
|
@ -317,6 +317,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 = NULL,
|
||||
.config_set = config_set,
|
||||
.config_list = config_list,
|
||||
.dev_open = hw_dev_open,
|
||||
|
|
|
@ -489,6 +489,7 @@ SR_PRIV struct sr_dev_driver rigol_ds1xx2_driver_info = {
|
|||
.scan = hw_scan,
|
||||
.dev_list = hw_dev_list,
|
||||
.dev_clear = clear_instances,
|
||||
.config_get = NULL,
|
||||
.config_set = config_set,
|
||||
.config_list = config_list,
|
||||
.dev_open = hw_dev_open,
|
||||
|
|
|
@ -495,6 +495,7 @@ SR_PRIV struct sr_dev_driver ID##_driver_info = { \
|
|||
.scan = hw_scan_##ID_UPPER, \
|
||||
.dev_list = hw_dev_list_##ID_UPPER, \
|
||||
.dev_clear = clear_instances_##ID_UPPER, \
|
||||
.config_get = NULL, \
|
||||
.config_set = config_set, \
|
||||
.config_list = config_list, \
|
||||
.dev_open = hw_dev_open, \
|
||||
|
|
|
@ -286,6 +286,7 @@ SR_PRIV struct sr_dev_driver tondaj_sl_814_driver_info = {
|
|||
.scan = hw_scan,
|
||||
.dev_list = hw_dev_list,
|
||||
.dev_clear = clear_instances,
|
||||
.config_get = NULL,
|
||||
.config_set = config_set,
|
||||
.config_list = config_list,
|
||||
.dev_open = hw_dev_open,
|
||||
|
|
|
@ -277,6 +277,7 @@ SR_PRIV struct sr_dev_driver uni_t_ut61d_driver_info = {
|
|||
.scan = hw_scan,
|
||||
.dev_list = hw_dev_list,
|
||||
.dev_clear = clear_instances,
|
||||
.config_get = NULL,
|
||||
.config_set = config_set,
|
||||
.config_list = config_list,
|
||||
.dev_open = hw_dev_open,
|
||||
|
@ -295,6 +296,7 @@ SR_PRIV struct sr_dev_driver voltcraft_vc820_driver_info = {
|
|||
.scan = hw_scan,
|
||||
.dev_list = hw_dev_list,
|
||||
.dev_clear = clear_instances,
|
||||
.config_get = NULL,
|
||||
.config_set = config_set,
|
||||
.config_list = config_list,
|
||||
.dev_open = hw_dev_open,
|
||||
|
|
|
@ -438,6 +438,7 @@ SR_PRIV struct sr_dev_driver victor_dmm_driver_info = {
|
|||
.scan = hw_scan,
|
||||
.dev_list = hw_dev_list,
|
||||
.dev_clear = clear_instances,
|
||||
.config_get = NULL,
|
||||
.config_set = config_set,
|
||||
.config_list = config_list,
|
||||
.dev_open = hw_dev_open,
|
||||
|
|
|
@ -383,9 +383,6 @@ SR_API int sr_config_get(const struct sr_dev_driver *driver, int key,
|
|||
if (!driver || !data)
|
||||
return SR_ERR;
|
||||
|
||||
if (!driver->config_get)
|
||||
return SR_ERR_ARG;
|
||||
|
||||
ret = driver->config_get(key, data, sdi);
|
||||
|
||||
return ret;
|
||||
|
@ -443,9 +440,6 @@ SR_API int sr_config_list(const struct sr_dev_driver *driver, int key,
|
|||
if (!driver || !data)
|
||||
return SR_ERR;
|
||||
|
||||
if (!driver->config_list)
|
||||
return SR_ERR_ARG;
|
||||
|
||||
ret = driver->config_list(key, data, sdi);
|
||||
|
||||
return ret;
|
||||
|
|
Loading…
Reference in New Issue