Peter Maydell <peter.mayd...@linaro.org> writes: > On 8 July 2012 13:12, <blauwir...@gmail.com> wrote: >> -static inline uint64_t deposit64(uint64_t value, int start, int length, >> - uint64_t fieldval) >> +static inline uint64_t deposit64(uint64_t value, unsigned int start, >> + unsigned int length, uint64_t fieldval) >> { >> uint64_t mask; >> - assert(start >= 0 && length > 0 && length <= 64 - start); >> + assert(length > 0 && length <= 64 - start); > > This breaks the assertion (consider the case of start == UINT_MAX > and length == 64). > > In general, this patch is fixing something that isn't broken > and pointlessly diverging from the well-tested kernel versions > of these functions. It's also trying to do several things at once > (eg "drop volatile" is probably less controversial.)
Agree on all points.