From mboxrd@z Thu Jan 1 00:00:00 1970 From: heiko@sntech.de (Heiko =?iso-8859-1?q?St=FCbner?=) Date: Sun, 16 Jun 2013 13:02:31 +0200 Subject: [PATCH 5/5] pinctrl: rockchip: correctly handle arguments of pinconf options In-Reply-To: References: <201306141741.46077.heiko@sntech.de> <201306141744.21117.heiko@sntech.de> Message-ID: <201306161302.32156.heiko@sntech.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Am Sonntag, 16. Juni 2013, 12:35:43 schrieb Linus Walleij: > On Fri, Jun 14, 2013 at 5:44 PM, Heiko St?bner wrote: > > Change the rockchip pinctrl driver to handle the arguments of 0 or 1 to > > the pull pinconfig options correctly, so that the pull gets disabled when > > either the bias_disable options is set or the pull option has the > > argument 0. > > > > Signed-off-by: Heiko Stuebner > > Patch applied so we can move ahead but: > > case PIN_CONFIG_BIAS_PULL_UP: > > case PIN_CONFIG_BIAS_PULL_DOWN: > > > > case PIN_CONFIG_BIAS_PULL_PIN_DEFAULT: > > + if (!rockchip_pinconf_pull_valid(info->ctrl, param)) > > + return -ENOTSUPP; > > + > > + if (!arg) > > + param = PIN_CONFIG_BIAS_DISABLE; > > This is what I think is counter-intuitive. > > Can't you rely on the bias-disable here instead? > > > - *config = 0; > > + pull = rockchip_get_pull(bank, pin - bank->pin_base); > > + *config = (pull == param) ? 1 : 0; > > And then I guess you should emit PIN_CONFIG_BIAS_DISABLE > here as well. rockchip_get_pull does emit PIN_CONFIG_BIAS_DISABLE when the pull is disabled, only wrongly does add the argument here. But I'm actually not quite sure what the expected behaviour is here at all :-) Say the pin is in the "pin-default" pull state and the query in config_get is for "bias-disable", what would be the expected bahviour/return value in this case? Thanks Heiko From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko =?iso-8859-1?q?St=FCbner?= Subject: Re: [PATCH 5/5] pinctrl: rockchip: correctly handle arguments of pinconf options Date: Sun, 16 Jun 2013 13:02:31 +0200 Message-ID: <201306161302.32156.heiko@sntech.de> References: <201306141741.46077.heiko@sntech.de> <201306141744.21117.heiko@sntech.de> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Sender: "devicetree-discuss" To: Linus Walleij Cc: James Hogan , "devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org" , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Rob Herring , Laurent Pinchart , Grant Likely , "linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org" List-Id: devicetree@vger.kernel.org Am Sonntag, 16. Juni 2013, 12:35:43 schrieb Linus Walleij: > On Fri, Jun 14, 2013 at 5:44 PM, Heiko St=FCbner wrote: > > Change the rockchip pinctrl driver to handle the arguments of 0 or 1 to > > the pull pinconfig options correctly, so that the pull gets disabled wh= en > > either the bias_disable options is set or the pull option has the > > argument 0. > > = > > Signed-off-by: Heiko Stuebner > = > Patch applied so we can move ahead but: > > case PIN_CONFIG_BIAS_PULL_UP: > > case PIN_CONFIG_BIAS_PULL_DOWN: > > = > > case PIN_CONFIG_BIAS_PULL_PIN_DEFAULT: > > + if (!rockchip_pinconf_pull_valid(info->ctrl, param)) > > + return -ENOTSUPP; > > + > > + if (!arg) > > + param =3D PIN_CONFIG_BIAS_DISABLE; > = > This is what I think is counter-intuitive. > = > Can't you rely on the bias-disable here instead? > = > > - *config =3D 0; > > + pull =3D rockchip_get_pull(bank, pin - bank->pin_base); > > + *config =3D (pull =3D=3D param) ? 1 : 0; > = > And then I guess you should emit PIN_CONFIG_BIAS_DISABLE > here as well. rockchip_get_pull does emit PIN_CONFIG_BIAS_DISABLE when the pull is disabl= ed, = only wrongly does add the argument here. But I'm actually not quite sure what the expected behaviour is here at all = :-) Say the pin is in the "pin-default" pull state and the query in config_get = is = for "bias-disable", what would be the expected bahviour/return value in thi= s = case? Thanks Heiko From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755049Ab3FPLCg (ORCPT ); Sun, 16 Jun 2013 07:02:36 -0400 Received: from gloria.sntech.de ([95.129.55.99]:56222 "EHLO gloria.sntech.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754868Ab3FPLCf (ORCPT ); Sun, 16 Jun 2013 07:02:35 -0400 From: Heiko =?iso-8859-1?q?St=FCbner?= To: Linus Walleij Subject: Re: [PATCH 5/5] pinctrl: rockchip: correctly handle arguments of pinconf options Date: Sun, 16 Jun 2013 13:02:31 +0200 User-Agent: KMail/1.13.7 (Linux/3.2.0-3-686-pae; KDE/4.8.4; i686; ; ) Cc: "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , Grant Likely , Rob Herring , "devicetree-discuss@lists.ozlabs.org" , James Hogan , Laurent Pinchart References: <201306141741.46077.heiko@sntech.de> <201306141744.21117.heiko@sntech.de> In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Message-Id: <201306161302.32156.heiko@sntech.de> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am Sonntag, 16. Juni 2013, 12:35:43 schrieb Linus Walleij: > On Fri, Jun 14, 2013 at 5:44 PM, Heiko Stübner wrote: > > Change the rockchip pinctrl driver to handle the arguments of 0 or 1 to > > the pull pinconfig options correctly, so that the pull gets disabled when > > either the bias_disable options is set or the pull option has the > > argument 0. > > > > Signed-off-by: Heiko Stuebner > > Patch applied so we can move ahead but: > > case PIN_CONFIG_BIAS_PULL_UP: > > case PIN_CONFIG_BIAS_PULL_DOWN: > > > > case PIN_CONFIG_BIAS_PULL_PIN_DEFAULT: > > + if (!rockchip_pinconf_pull_valid(info->ctrl, param)) > > + return -ENOTSUPP; > > + > > + if (!arg) > > + param = PIN_CONFIG_BIAS_DISABLE; > > This is what I think is counter-intuitive. > > Can't you rely on the bias-disable here instead? > > > - *config = 0; > > + pull = rockchip_get_pull(bank, pin - bank->pin_base); > > + *config = (pull == param) ? 1 : 0; > > And then I guess you should emit PIN_CONFIG_BIAS_DISABLE > here as well. rockchip_get_pull does emit PIN_CONFIG_BIAS_DISABLE when the pull is disabled, only wrongly does add the argument here. But I'm actually not quite sure what the expected behaviour is here at all :-) Say the pin is in the "pin-default" pull state and the query in config_get is for "bias-disable", what would be the expected bahviour/return value in this case? Thanks Heiko