+ break;
+ default:
+ ret = -1;
+ }
+
+ return ret;
+}
+
+int set_dev_options(struct sr_dev_inst *sdi, GHashTable *args)
+{
+ struct sr_config src;
+ struct sr_probe_group *pg;
+ GHashTableIter iter;
+ gpointer key, value;
+ int ret;
+
+ g_hash_table_iter_init(&iter, args);
+ while (g_hash_table_iter_next(&iter, &key, &value)) {
+ if ((ret = opt_to_gvar(key, value, &src)) != 0)
+ return ret;
+ pg = select_probe_group(sdi);
+ ret = sr_config_set(sdi, pg, src.key, src.data);