am7xxx: simplify the device info caching operation in am7xxx_open_device()
authorAntonio Ospite <ao2@ao2.it>
Tue, 14 Feb 2017 09:04:19 +0000 (10:04 +0100)
committerAntonio Ospite <ao2@ao2.it>
Tue, 14 Feb 2017 09:04:19 +0000 (10:04 +0100)
Now that am7xxx_get_device_info() is more robust, the check in the
caller can be avoided.

src/am7xxx.c

index 512cf6f..84d7e9c 100644 (file)
@@ -1179,14 +1179,14 @@ AM7XXX_PUBLIC int am7xxx_open_device(am7xxx_context *ctx, am7xxx_device **dev,
         * is the first one to be sent to the device in order for it to
         * successfully return the correct device information.
         *
-        * So, if there is not a cached version of it (from a previous open),
-        * we ask for device info at open time,
+        * NOTE: am7xxx_get_device_info() will fetch the actual device info
+        * from the device only the very first time it's called for a given
+        * device, otherwise, it'll return a cached version of the device info
+        * (from a previous call to am7xxx_open_device(), for instance).
         */
-       if ((*dev)->device_info == NULL) {
-               ret = am7xxx_get_device_info(*dev, NULL);
-               if (ret < 0)
-                       error(ctx, "cannot get device info\n");
-       }
+       ret = am7xxx_get_device_info(*dev, NULL);
+       if (ret < 0)
+               error(ctx, "cannot get device info\n");
 
 out:
        return ret;