Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754006AbcDUSf6 (ORCPT ); Thu, 21 Apr 2016 14:35:58 -0400 Received: from avon.wwwdotorg.org ([70.85.31.133]:37700 "EHLO avon.wwwdotorg.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751871AbcDUSf4 (ORCPT ); Thu, 21 Apr 2016 14:35:56 -0400 Subject: Re: [PATCH V3 4/4] gpio: tegra: Add support for gpio debounce To: Laxman Dewangan References: <1461159058-1439-1-git-send-email-ldewangan@nvidia.com> <1461159058-1439-5-git-send-email-ldewangan@nvidia.com> Cc: linus.walleij@linaro.org, gnurou@gmail.com, thierry.reding@gmail.com, linux-gpio@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org From: Stephen Warren Message-ID: <57191D8A.9040704@wwwdotorg.org> Date: Thu, 21 Apr 2016 12:35:54 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <1461159058-1439-5-git-send-email-ldewangan@nvidia.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 889 Lines: 22 On 04/20/2016 07:30 AM, Laxman Dewangan wrote: > NVIDIA's Tegra210 support the HW debounce in the GPIO > controller for all its GPIO pins. > > Add support for setting debounce timing by implementing the > set_debounce callback of gpiochip. > diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c > +static int tegra_gpio_set_debounce(struct gpio_chip *chip, unsigned int offset, > + /* There is only one debounce count register per port and hence > + * set the maximum of current and requested debounce time. > + */ > + if (tgi->bank_info[bank].dbc_cnt[port] < debounce_ms) { > + tegra_gpio_writel(tgi, debounce_ms, GPIO_DBC_CNT(tgi, offset)); > + tgi->bank_info[bank].dbc_cnt[port] = debounce_ms; > + } Do we need any locking there? I imagine the GPIO core doesn't prevent different threads/drivers from manipulating different GPIOs in parallel on different cores.