Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1662236 > unrolled thread

[PATCH v2] gpio: mvebu: fix regmap_update_bits usage

Started byGregory CLEMENT <gregory.clement@free-electrons.com>
First post2017-06-09 12:10 +0200
Last post2017-06-16 11:20 +0200
Articles 5 — 5 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v2] gpio: mvebu: fix regmap_update_bits usage Gregory CLEMENT <gregory.clement@free-electrons.com> - 2017-06-09 12:10 +0200
    Re: [PATCH v2] gpio: mvebu: fix regmap_update_bits usage Thomas Petazzoni <thomas.petazzoni@free-electrons.com> - 2017-06-09 13:10 +0200
    Re: [PATCH v2] gpio: mvebu: fix regmap_update_bits usage Ralph Sennhauser <ralph.sennhauser@gmail.com> - 2017-06-09 14:30 +0200
      Re: [PATCH v2] gpio: mvebu: fix regmap_update_bits usage Chris Packham <Chris.Packham@alliedtelesis.co.nz> - 2017-06-12 00:00 +0200
    Re: [PATCH v2] gpio: mvebu: fix regmap_update_bits usage Linus Walleij <linus.walleij@linaro.org> - 2017-06-16 11:20 +0200

#1662236 — [PATCH v2] gpio: mvebu: fix regmap_update_bits usage

FromGregory CLEMENT <gregory.clement@free-electrons.com>
Date2017-06-09 12:10 +0200
Subject[PATCH v2] gpio: mvebu: fix regmap_update_bits usage
Message-ID<tQp1F-dV-23@gated-at.bofh.it>
In some place in the driver regmap_update_bits was misused. Indeed the
last argument is not the value of the bit (or group of bits) itself but
the mask value inside the register.

So when setting the bit N, then the value must be BIT(N) and not 1.

CC: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
CC: Ralph Sennhauser <ralph.sennhauser@gmail.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
---
Hi,

In this second version I fixed the improper changed pointed by Thomas.

Dorry for the noise,

Gregory

 drivers/gpio/gpio-mvebu.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c
index 3d03740a20e7..877a3edffa47 100644
--- a/drivers/gpio/gpio-mvebu.c
+++ b/drivers/gpio/gpio-mvebu.c
@@ -341,7 +341,7 @@ static int mvebu_gpio_direction_input(struct gpio_chip *chip, unsigned int pin)
 		return ret;
 
 	regmap_update_bits(mvchip->regs, GPIO_IO_CONF_OFF,
-			   BIT(pin), 1);
+			   BIT(pin), BIT(pin));
 
 	return 0;
 }
@@ -503,7 +503,7 @@ static int mvebu_gpio_irq_set_type(struct irq_data *d, unsigned int type)
 	case IRQ_TYPE_EDGE_FALLING:
 	case IRQ_TYPE_LEVEL_LOW:
 		regmap_update_bits(mvchip->regs, GPIO_IN_POL_OFF,
-				   BIT(pin), 1);
+				   BIT(pin), BIT(pin));
 		break;
 	case IRQ_TYPE_EDGE_BOTH: {
 		u32 data_in, in_pol, val;
-- 
2.11.0

[toc] | [next] | [standalone]


#1662302

FromThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date2017-06-09 13:10 +0200
Message-ID<tQpXI-LP-17@gated-at.bofh.it>
In reply to#1662236
Hello,

On Fri,  9 Jun 2017 12:09:17 +0200, Gregory CLEMENT wrote:
> In some place in the driver regmap_update_bits was misused. Indeed the
> last argument is not the value of the bit (or group of bits) itself but
> the mask value inside the register.
> 
> So when setting the bit N, then the value must be BIT(N) and not 1.
> 
> CC: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
> CC: Ralph Sennhauser <ralph.sennhauser@gmail.com>
> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>

Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Thanks for fixing this so quickly!

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

[toc] | [prev] | [next] | [standalone]


#1662372

FromRalph Sennhauser <ralph.sennhauser@gmail.com>
Date2017-06-09 14:30 +0200
Message-ID<tQrd7-1sb-3@gated-at.bofh.it>
In reply to#1662236
On Fri,  9 Jun 2017 12:09:17 +0200
Gregory CLEMENT <gregory.clement@free-electrons.com> wrote:

> In some place in the driver regmap_update_bits was misused. Indeed the
> last argument is not the value of the bit (or group of bits) itself
> but the mask value inside the register.
> 
> So when setting the bit N, then the value must be BIT(N) and not 1.
> 
> CC: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
> CC: Ralph Sennhauser <ralph.sennhauser@gmail.com>
> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
> ---

Hi Gregory,

Tested-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>

Thanks for the prompt fix
Ralph

[toc] | [prev] | [next] | [standalone]


#1663158

FromChris Packham <Chris.Packham@alliedtelesis.co.nz>
Date2017-06-12 00:00 +0200
Message-ID<tRj3P-1RX-1@gated-at.bofh.it>
In reply to#1662372
On 10/06/17 00:22, Ralph Sennhauser wrote:
> On Fri,  9 Jun 2017 12:09:17 +0200
> Gregory CLEMENT <gregory.clement@free-electrons.com> wrote:
> 
>> In some place in the driver regmap_update_bits was misused. Indeed the
>> last argument is not the value of the bit (or group of bits) itself
>> but the mask value inside the register.
>>
>> So when setting the bit N, then the value must be BIT(N) and not 1.
>>
>> CC: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
>> CC: Ralph Sennhauser <ralph.sennhauser@gmail.com>
>> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
>> ---
> 
> Hi Gregory,
> 
> Tested-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
> 
> Thanks for the prompt fix
> Ralph

Also works for me

Tested-by: Chris Packham <Chris.Packham@alliedtelesis.co.nz>

[toc] | [prev] | [next] | [standalone]


#1667566

FromLinus Walleij <linus.walleij@linaro.org>
Date2017-06-16 11:20 +0200
Message-ID<tSVA5-6x9-5@gated-at.bofh.it>
In reply to#1662236
On Fri, Jun 9, 2017 at 12:09 PM, Gregory CLEMENT
<gregory.clement@free-electrons.com> wrote:

> In some place in the driver regmap_update_bits was misused. Indeed the
> last argument is not the value of the bit (or group of bits) itself but
> the mask value inside the register.
>
> So when setting the bit N, then the value must be BIT(N) and not 1.
>
> CC: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
> CC: Ralph Sennhauser <ralph.sennhauser@gmail.com>
> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
> ---
> Hi,
>
> In this second version I fixed the improper changed pointed by Thomas.

This version applied with the tags.

Yours,
Linus Walleij

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web