All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chanwoo Choi <cw00.choi@samsung.com>
To: Linus Walleij <linus.walleij@linaro.org>,
	MyungJoo Ham <myungjoo.ham@samsung.com>
Cc: linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,
	John Stultz <john.stultz@linaro.org>,
	Guenter Roeck <linux@roeck-us.net>
Subject: Re: [PATCH 6/8] extcon: gpio: Get debounce setting from device property
Date: Tue, 26 Sep 2017 11:23:25 +0900	[thread overview]
Message-ID: <59C9BA1D.9080900@samsung.com> (raw)
In-Reply-To: <20170924145622.4031-7-linus.walleij@linaro.org>

Hi Linus,

On 2017년 09월 24일 23:56, Linus Walleij wrote:
> Look up the debouncing value using the device property that will
> pick it from device tree or ACPI DSDT or whatever is available.
> 
> Reintroduce the debounce handling previously deleted in the
> series, setting the delayed worker to delay 0 ms if the GPIO
> driver supports debouncing for us, else just delay the reading
> of the value delayed by jiffies.
> 
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
>  drivers/extcon/extcon-gpio.c | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)

I checked the pinctrl-bindings.txt[1] in order to check
the property name of 'input-debounce'. It looks good to me.
[1] Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt

Acked-by: Chanwoo Choi <cw00.choi@samsung.com>

> 
> diff --git a/drivers/extcon/extcon-gpio.c b/drivers/extcon/extcon-gpio.c
> index 6d9cb4ed11c2..8fc52631c8a2 100644
> --- a/drivers/extcon/extcon-gpio.c
> +++ b/drivers/extcon/extcon-gpio.c
> @@ -24,6 +24,7 @@
>  #include <linux/kernel.h>
>  #include <linux/module.h>
>  #include <linux/platform_device.h>
> +#include <linux/property.h>
>  #include <linux/slab.h>
>  #include <linux/workqueue.h>
>  
> @@ -35,7 +36,6 @@
>   *			value.
>   * @gpiod:		GPIO descriptor for this external connector.
>   * @extcon_id:		The unique id of specific external connector.
> - * @debounce:		Debounce time for GPIO IRQ in ms.
>   * @check_on_resume:	Boolean describing whether to check the state of gpio
>   *			while resuming from sleep.
>   */
> @@ -45,7 +45,6 @@ struct gpio_extcon_data {
>  	unsigned long debounce_jiffies;
>  	struct gpio_desc *gpiod;
>  	unsigned int extcon_id;
> -	unsigned long debounce;
>  	bool check_on_resume;
>  };
>  
> @@ -74,6 +73,7 @@ static int gpio_extcon_probe(struct platform_device *pdev)
>  	struct gpio_extcon_data *data;
>  	struct device *dev = &pdev->dev;
>  	unsigned long irq_flags;
> +	u32 debounce_usecs;
>  	int irq;
>  	int ret;
>  
> @@ -109,6 +109,15 @@ static int gpio_extcon_probe(struct platform_device *pdev)
>  		return -ENOMEM;
>  	}
>  
> +	ret = device_property_read_u32(dev, "input-debounce", &debounce_usecs);
> +	if (ret || !debounce_usecs) {
> +		dev_err(dev, "illegal debounce value, set to 20 ms\n");
> +		debounce_usecs = 20000;
> +	}
> +	ret = gpiod_set_debounce(data->gpiod, debounce_usecs);
> +	if (ret)
> +		data->debounce_jiffies = msecs_to_jiffies(debounce_usecs * 1000);
> +
>  	ret = devm_extcon_dev_register(dev, data->edev);
>  	if (ret < 0)
>  		return ret;
> 


-- 
Best Regards,
Chanwoo Choi
Samsung Electronics

  reply	other threads:[~2017-09-26  2:23 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-24 14:56 [PATCH 0/8] GPIO extcon modernization Linus Walleij
     [not found] ` <20170924145622.4031-1-linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2017-09-24 14:56   ` [PATCH 1/8] extcon: gpio: Add DT bindings Linus Walleij
2017-09-24 14:56     ` Linus Walleij
2017-09-24 19:56     ` Rob Herring
     [not found]       ` <CAL_JsqKth+EHVZEVpT1U7qVvN77i7oZjBJH5bbowXcjJxETuoA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-09-26  0:39         ` Linus Walleij
2017-09-26  0:39           ` Linus Walleij
2017-09-26  2:02           ` Chanwoo Choi
2017-10-19 10:47             ` Chanwoo Choi
2017-09-24 14:56 ` [PATCH 2/8] extcon: gpio: Localize platform data Linus Walleij
2017-09-26  2:04   ` Chanwoo Choi
2017-09-24 14:56 ` [PATCH 3/8] extcon: gpio: Move platform data into state container Linus Walleij
2017-09-26  2:04   ` Chanwoo Choi
2017-09-24 14:56 ` [PATCH 4/8] extcon: gpio: Convert to fully use GPIO descriptor Linus Walleij
2017-09-26  2:18   ` Chanwoo Choi
2017-09-24 14:56 ` [PATCH 5/8] extcon: gpio: Request reasonable interrupts Linus Walleij
2017-09-26  2:19   ` Chanwoo Choi
2017-09-24 14:56 ` [PATCH 6/8] extcon: gpio: Get debounce setting from device property Linus Walleij
2017-09-26  2:23   ` Chanwoo Choi [this message]
2017-09-24 14:56 ` [PATCH 7/8] extcon: gpio: Get connector type " Linus Walleij
2017-09-24 14:56 ` [PATCH 8/8] extcon: gpio: Always check state on resume Linus Walleij
2017-09-26  2:25   ` Chanwoo Choi

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=59C9BA1D.9080900@samsung.com \
    --to=cw00.choi@samsung.com \
    --cc=john.stultz@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=myungjoo.ham@samsung.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.