Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755474Ab2FTIPJ (ORCPT ); Wed, 20 Jun 2012 04:15:09 -0400 Received: from mail-qa0-f42.google.com ([209.85.216.42]:48899 "EHLO mail-qa0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753853Ab2FTIPC (ORCPT ); Wed, 20 Jun 2012 04:15:02 -0400 MIME-Version: 1.0 In-Reply-To: References: <1312780773-23142-1-git-send-email-Baohua.Song@csr.com> <20110808081552.GI32513@linux-sh.org> <4E40912C.5040801@codeaurora.org> Date: Wed, 20 Jun 2012 10:15:01 +0200 Message-ID: Subject: Re: [PATCH] GPIOLIB: add generic gpio_set_pull API From: Linus Walleij To: Barry Song <21cnbao@gmail.com> Cc: Rohit Vaswani , Kyungmin Park , Linus Walleij , linux-kernel@vger.kernel.org, workgroup.linux@csr.com, Grant Likely , Richard Woo , Paul Mundt , linux-arm-kernel@lists.infradead.org, Mark Brown Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1822 Lines: 48 On Tue, Jun 19, 2012 at 5:25 AM, Barry Song <21cnbao@gmail.com> wrote: > it seems people still use self-defined structure and APIs to set GPIO > pull, Yes. They came into existance before the pinctrl subsystem was invented. > int nmk_gpio_set_pull(int gpio, enum nmk_gpio_pull pull) Yes, that is one example... > or actually you mean use "pin_config_get" and "pin_config_set" with > self-defined configuration to set pull? I don't quite undertand this part of question, can you elaborate? The idea is to move this driver over to using the pinctrl API and delete these functions (or atleast make them static so they are only used inside the driver itself). It's taking time since legacy code needs to be handled carefully and tested on various hardware, sorry for that, but I'm onto it. > but i think at least the macros of GPIO_PULL_NONE, GPIO_PULL_UP and > GPIO_PULL_DOWN should be standardized. You find an attempt at standardization in drivers/pinctrl/pinconf-generic.c which is also used by the composite U300+COH901 drivers. Drivers can select this support library and use the flags from The reason that it's not mandated and some modern SoCs use their own custom definitions was that it was impossible at the time to reach consensus (review the mailing list for the discussion, but mainly it was Mark Brow's arguments that made me give up the general approach). So currently this support lib is available if your pin configs are simple, if they are complex you can cook your own (like many drivers do). Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/