From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753453AbbCaMRH (ORCPT ); Tue, 31 Mar 2015 08:17:07 -0400 Received: from mailout1.w1.samsung.com ([210.118.77.11]:20238 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751359AbbCaMRB (ORCPT ); Tue, 31 Mar 2015 08:17:01 -0400 X-AuditID: cbfec7f5-b7fc86d0000066b7-e2-551a90390474 Message-id: <551A9039.1010705@samsung.com> Date: Tue, 31 Mar 2015 14:16:57 +0200 From: Robert Baldyga User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-version: 1.0 To: Roger Quadros , cw00.choi@samsung.com Cc: myungjoo.ham@samsung.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, m.szyprowski@samsung.com Subject: Re: [PATCH 3/4] extcon: usb-gpio: make debounce value configurable in devicetree References: <1427787963-23562-1-git-send-email-r.baldyga@samsung.com> <1427787963-23562-4-git-send-email-r.baldyga@samsung.com> <551A6926.8030101@ti.com> In-reply-to: <551A6926.8030101@ti.com> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrDLMWRmVeSWpSXmKPExsVy+t/xy7qWE6RCDW7OMrW4/uU5q8X8I+dY LS7vmsNmsfbIXXaL240r2Cx6Hmk5sHn0bVnF6HH8xnYmj8+b5AKYo7hsUlJzMstSi/TtErgy ruy+x1zQJlxx+MF0xgbGw/xdjJwcEgImEmtbl7JB2GISF+6tB7K5OIQEljJKXO46xgjhfGSU 2LZwExNIFa+AlsTvRdPYQWwWAVWJ7u3vwWw2AR2JLd8nADVwcIgKREjcvswJUS4o8WPyPRYQ W0TAQmLZ9eOMIDazQJFE24xXYLawQLTEslkPmSF2zWWU+HHzNCtIglNATWLrwrVsIDOZBfQk 7l/UguiVl9i85i3zBEaBWUhWzEKomoWkagEj8ypG0dTS5ILipPRcI73ixNzi0rx0veT83E2M kBD+uoNx6TGrQ4wCHIxKPLyF2VKhQqyJZcWVuYcYJTiYlUR4X3cChXhTEiurUovy44tKc1KL DzEycXBKNTCaHNKJ1D18TX6O0N3DKz395kYa8rd9b5u1a4on9z+bI4/f1Mcb50xa0DN7QtaD R2umn17w6Kqc9vpbXVe6b1xte7t09sWTGVe3bn81uaP+S0j1FPW0ruUKS8rnfM50sJUNyVQt 7L18r3BR8trP53mMAz4X7Sh1dwpRZWrXsD5oL5fx8FScU7WDEktxRqKhFnNRcSIAfrYoUD8C AAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 03/31/2015 11:30 AM, Roger Quadros wrote: > On 31/03/15 10:46, Robert Baldyga wrote: >> This patch adds devicetree property for setting debounce value. It allows >> to set debounce time shorter or longer depending on the needs of given >> platform. >> >> Signed-off-by: Robert Baldyga >> --- >> drivers/extcon/extcon-usb-gpio.c | 14 +++++++++----- >> 1 file changed, 9 insertions(+), 5 deletions(-) >> >> diff --git a/drivers/extcon/extcon-usb-gpio.c b/drivers/extcon/extcon-usb-gpio.c >> index 02ff40e..86e3ece 100644 >> --- a/drivers/extcon/extcon-usb-gpio.c >> +++ b/drivers/extcon/extcon-usb-gpio.c >> @@ -130,6 +130,7 @@ static int usb_extcon_probe(struct platform_device *pdev) >> struct device *dev = &pdev->dev; >> struct device_node *np = dev->of_node; >> struct usb_extcon_info *info; >> + u32 debounce; >> int ret; >> >> if (!np) >> @@ -140,6 +141,11 @@ static int usb_extcon_probe(struct platform_device *pdev) >> return -ENOMEM; >> >> info->dev = dev; >> + >> + ret = of_property_read_u32(np, "debounce", &debounce); >> + if (ret < 0) >> + debounce = USB_GPIO_DEBOUNCE_MS; >> + > > Should we sanity check debounce value provided by device tree? > e.g. if it is greater than USB_GPIO_DEBOUNCE_MAX then we error out. > MAX could be 100 or 250ms. > None of extcon drivers do such thing, so I suppose it's up to devicetree to supply reasonable value here. >> info->id_gpiod = devm_gpiod_get_optional(&pdev->dev, "id"); >> info->vbus_gpiod = devm_gpiod_get_optional(&pdev->dev, "vbus"); >> >> @@ -161,16 +167,14 @@ static int usb_extcon_probe(struct platform_device *pdev) >> } >> >> if (info->id_gpiod) >> - ret = gpiod_set_debounce(info->id_gpiod, >> - USB_GPIO_DEBOUNCE_MS * 1000); >> + ret = gpiod_set_debounce(info->id_gpiod, debounce * 1000); >> if (!ret && info->vbus_gpiod) { >> - ret = gpiod_set_debounce(info->vbus_gpiod, >> - USB_GPIO_DEBOUNCE_MS * 1000); >> + ret = gpiod_set_debounce(info->vbus_gpiod, debounce * 1000); >> if (ret < 0 && info->id_gpiod) >> gpiod_set_debounce(info->vbus_gpiod, 0); >> } >> if (ret < 0) >> - info->debounce_jiffies = msecs_to_jiffies(USB_GPIO_DEBOUNCE_MS); >> + info->debounce_jiffies = msecs_to_jiffies(debounce); >> >> INIT_DELAYED_WORK(&info->wq_detcable, usb_extcon_detect_cable); >> >> Best regards, Robert Baldyga