  int opt_avalon2_freq_min = AVA2_DEFAULT_FREQUENCY;
  int opt_avalon2_freq_max = AVA2_DEFAULT_FREQUENCY_MAX;
  
-@@ -52,6 +54,9 @@ int opt_avalon2_voltage_min = AVA2_DEFAULT_VOLTAGE;
+@@ -52,6 +54,11 @@ int opt_avalon2_voltage_min = AVA2_DEFAULT_VOLTAGE;
  int opt_avalon2_voltage_max = AVA2_DEFAULT_VOLTAGE_MAX;
  
  int opt_avalon2_overheat = AVALON2_TEMP_OVERHEAT;
++int opt_avalon2_polling_delay = AVALON2_DEFAULT_POLLING_DELAY;
++
 +enum avalon2_fan_fixed opt_avalon2_fan_fixed = FAN_AUTO;
 +
 +static struct pool pool_stratum;
  
  static inline uint8_t rev8(uint8_t d)
  {
-@@ -79,12 +84,18 @@ char *set_avalon2_fan(char *arg)
+@@ -79,12 +86,18 @@ char *set_avalon2_fan(char *arg)
  	if (val1 < 0 || val1 > 100 || val2 < 0 || val2 > 100 || val2 < val1)
  		return "Invalid value passed to avalon2-fan";
  

+	OPT_WITHOUT_ARG("--avalon2-fixed-speed",
+		     set_avalon2_fixed_speed, &opt_avalon2_fan_fixed,
+		     "Set Avalon2 fan to fixed speed"),
 #endif
 #ifdef USE_BAB
 	OPT_WITH_ARG("--bab-options",
@@ -6763,16 +6766,27 @@ void set_target(unsigned char *dest_target, double diff)
 }
 
 #ifdef USE_AVALON2

 char *set_avalon2_freq(char *arg)
 {
 	int val1, val2, ret;
@@ -147,12 +160,24 @@ static int avalon2_init_pkg(struct avalon2_pkg *pkg, uint8_t type, uint8_t idx,
 
 static int job_idcmp(uint8_t *job_id, char *pool_job_id)
 {
