]> sigrok.org Git - libsigrok.git/commitdiff
sr: deprecate driver API call hwcap_get_all()
authorBert Vermeulen <redacted>
Fri, 13 Jul 2012 00:08:27 +0000 (02:08 +0200)
committerBert Vermeulen <redacted>
Fri, 3 Aug 2012 08:27:37 +0000 (10:27 +0200)
This is now handled with a call to info_get(SR_DI_HWCAPS). This brings
it in line with the new driver opts: info_get(SR_DI_HWOPTS).

device.c
hwdriver.c
libsigrok.h

index d32b4e954a48782b154e741d9751b49ab074ed1d..fb8d60b28a5c3ad6dd20123a15120ba3c9bbdc28 100644 (file)
--- a/device.c
+++ b/device.c
@@ -397,7 +397,8 @@ SR_API gboolean sr_dev_has_hwcap(const struct sr_dev *dev, int hwcap)
 
        /* TODO: Sanity check on 'hwcap'. */
 
-       if (!(hwcaps = dev->driver->hwcap_get_all())) {
+       if (dev->driver->info_get(SR_DI_HWCAPS,
+                       (const void **)&hwcaps, NULL) != SR_OK) {
                sr_err("dev: %s: dev has no capabilities", __func__);
                return FALSE;
        }
index b96e0b758ed67e89cfea7d29eacb22d0f26284d6..7effb6aa978d81b92341fab39d14c3f07a8aab61 100644 (file)
@@ -338,10 +338,8 @@ SR_API gboolean sr_driver_hwcap_exists(struct sr_dev_driver *driver, int hwcap)
                return FALSE;
        }
 
-       if (!(hwcaps = driver->hwcap_get_all())) {
-               sr_err("hwdriver: %s: hwcap_get_all() returned NULL", __func__);
+       if (driver->info_get(SR_DI_HWCAPS, (const void **)&hwcaps, NULL) != SR_OK)
                return FALSE;
-       }
 
        for (i = 0; hwcaps[i]; i++) {
                if (hwcaps[i] == hwcap)
index a3cb4ce4ae864bca7c4cdae794668973065b35a2..641ca912bf7330e18eeb6326ccacd6e4aa871eaf 100644 (file)
@@ -436,7 +436,12 @@ enum {
 /* Device info IDs */
 enum {
        /* struct sr_dev_inst for this specific device */
+       /* TODO: obsolete */
        SR_DI_INST,
+       /* A list of options supported by the driver. */
+       SR_DI_HWOPTS,
+       /* A list of capabilities supported by the device. */
+       SR_DI_HWCAPS,
        /* The number of probes connected to this device */
        SR_DI_NUM_PROBES,
        /* The probe names on this device */
@@ -492,7 +497,6 @@ struct sr_dev_driver {
        int (*info_get) (int dev_info_id, const void **data,
                        const struct sr_dev_inst *sdi);
        int (*dev_status_get) (int dev_index);
-       const int *(*hwcap_get_all) (void);
        int (*dev_config_set) (int dev_index, int hwcap, const void *value);
        int (*dev_acquisition_start) (int dev_index, void *session_dev_id);
        int (*dev_acquisition_stop) (int dev_index, void *session_dev_id);