diff mbox series

[1/4] pinctrl: amd: fix incorrect way to disable debounce filter

Message ID 20201104160344.4929-2-coiby.xu@gmail.com
State Superseded
Headers show
Series [1/4] pinctrl: amd: fix incorrect way to disable debounce filter | expand

Commit Message

Coiby Xu Nov. 4, 2020, 4:03 p.m. UTC
The correct way to disable debounce filter is to clear bit 5 and 6
of the register.

Cc: Hans de Goede <hdegoede@redhat.com>
Message-ID: <df2c008b-e7b5-4fdd-42ea-4d1c62b52139@redhat.com>
Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
---
 drivers/pinctrl/pinctrl-amd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--
2.28.0

Comments

Andy Shevchenko Nov. 4, 2020, 8:38 p.m. UTC | #1
On Wed, Nov 4, 2020 at 6:05 PM Coiby Xu <coiby.xu@gmail.com> wrote:
>

> The correct way to disable debounce filter is to clear bit 5 and 6

> of the register.

>

> Cc: Hans de Goede <hdegoede@redhat.com>


> Message-ID: <df2c008b-e7b5-4fdd-42ea-4d1c62b52139@redhat.com>


Can you use a Link tag with proper lore.kernel.org URL?

-- 
With Best Regards,
Andy Shevchenko
Coiby Xu Nov. 4, 2020, 11:08 p.m. UTC | #2
On Wed, Nov 04, 2020 at 10:38:32PM +0200, Andy Shevchenko wrote:
>On Wed, Nov 4, 2020 at 6:05 PM Coiby Xu <coiby.xu@gmail.com> wrote:

>>

>> The correct way to disable debounce filter is to clear bit 5 and 6

>> of the register.

>>

>> Cc: Hans de Goede <hdegoede@redhat.com>

>

>> Message-ID: <df2c008b-e7b5-4fdd-42ea-4d1c62b52139@redhat.com>

>

>Can you use a Link tag with proper lore.kernel.org URL?

>

Thank you for the suggestion. Applied in v2.

>--

>With Best Regards,

>Andy Shevchenko


--
Best regards,
Coiby
diff mbox series

Patch

diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c
index 9a760f5cd7ed..d6b2b4bd337c 100644
--- a/drivers/pinctrl/pinctrl-amd.c
+++ b/drivers/pinctrl/pinctrl-amd.c
@@ -166,14 +166,14 @@  static int amd_gpio_set_debounce(struct gpio_chip *gc, unsigned offset,
 			pin_reg |= BIT(DB_TMR_OUT_UNIT_OFF);
 			pin_reg |= BIT(DB_TMR_LARGE_OFF);
 		} else {
-			pin_reg &= ~DB_CNTRl_MASK;
+			pin_reg &= ~(DB_CNTRl_MASK << DB_CNTRL_OFF);
 			ret = -EINVAL;
 		}
 	} else {
 		pin_reg &= ~BIT(DB_TMR_OUT_UNIT_OFF);
 		pin_reg &= ~BIT(DB_TMR_LARGE_OFF);
 		pin_reg &= ~DB_TMR_OUT_MASK;
-		pin_reg &= ~DB_CNTRl_MASK;
+		pin_reg &= ~(DB_CNTRl_MASK << DB_CNTRL_OFF);
 	}
 	writel(pin_reg, gpio_dev->base + offset * 4);
 	raw_spin_unlock_irqrestore(&gpio_dev->lock, flags);