iio: mlx96014: Error checking from positive to negative
Subsystems (2)
Crt Mori
maintainerPATCH v2 1/1 iio: mlx96014: Error checking from positive to negative
Dan Carpenter reported a static checker report and after his mail I noticed that we actually return from function if positive value is obtained from i2c read. This was remainder from when code was not in separate function (which I changed during the review process).
Static checker reported
drivers/iio/temperature/mlx90614.c:167 mlx90614_iir_search()
warn: this cast is a no-op
which meant that cast before negating is useless. Dan also proposed a solution on nicer bit operation form.
Also changed magic number to macro in process as that was confusing.
--- drivers/iio/temperature/mlx90614.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-)
drivers/iio/temperature/mlx90614.c +8 -6
@@ -72,6 +72,7 @@#define MLX90614_CONST_SCALE 20/* Scale in milliKelvin (0.02 * 1000) */ #define MLX90614_CONST_RAW_EMISSIVITY_MAX 65535/* max value for emissivity */ #define MLX90614_CONST_EMISSIVITY_RESOLUTION 15259/* 1/65535 ~ 0.000015259 */ +#define MLX90614_CONST_FIR 0x7/* Fixed value for FIR part of low pass filter */ struct mlx90614_data {struct i2c_client *client;
@@ -156,15 +157,16 @@ static inline s32 mlx90614_iir_search(const struct i2c_client *client,* changes */ ret =i2c_smbus_read_word_data (client,MLX90614_CONFIG ); -if (ret >0 ) +if (ret <0 )return ret; + ret &= ~MLX90614_CONFIG_FIR_MASK ; + ret |=MLX90614_CONST_FIR <<MLX90614_CONFIG_FIR_SHIFT ; + ret &= ~MLX90614_CONFIG_IIR_MASK ; + ret |= i <<MLX90614_CONFIG_IIR_SHIFT ; +/* Write changed values */ - ret =mlx90614_write_word (client,MLX90614_CONFIG , - (i <<MLX90614_CONFIG_IIR_SHIFT ) | - (((u16) ((0x7 <<MLX90614_CONFIG_FIR_SHIFT ) | - ((u16 ) ret & (~((u16 )MLX90614_CONFIG_FIR_MASK ))))) & - (~(u16 )MLX90614_CONFIG_IIR_MASK ))); + ret =mlx90614_write_word (client,MLX90614_CONFIG , ret);return ret; }
Signature · 1 line
2.1.4
Thanks!
regards,
dan carpenter
Quoted 4 lines · Dan Carpenter
Thanks!
regards,
dan carpenter
Applied to the togreg branch of iio.git as the problem patch is currently only in staging-next.
Thanks,
Jonathan
Quoted 6 lines
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html