2016-04-01 13:52:14

by Yingjoe Chen

[permalink] [raw]
Subject: [PATCH] pinctrl: mediatek: correct debounce time unit in mtk_gpio_set_debounce

The debounce time unit for gpio_chip.set_debounce is us but
mtk_gpio_set_debounce regard it as ms.
Fix this by correct debounce time array dbnc_arr so it can find correct
debounce setting.

Signed-off-by: Yingjoe Chen <[email protected]>
---
drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
index 2bbe6f7..be72325 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
@@ -1004,7 +1004,8 @@ static int mtk_gpio_set_debounce(struct gpio_chip *chip, unsigned offset,
struct mtk_pinctrl *pctl = dev_get_drvdata(chip->parent);
int eint_num, virq, eint_offset;
unsigned int set_offset, bit, clr_bit, clr_offset, rst, i, unmask, dbnc;
- static const unsigned int dbnc_arr[] = {0 , 1, 16, 32, 64, 128, 256};
+ static const unsigned int dbnc_arr[] = {500, 1000, 16000, 32000, 64000,
+ 128000, 256000};
const struct mtk_desc_pin *pin;
struct irq_data *d;

--
1.9.1


2016-04-01 14:28:28

by Daniel Kurtz

[permalink] [raw]
Subject: Re: [PATCH] pinctrl: mediatek: correct debounce time unit in mtk_gpio_set_debounce

Hi Yingjoe,

On Fri, Apr 1, 2016 at 9:51 PM, Yingjoe Chen <[email protected]> wrote:
> The debounce time unit for gpio_chip.set_debounce is us but
> mtk_gpio_set_debounce regard it as ms.
> Fix this by correct debounce time array dbnc_arr so it can find correct
> debounce setting.

This patch also changes the first entry to 500 usec. At least mention why.

>
> Signed-off-by: Yingjoe Chen <[email protected]>
> ---
> drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> index 2bbe6f7..be72325 100644
> --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> @@ -1004,7 +1004,8 @@ static int mtk_gpio_set_debounce(struct gpio_chip *chip, unsigned offset,
> struct mtk_pinctrl *pctl = dev_get_drvdata(chip->parent);
> int eint_num, virq, eint_offset;
> unsigned int set_offset, bit, clr_bit, clr_offset, rst, i, unmask, dbnc;
> - static const unsigned int dbnc_arr[] = {0 , 1, 16, 32, 64, 128, 256};
> + static const unsigned int dbnc_arr[] = {500, 1000, 16000, 32000, 64000,
> + 128000, 256000};

While you are at it, can you please rename this to something more
readable than "dbnc"?

-Dan

> const struct mtk_desc_pin *pin;
> struct irq_data *d;
>
> --
> 1.9.1
>

2016-04-01 14:34:53

by Yingjoe Chen

[permalink] [raw]
Subject: Re: [PATCH] pinctrl: mediatek: correct debounce time unit in mtk_gpio_set_debounce


Daniel,

Thanks for your review.

On Fri, 2016-04-01 at 22:28 +0800, Daniel Kurtz wrote:
> Hi Yingjoe,
>
> On Fri, Apr 1, 2016 at 9:51 PM, Yingjoe Chen <[email protected]> wrote:
> > The debounce time unit for gpio_chip.set_debounce is us but
> > mtk_gpio_set_debounce regard it as ms.
> > Fix this by correct debounce time array dbnc_arr so it can find correct
> > debounce setting.
>
> This patch also changes the first entry to 500 usec. At least mention why.
>

OK. Will add this:

Debounce time for first debounce setting is 500us, correct this as well.

While I'm at it, also change the debounce time array name to
"debounce_time" for readability.


> >
> > Signed-off-by: Yingjoe Chen <[email protected]>
> > ---
> > drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> > index 2bbe6f7..be72325 100644
> > --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> > +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
> > @@ -1004,7 +1004,8 @@ static int mtk_gpio_set_debounce(struct gpio_chip *chip, unsigned offset,
> > struct mtk_pinctrl *pctl = dev_get_drvdata(chip->parent);
> > int eint_num, virq, eint_offset;
> > unsigned int set_offset, bit, clr_bit, clr_offset, rst, i, unmask, dbnc;
> > - static const unsigned int dbnc_arr[] = {0 , 1, 16, 32, 64, 128, 256};
> > + static const unsigned int dbnc_arr[] = {500, 1000, 16000, 32000, 64000,
> > + 128000, 256000};
>
> While you are at it, can you please rename this to something more
> readable than "dbnc"?


Will change to debounce_time.

Joe.C