+int sr_init_hwplugins(struct sr_device_plugin *plugin)
+{
+ int num_devices, num_probes, i;
+
+ g_message("initializing %s plugin", plugin->name);
+ num_devices = plugin->init(NULL);
+ for (i = 0; i < num_devices; i++) {
+ num_probes = (int)plugin->get_device_info(i, SR_DI_NUM_PROBES);
+ sr_device_new(plugin, i, num_probes);
+ }
+
+ return num_devices;
+}
+
+void sr_cleanup_hwplugins(void)
+{
+ struct sr_device_plugin *plugin;
+ GSList *l;
+
+ for (l = plugins; l; l = l->next) {
+ plugin = l->data;
+ if (plugin->cleanup)
+ plugin->cleanup();
+ }
+
+}
+