-bool DeviceManager::compare_devices(const sr_dev_inst *const a,
- const sr_dev_inst *const b)
+void DeviceManager::release_driver(struct sr_dev_driver *const driver)
+{
+ BOOST_FOREACH(shared_ptr<device::Device> dev, _devices) {
+ assert(dev);
+ if(dev->dev_inst()->driver == driver)
+ dev->release();
+ }
+
+ // Clear all the old device instances from this driver
+ sr_dev_clear(driver);
+}
+
+bool DeviceManager::compare_devices(shared_ptr<device::Device> a,
+ shared_ptr<device::Device> b)