Browse Source

Merge branch 'set_device_funcs' into bfgminer

Luke Dashjr 12 years ago
parent
commit
b63eca5214
1 changed files with 19 additions and 7 deletions
  1. 19 7
      deviceapi.c

+ 19 - 7
deviceapi.c

@@ -940,12 +940,6 @@ const char *_proc_set_device(struct cgpu_info * const proc, const char * const o
 			return rv;
 		}
 	
-	if (!strcasecmp(optname, "temp-cutoff"))
-		return proc_set_device_temp_cutoff(proc, optname, newvalue, replybuf, out_success);
-	else
-	if (!strcasecmp(optname, "temp-target"))
-		return proc_set_device_temp_target(proc, optname, newvalue, replybuf, out_success);
-	else
 	if (!strcasecmp(optname, "help"))
 		return proc_set_device_help(proc, optname, newvalue, replybuf, out_success);
 	
@@ -954,7 +948,7 @@ const char *_proc_set_device(struct cgpu_info * const proc, const char * const o
 	return replybuf;
 }
 
-const char *proc_set_device(struct cgpu_info * const proc, char * const optname, char * const newvalue, char * const replybuf, enum bfg_set_device_replytype * const out_success)
+const char *__proc_set_device(struct cgpu_info * const proc, char * const optname, char * const newvalue, char * const replybuf, enum bfg_set_device_replytype * const out_success)
 {
 	if (proc->drv->set_device)
 	{
@@ -966,6 +960,24 @@ const char *proc_set_device(struct cgpu_info * const proc, char * const optname,
 	return _proc_set_device(proc, optname, newvalue, replybuf, out_success);
 }
 
+const char *proc_set_device(struct cgpu_info * const proc, char * const optname, char * const newvalue, char * const replybuf, enum bfg_set_device_replytype * const out_success)
+{
+	const char * const rv = __proc_set_device(proc, optname, newvalue, replybuf, out_success);
+	switch (*out_success)
+	{
+		case SDR_NOSUPP:
+		case SDR_UNKNOWN:
+			if (!strcasecmp(optname, "temp-cutoff"))
+				return proc_set_device_temp_cutoff(proc, optname, newvalue, replybuf, out_success);
+			else
+			if (!strcasecmp(optname, "temp-target"))
+				return proc_set_device_temp_target(proc, optname, newvalue, replybuf, out_success);
+		default:
+			break;
+	}
+	return rv;
+}
+
 #ifdef NEED_BFG_LOWL_VCOM
 bool _serial_detect_all(struct lowlevel_device_info * const info, void * const userp)
 {