From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Yury Norov <yury.norov@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
"H. Peter Anvin" <hpa@zytor.com>,
Lucas Stach <l.stach@pengutronix.de>,
Russell King <linux+etnaviv@armlinux.org.uk>,
Christian Gmeiner <christian.gmeiner@gmail.com>,
David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
Jean Delvare <jdelvare@suse.com>,
Guenter Roeck <linux@roeck-us.net>,
Rasmus Villemoes <linux@rasmusvillemoes.dk>,
Marc Zyngier <maz@kernel.org>,
David Woodhouse <dwmw@amazon.co.uk>,
Andrew Morton <akpm@linux-foundation.org>,
Wei Yang <richard.weiyang@linux.alibaba.com>,
Geert Uytterhoeven <geert+renesas@glider.be>,
Alexey Klimov <aklimov@redhat.com>,
x86@kernel.org, linux-kernel@vger.kernel.org,
etnaviv@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-hwmon@vger.kernel.org
Subject: Re: [PATCH 3/3] Replace for_each_*_bit_from() with for_each_*_bit() where appropriate
Date: Sat, 19 Jun 2021 13:55:10 +0300 [thread overview]
Message-ID: <YM3NDrgF3znR+/4z@smile.fi.intel.com> (raw)
In-Reply-To: <YM3L1kciMw7zqhUp@smile.fi.intel.com>
On Sat, Jun 19, 2021 at 01:49:58PM +0300, Andy Shevchenko wrote:
> On Fri, Jun 18, 2021 at 12:57:35PM -0700, Yury Norov wrote:
> > A couple of kernel functions call for_each_*_bit_from() with start
> > bit equal to 0. Replace them with for_each_*_bit().
> >
> > No functional changes, but might improve on readability.
>
> ...
>
> > --- a/drivers/hwmon/ltc2992.c
> > +++ b/drivers/hwmon/ltc2992.c
> > @@ -248,8 +248,7 @@ static int ltc2992_gpio_get_multiple(struct gpio_chip *chip, unsigned long *mask
> >
> > gpio_status = reg;
> >
> > - gpio_nr = 0;
> > - for_each_set_bit_from(gpio_nr, mask, LTC2992_GPIO_NR) {
> > + for_each_set_bit(gpio_nr, mask, LTC2992_GPIO_NR) {
> > if (test_bit(LTC2992_GPIO_BIT(gpio_nr), &gpio_status))
> > set_bit(gpio_nr, bits);
> > }
>
> I would replace the entire loop by bitmap_replace() call.
>
> Something like
> bitmap_replace(bits, bits, &gpio_status, mask, LTC2992_GPIO_NR);
Okay, it wouldn't work directly because it involves LTC2992_GPIO_BIT()
macro. So, it rather some kind of bitmap_remap().
--
With Best Regards,
Andy Shevchenko
WARNING: multiple messages have this Message-ID (diff)
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Yury Norov <yury.norov@gmail.com>
Cc: Wei Yang <richard.weiyang@linux.alibaba.com>,
Geert Uytterhoeven <geert+renesas@glider.be>,
David Airlie <airlied@linux.ie>,
Rasmus Villemoes <linux@rasmusvillemoes.dk>,
dri-devel@lists.freedesktop.org, "H. Peter Anvin" <hpa@zytor.com>,
Marc Zyngier <maz@kernel.org>,
x86@kernel.org, Ingo Molnar <mingo@redhat.com>,
Russell King <linux+etnaviv@armlinux.org.uk>,
Guenter Roeck <linux@roeck-us.net>,
Jean Delvare <jdelvare@suse.com>,
Alexey Klimov <aklimov@redhat.com>,
etnaviv@lists.freedesktop.org, Borislav Petkov <bp@alien8.de>,
Thomas Gleixner <tglx@linutronix.de>,
linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
David Woodhouse <dwmw@amazon.co.uk>
Subject: Re: [PATCH 3/3] Replace for_each_*_bit_from() with for_each_*_bit() where appropriate
Date: Sat, 19 Jun 2021 13:55:10 +0300 [thread overview]
Message-ID: <YM3NDrgF3znR+/4z@smile.fi.intel.com> (raw)
In-Reply-To: <YM3L1kciMw7zqhUp@smile.fi.intel.com>
On Sat, Jun 19, 2021 at 01:49:58PM +0300, Andy Shevchenko wrote:
> On Fri, Jun 18, 2021 at 12:57:35PM -0700, Yury Norov wrote:
> > A couple of kernel functions call for_each_*_bit_from() with start
> > bit equal to 0. Replace them with for_each_*_bit().
> >
> > No functional changes, but might improve on readability.
>
> ...
>
> > --- a/drivers/hwmon/ltc2992.c
> > +++ b/drivers/hwmon/ltc2992.c
> > @@ -248,8 +248,7 @@ static int ltc2992_gpio_get_multiple(struct gpio_chip *chip, unsigned long *mask
> >
> > gpio_status = reg;
> >
> > - gpio_nr = 0;
> > - for_each_set_bit_from(gpio_nr, mask, LTC2992_GPIO_NR) {
> > + for_each_set_bit(gpio_nr, mask, LTC2992_GPIO_NR) {
> > if (test_bit(LTC2992_GPIO_BIT(gpio_nr), &gpio_status))
> > set_bit(gpio_nr, bits);
> > }
>
> I would replace the entire loop by bitmap_replace() call.
>
> Something like
> bitmap_replace(bits, bits, &gpio_status, mask, LTC2992_GPIO_NR);
Okay, it wouldn't work directly because it involves LTC2992_GPIO_BIT()
macro. So, it rather some kind of bitmap_remap().
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2021-06-19 10:55 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-18 19:57 [PATCH 0/3] for_each_*_bit: move to find.h and reconsider Yury Norov
2021-06-18 19:57 ` [PATCH 1/3] include/linux: move for_each_bit() macros from bitops.h to find.h Yury Norov
2021-06-19 10:50 ` Andy Shevchenko
2021-06-19 10:50 ` Andy Shevchenko
2021-06-18 19:57 ` [PATCH 2/3] find: micro-optimize for_each_{set,clear}_bit() Yury Norov
2021-06-19 10:50 ` Andy Shevchenko
2021-06-19 10:50 ` Andy Shevchenko
2021-06-19 16:24 ` Marc Zyngier
2021-06-19 16:24 ` Marc Zyngier
2021-06-19 17:28 ` Yury Norov
2021-06-19 17:28 ` Yury Norov
2021-06-27 16:47 ` Yury Norov
2021-06-27 16:47 ` Yury Norov
2021-06-18 19:57 ` [PATCH 3/3] Replace for_each_*_bit_from() with for_each_*_bit() where appropriate Yury Norov
2021-06-19 10:49 ` Andy Shevchenko
2021-06-19 10:49 ` Andy Shevchenko
2021-06-19 10:55 ` Andy Shevchenko [this message]
2021-06-19 10:55 ` Andy Shevchenko
2021-06-21 20:17 ` Guenter Roeck
2021-06-21 20:17 ` Guenter Roeck
2021-06-21 21:34 ` Yury Norov
2021-06-21 21:34 ` Yury Norov
2021-07-28 14:57 ` [PATCH 0/3] for_each_*_bit: move to find.h and reconsider Yury Norov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YM3NDrgF3znR+/4z@smile.fi.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=airlied@linux.ie \
--cc=aklimov@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=bp@alien8.de \
--cc=christian.gmeiner@gmail.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=dwmw@amazon.co.uk \
--cc=etnaviv@lists.freedesktop.org \
--cc=geert+renesas@glider.be \
--cc=hpa@zytor.com \
--cc=jdelvare@suse.com \
--cc=l.stach@pengutronix.de \
--cc=linux+etnaviv@armlinux.org.uk \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=linux@roeck-us.net \
--cc=maz@kernel.org \
--cc=mingo@redhat.com \
--cc=richard.weiyang@linux.alibaba.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
--cc=yury.norov@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.