Browse Source

fpgautils: Wrapper to easily adapt an old detectone to new lowl_probe

Luke Dashjr 12 years ago
parent
commit
bc5538dc26
2 changed files with 16 additions and 0 deletions
  1. 14 0
      fpgautils.c
  2. 2 0
      fpgautils.h

+ 14 - 0
fpgautils.c

@@ -647,6 +647,20 @@ extern void _vcom_devinfo_scan_querydosdevice(struct lowlevel_device_info **);
 extern void _vcom_devinfo_scan_lsdev(struct lowlevel_device_info **);
 #endif
 
+bool vcom_lowl_probe_wrapper(const struct lowlevel_device_info * const info, detectone_func_t detectone)
+{
+	if (info->lowl != &lowl_vcom)
+		return false;
+	detectone_meta_info = (struct detectone_meta_info_t){
+		.manufacturer = info->manufacturer,
+		.product = info->product,
+		.serial = info->serial,
+	};
+	const bool rv = detectone(info->path);
+	clear_detectone_meta_info();
+	return rv;
+}
+
 bool _serial_autodetect_found_cb(struct lowlevel_device_info * const devinfo, void *userp)
 {
 	detectone_func_t detectone = userp;

+ 2 - 0
fpgautils.h

@@ -25,6 +25,8 @@ extern struct detectone_meta_info_t *_detectone_meta_info();
 #define detectone_meta_info (*_detectone_meta_info())
 extern void clear_detectone_meta_info(void);
 
+extern bool vcom_lowl_probe_wrapper(const struct lowlevel_device_info *, detectone_func_t);
+
 extern int _serial_autodetect(detectone_func_t, ...);
 #define serial_autodetect(...)  _serial_autodetect(__VA_ARGS__, NULL)