linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] gpio: mvebu: fix regmap_update_bits usage
@ 2017-06-09 10:09 Gregory CLEMENT
  2017-06-09 11:01 ` Thomas Petazzoni
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Gregory CLEMENT @ 2017-06-09 10:09 UTC (permalink / raw)
  To: Linus Walleij, linux-gpio, linux-kernel
  Cc: Jason Cooper, Andrew Lunn, Sebastian Hesselbarth, Gregory CLEMENT,
	Thomas Petazzoni, linux-arm-kernel, Chris Packham,
	Ralph Sennhauser

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


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] gpio: mvebu: fix regmap_update_bits usage
  2017-06-09 10:09 [PATCH v2] gpio: mvebu: fix regmap_update_bits usage Gregory CLEMENT
@ 2017-06-09 11:01 ` Thomas Petazzoni
  2017-06-09 12:21 ` Ralph Sennhauser
  2017-06-16  9:16 ` Linus Walleij
  2 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2017-06-09 11:01 UTC (permalink / raw)
  To: Gregory CLEMENT
  Cc: Linus Walleij, linux-gpio, linux-kernel, Jason Cooper,
	Andrew Lunn, Sebastian Hesselbarth, linux-arm-kernel,
	Chris Packham, Ralph Sennhauser

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] gpio: mvebu: fix regmap_update_bits usage
  2017-06-09 10:09 [PATCH v2] gpio: mvebu: fix regmap_update_bits usage Gregory CLEMENT
  2017-06-09 11:01 ` Thomas Petazzoni
@ 2017-06-09 12:21 ` Ralph Sennhauser
  2017-06-11 21:54   ` Chris Packham
  2017-06-16  9:16 ` Linus Walleij
  2 siblings, 1 reply; 5+ messages in thread
From: Ralph Sennhauser @ 2017-06-09 12:21 UTC (permalink / raw)
  To: Gregory CLEMENT
  Cc: Linus Walleij, linux-gpio, linux-kernel, Jason Cooper,
	Andrew Lunn, Sebastian Hesselbarth, Thomas Petazzoni,
	linux-arm-kernel, Chris Packham

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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] gpio: mvebu: fix regmap_update_bits usage
  2017-06-09 12:21 ` Ralph Sennhauser
@ 2017-06-11 21:54   ` Chris Packham
  0 siblings, 0 replies; 5+ messages in thread
From: Chris Packham @ 2017-06-11 21:54 UTC (permalink / raw)
  To: Ralph Sennhauser, Gregory CLEMENT
  Cc: Linus Walleij, linux-gpio@vger.kernel.org,
	linux-kernel@vger.kernel.org, Jason Cooper, Andrew Lunn,
	Sebastian Hesselbarth, Thomas Petazzoni,
	linux-arm-kernel@lists.infradead.org

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>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] gpio: mvebu: fix regmap_update_bits usage
  2017-06-09 10:09 [PATCH v2] gpio: mvebu: fix regmap_update_bits usage Gregory CLEMENT
  2017-06-09 11:01 ` Thomas Petazzoni
  2017-06-09 12:21 ` Ralph Sennhauser
@ 2017-06-16  9:16 ` Linus Walleij
  2 siblings, 0 replies; 5+ messages in thread
From: Linus Walleij @ 2017-06-16  9:16 UTC (permalink / raw)
  To: Gregory CLEMENT
  Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
	Jason Cooper, Andrew Lunn, Sebastian Hesselbarth,
	Thomas Petazzoni, linux-arm-kernel@lists.infradead.org,
	Chris Packham, Ralph Sennhauser

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-06-16  9:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-09 10:09 [PATCH v2] gpio: mvebu: fix regmap_update_bits usage Gregory CLEMENT
2017-06-09 11:01 ` Thomas Petazzoni
2017-06-09 12:21 ` Ralph Sennhauser
2017-06-11 21:54   ` Chris Packham
2017-06-16  9:16 ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).