]> sigrok.org Git - libsigrok.git/blobdiff - src/device.c
scpi-pps: Reimplemention of switching channel groups (PSU channels)
[libsigrok.git] / src / device.c
index e58c1790f2c166204779f8ba0069a1903292fa55..99ccd42f1d9be3b78693a7f626c79e4d2b5010cd 100644 (file)
@@ -135,10 +135,18 @@ SR_API int sr_dev_channel_enable(struct sr_channel *channel, gboolean state)
        return SR_OK;
 }
 
-/* Returns the next enabled channel, wrapping around if necessary. */
-/** @private */
+/**
+ * Returns the next enabled channel, wrapping around if necessary.
+ *
+ * @param[in] sdi The device instance the channel is connected to.
+ *                Must not be NULL.
+ * @param[in] cur_channel The current channel.
+ *
+ * @return A pointer to the next enabled channel of this device.
+ *
+ * @private
+ */
 SR_PRIV struct sr_channel *sr_next_enabled_channel(const struct sr_dev_inst *sdi,
-
                struct sr_channel *cur_channel)
 {
        struct sr_channel *next_channel;
@@ -529,8 +537,6 @@ SR_API GSList *sr_dev_list(const struct sr_dev_driver *driver)
  */
 SR_API int sr_dev_clear(const struct sr_dev_driver *driver)
 {
-       int ret;
-
        if (!driver) {
                sr_err("Invalid driver.");
                return SR_ERR_ARG;
@@ -546,12 +552,9 @@ SR_API int sr_dev_clear(const struct sr_dev_driver *driver)
                return SR_OK;
        }
 
-       if (driver->dev_clear)
-               ret = driver->dev_clear(driver);
-       else
-               ret = std_dev_clear(driver, NULL);
+       /* No log message here, too verbose and not very useful. */
 
-       return ret;
+       return driver->dev_clear(driver);
 }
 
 /**
@@ -615,8 +618,6 @@ SR_API int sr_dev_open(struct sr_dev_inst *sdi)
  */
 SR_API int sr_dev_close(struct sr_dev_inst *sdi)
 {
-       int ret;
-
        if (!sdi || !sdi->driver || !sdi->driver->dev_close)
                return SR_ERR_ARG;
 
@@ -630,9 +631,7 @@ SR_API int sr_dev_close(struct sr_dev_inst *sdi)
 
        sr_dbg("%s: Closing device instance.", sdi->driver->name);
 
-       ret = sdi->driver->dev_close(sdi);
-
-       return ret;
+       return sdi->driver->dev_close(sdi);
 }
 
 /**
@@ -762,7 +761,9 @@ SR_API const char *sr_dev_inst_connid_get(const struct sr_dev_inst *sdi)
                        if (b != usb->bus || a != usb->address)
                                continue;
 
-                       usb_get_port_path(devlist[i], connection_id, sizeof(connection_id));
+                       if (usb_get_port_path(devlist[i], connection_id, sizeof(connection_id)) < 0)
+                               continue;
+
                        ((struct sr_dev_inst *)sdi)->connection_id = g_strdup(connection_id);
                        break;
                }