}
 }
 
-static int inv_mpu6050_write_gyro_scale(struct inv_mpu6050_state *st, int val)
+static int inv_mpu6050_write_gyro_scale(struct inv_mpu6050_state *st, int val,
+                                       int val2)
 {
        int result, i;
 
+       if (val != 0)
+               return -EINVAL;
+
        for (i = 0; i < ARRAY_SIZE(gyro_scale_6050); ++i) {
-               if (gyro_scale_6050[i] == val) {
+               if (gyro_scale_6050[i] == val2) {
                        result = inv_mpu6050_set_gyro_fsr(st, i);
                        if (result)
                                return result;
        return -EINVAL;
 }
 
-static int inv_mpu6050_write_accel_scale(struct inv_mpu6050_state *st, int val)
+static int inv_mpu6050_write_accel_scale(struct inv_mpu6050_state *st, int val,
+                                        int val2)
 {
        int result, i;
        u8 d;
 
+       if (val != 0)
+               return -EINVAL;
+
        for (i = 0; i < ARRAY_SIZE(accel_scale); ++i) {
-               if (accel_scale[i] == val) {
+               if (accel_scale[i] == val2) {
                        d = (i << INV_MPU6050_ACCL_CONFIG_FSR_SHIFT);
                        result = regmap_write(st->map, st->reg->accl_config, d);
                        if (result)
        case IIO_CHAN_INFO_SCALE:
                switch (chan->type) {
                case IIO_ANGL_VEL:
-                       result = inv_mpu6050_write_gyro_scale(st, val2);
+                       result = inv_mpu6050_write_gyro_scale(st, val, val2);
                        break;
                case IIO_ACCEL:
-                       result = inv_mpu6050_write_accel_scale(st, val2);
+                       result = inv_mpu6050_write_accel_scale(st, val, val2);
                        break;
                default:
                        result = -EINVAL;