- * Close a device instance.
- *
- * @param sdi The device instance to close. Must not be NULL. Also,
- * sdi->driver, sdi->driver->priv, and sdi->priv must not be NULL.
- */
-static void sr_dev_close(struct sr_dev_inst *sdi)
-{
- int ret;
-
- if (!sdi) {
- sr_err("Invalid device instance, can't close device.");
- return;
- }
-
- /* In the drivers sdi->priv is a 'struct dev_context *devc'. */
- if (!sdi->priv) {
- /*
- * Should be sr_err() in theory, but the 'demo' driver has
- * NULL for sdi->priv, so we use sr_dbg() until that's fixed.
- */
- sr_dbg("Invalid device context, can't close device.");
- return;
- }
-
- if (!sdi->driver) {
- sr_err("Invalid driver, can't close device.");
- return;
- }
-
- if (!sdi->driver->priv) {
- sr_err("Driver not initialized, can't close device.");
- return;
- }
-
- sr_spew("Closing '%s' device instance %d.", sdi->driver->name,
- sdi->index);
-
- if ((ret = sdi->driver->dev_close(sdi)) < 0)
- sr_err("Failed to close device instance: %d.", ret);
-}
-
-/**
- * Remove all the devices from the current session.