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:
Uwe Hermann 2013-02-06 22:35:24 +01:00
parent 4afdfd4628
commit 6fab7b8f53
14 changed files with 25 additions and 10 deletions

View File

@ -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++;

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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, \

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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;