All of lore.kernel.org
 help / color / mirror / Atom feed
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



  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.