diff options
Diffstat (limited to 'drivers/hwmon/lm85.c')
| -rw-r--r-- | drivers/hwmon/lm85.c | 25 | 
1 files changed, 11 insertions, 14 deletions
diff --git a/drivers/hwmon/lm85.c b/drivers/hwmon/lm85.c index 182fe6a5605..ee5eca1c192 100644 --- a/drivers/hwmon/lm85.c +++ b/drivers/hwmon/lm85.c @@ -192,23 +192,20 @@ static int RANGE_TO_REG( int range )  {  	int i; -	if ( range < lm85_range_map[0] ) {  -		return 0 ; -	} else if ( range > lm85_range_map[15] ) { +	if (range >= lm85_range_map[15])  		return 15 ; -	} else {  /* find closest match */ -		for ( i = 14 ; i >= 0 ; --i ) { -			if ( range > lm85_range_map[i] ) { /* range bracketed */ -				if ((lm85_range_map[i+1] - range) <  -					(range - lm85_range_map[i])) { -					i++; -					break; -				} -				break; -			} + +	/* Find the closest match */ +	for (i = 14; i >= 0; --i) { +		if (range >= lm85_range_map[i]) { +			if ((lm85_range_map[i + 1] - range) < +					(range - lm85_range_map[i])) +				return i + 1; +			return i;  		}  	} -	return( i & 0x0f ); + +	return 0;  }  #define RANGE_FROM_REG(val) (lm85_range_map[(val)&0x0f])  |