From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752831AbcEBG4R (ORCPT ); Mon, 2 May 2016 02:56:17 -0400 Received: from hqemgate14.nvidia.com ([216.228.121.143]:11002 "EHLO hqemgate14.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751187AbcEBG4K (ORCPT ); Mon, 2 May 2016 02:56:10 -0400 X-PGP-Universal: processed; by hqnvupgp08.nvidia.com on Sun, 01 May 2016 23:55:36 -0700 Message-ID: <5726F730.6010802@nvidia.com> Date: Mon, 2 May 2016 12:14:00 +0530 From: Laxman Dewangan User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: Linus Walleij CC: Stephen Warren , Alexandre Courbot , Thierry Reding , "linux-gpio@vger.kernel.org" , "linux-tegra@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH V5 0/4] gpio: tegra: Cleanups and support for debounce References: <1461580714-22479-1-git-send-email-ldewangan@nvidia.com> <5723274B.3050209@nvidia.com> In-Reply-To: X-Originating-IP: [10.19.65.30] X-ClientProxiedBy: DRHKMAIL102.nvidia.com (10.25.59.16) To bgmail102.nvidia.com (10.25.59.11) Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Saturday 30 April 2016 04:37 PM, Linus Walleij wrote: > On Fri, Apr 29, 2016 at 11:20 AM, Laxman Dewangan wrote: >> On Friday 29 April 2016 02:37 PM, Linus Walleij wrote: >>> On Mon, Apr 25, 2016 at 12:38 PM, Laxman Dewangan >>> wrote: >>> >>>> Add support for the debounce as Tegra210 support debounce in HW. >>>> Also do the clenaups to remove all global variables. >>> OK this v5 is applied. >>> >>> Laxman does this GPIO also have open drain and/or open source >>> handling? >> >> Some of the pins support the open drain and these are part of pinmux >> register set. >> For that we have property for setting open drain. >> >> Is it possible to link the gpio APIs to pincontrol for setting that pin? > I have the same issue with Nomadik pin control that I use as a > testbed: there is a backend in pin control to the GPIO side. > > I was thinking about adding a new cross call. We now have this: > > /* External interface to pin control */ > extern int pinctrl_request_gpio(unsigned gpio); > extern void pinctrl_free_gpio(unsigned gpio); > extern int pinctrl_gpio_direction_input(unsigned gpio); > extern int pinctrl_gpio_direction_output(unsigned gpio); > > I was going to add: > > extern int pinctrl_gpio_set_config(unsigned gpio, unsigned long config); > > That can be used by GPIO drivers to call back into pincontrol > and set up any config flags using the conventions of the > corresponding pin control back-end. > > This could be used for as well open drain as other things (like > pull-up) as the userspace ABI matures (it currently only has > in/out and open drain/source). > > What do you think about this idea? > Yes, this will be great. We will have generic interface which help in extending it in option.