]> git.baikalelectronics.ru Git - kernel.git/commit
bitops: Introduce assign_bit()
authorLukas Wunner <lukas@wunner.de>
Thu, 12 Oct 2017 10:40:10 +0000 (12:40 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 19 Oct 2017 20:32:38 +0000 (22:32 +0200)
commit553a7d7fcec15b6e89b61c8916672288c7254d40
tree8e4283ec0a9ef7ac7eaf5a22c3ecbb10ab496dc4
parent1250550f8c20046a9ed5db85103602be36eafcac
bitops: Introduce assign_bit()

A common idiom is to assign a value to a bit with:

    if (value)
        set_bit(nr, addr);
    else
        clear_bit(nr, addr);

Likewise common is the one-line expression variant:

    value ? set_bit(nr, addr) : clear_bit(nr, addr);

Commit d0add5308b01 ("dm mpath: cleanup QUEUE_IF_NO_PATH bit
manipulation by introducing assign_bit()") introduced assign_bit()
to the md subsystem for brevity.

Make it available to others, specifically gpiolib and the upcoming
driver for Maxim MAX3191x industrial serializer chips.

As requested by Peter Zijlstra, change the argument order to reflect
traditional "dst = src" in C, hence "assign_bit(nr, addr, value)".

Cc: Bart Van Assche <bart.vanassche@wdc.com>
Cc: Alasdair Kergon <agk@redhat.com>
Cc: Mike Snitzer <snitzer@redhat.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Neil Brown <neilb@suse.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Theodore Ts'o <tytso@mit.edu>
Cc: Borislav Petkov <bp@alien8.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/md/dm-mpath.c
include/linux/bitops.h