Re: [PATCH v1] bitmap: Drop unnecessary 0 check for u32 array operations

From: Yury Norov
Date: Thu May 31 2018 - 10:48:15 EST


On Thu, May 31, 2018 at 04:19:14PM +0300, Andy Shevchenko wrote:
> The nbits == 0 is safe to be supplied to the function body, so,
> remove unnecessary checks in bitmap_to_arr32() and bitmap_from_arr32().
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>

Indeed. Thanks for the catch.

> ---
> lib/bitmap.c | 9 +--------
> 1 file changed, 1 insertion(+), 8 deletions(-)
>
> diff --git a/lib/bitmap.c b/lib/bitmap.c
> index 58f9750e49c6..33e95cd359a2 100644
> --- a/lib/bitmap.c
> +++ b/lib/bitmap.c
> @@ -1132,14 +1132,10 @@ EXPORT_SYMBOL(bitmap_copy_le);
> * @buf: array of u32 (in host byte order), the source bitmap
> * @nbits: number of bits in @bitmap
> */
> -void bitmap_from_arr32(unsigned long *bitmap, const u32 *buf,
> - unsigned int nbits)
> +void bitmap_from_arr32(unsigned long *bitmap, const u32 *buf, unsigned int nbits)

This line is 81 characters length, and it will trigger checkpatch warning.
(But I'm OK with it.)

> {
> unsigned int i, halfwords;
>
> - if (!nbits)
> - return;
> -
> halfwords = DIV_ROUND_UP(nbits, 32);
> for (i = 0; i < halfwords; i++) {
> bitmap[i/2] = (unsigned long) buf[i];
> @@ -1163,9 +1159,6 @@ void bitmap_to_arr32(u32 *buf, const unsigned long *bitmap, unsigned int nbits)
> {
> unsigned int i, halfwords;
>
> - if (!nbits)
> - return;
> -
> halfwords = DIV_ROUND_UP(nbits, 32);
> for (i = 0; i < halfwords; i++) {
> buf[i] = (u32) (bitmap[i/2] & UINT_MAX);
> --
> 2.17.0

Acked-by: Yury Norov <ynorov@xxxxxxxxxxxxxxxxxx>