Browse Source

DevAPI: Store manufacturer/product/serial for each device

Luke Dashjr 12 years ago
parent
commit
9ee00bed83
3 changed files with 15 additions and 0 deletions
  1. 5 0
      deviceapi.c
  2. 3 0
      miner.h
  3. 7 0
      util.h

+ 5 - 0
deviceapi.c

@@ -26,6 +26,7 @@
 
 
 #include "compat.h"
 #include "compat.h"
 #include "deviceapi.h"
 #include "deviceapi.h"
+#include "fpgautils.h"
 #include "logging.h"
 #include "logging.h"
 #include "miner.h"
 #include "miner.h"
 #include "util.h"
 #include "util.h"
@@ -617,6 +618,10 @@ bool add_cgpu(struct cgpu_info *cgpu)
 	strcpy(cgpu->proc_repr, cgpu->dev_repr);
 	strcpy(cgpu->proc_repr, cgpu->dev_repr);
 	sprintf(cgpu->proc_repr_ns, "%s%u", cgpu->drv->name, cgpu->device_id);
 	sprintf(cgpu->proc_repr_ns, "%s%u", cgpu->drv->name, cgpu->device_id);
 	
 	
+	cgpu->dev_manufacturer = maybe_strdup(detectone_meta_info.manufacturer);
+	cgpu->dev_product = maybe_strdup(detectone_meta_info.product);
+	cgpu->dev_serial = maybe_strdup(detectone_meta_info.serial);
+	
 	devices_new = realloc(devices_new, sizeof(struct cgpu_info *) * (total_devices_new + lpcount + 1));
 	devices_new = realloc(devices_new, sizeof(struct cgpu_info *) * (total_devices_new + lpcount + 1));
 	devices_new[total_devices_new++] = cgpu;
 	devices_new[total_devices_new++] = cgpu;
 	
 	

+ 3 - 0
miner.h

@@ -446,6 +446,9 @@ struct cgpu_info {
 	
 	
 	const char *device_path;
 	const char *device_path;
 	void *device_data;
 	void *device_data;
+	char *dev_manufacturer;
+	char *dev_product;
+	char *dev_serial;
 	union {
 	union {
 #ifdef USE_ZTEX
 #ifdef USE_ZTEX
 		struct libztex_device *device_ztex;
 		struct libztex_device *device_ztex;

+ 7 - 0
util.h

@@ -197,4 +197,11 @@ struct timeval *select_timeout(struct timeval *tvp_timeout, struct timeval *tvp_
 } while(0)
 } while(0)
 
 
 
 
+static inline
+char *maybe_strdup(const char *s)
+{
+	return s ? strdup(s) : NULL;
+}
+
+
 #endif /* __UTIL_H__ */
 #endif /* __UTIL_H__ */