From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 71494C433EF for ; Thu, 31 Mar 2022 23:56:15 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5BAC8842CD; Fri, 1 Apr 2022 01:56:11 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id 3478B84293; Fri, 1 Apr 2022 01:38:31 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by phobos.denx.de (Postfix) with ESMTP id EB97C84315 for ; Fri, 1 Apr 2022 01:36:58 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=andre.przywara@arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 28A58139F; Thu, 31 Mar 2022 16:36:58 -0700 (PDT) Received: from slackpad.lan (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 00A333F73B; Thu, 31 Mar 2022 16:36:56 -0700 (PDT) Date: Fri, 1 Apr 2022 00:36:14 +0100 From: Andre Przywara To: Samuel Holland Cc: u-boot@lists.denx.de, Jagan Teki , Sean Anderson , Simon Glass , Heinrich Schuchardt , Heiko Schocher , Joe Hershberger Subject: Re: [PATCH v2 03/23] sunxi: pinctrl: Implement get_pin_muxing function Message-ID: <20220401003614.3e04481e@slackpad.lan> In-Reply-To: <20220318035420.15058-4-samuel@sholland.org> References: <20220318035420.15058-1-samuel@sholland.org> <20220318035420.15058-4-samuel@sholland.org> Organization: Arm Ltd. X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.31; x86_64-slackware-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean On Thu, 17 Mar 2022 22:54:00 -0500 Samuel Holland wrote: > The pinmux command uses this function to display pinmux status. > > Since the driver cannot map pin numbers to a list of supported > functions, only functions which are common across all pins can be > reported by name. > > Signed-off-by: Samuel Holland I can surely live with that drawback: Reviewed-by: Andre Przywara Cheers, Andre > --- > > (no changes since v1) > > drivers/pinctrl/sunxi/pinctrl-sunxi.c | 27 +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.c b/drivers/pinctrl/sunxi/pinctrl-sunxi.c > index 6ea8245c8e..4e453cec54 100644 > --- a/drivers/pinctrl/sunxi/pinctrl-sunxi.c > +++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.c > @@ -82,6 +82,32 @@ static int sunxi_pinctrl_pinmux_set(struct udevice *dev, uint pin_selector, > return 0; > } > > +static int sunxi_pinctrl_get_pin_muxing(struct udevice *dev, uint pin_selector, > + char *buf, int size) > +{ > + struct sunxi_pinctrl_plat *plat = dev_get_plat(dev); > + int bank = pin_selector / SUNXI_GPIOS_PER_BANK; > + int pin = pin_selector % SUNXI_GPIOS_PER_BANK; > + int mux = sunxi_gpio_get_cfgbank(plat->base + bank, pin); > + > + switch (mux) { > + case SUNXI_GPIO_INPUT: > + strlcpy(buf, "gpio input", size); > + break; > + case SUNXI_GPIO_OUTPUT: > + strlcpy(buf, "gpio output", size); > + break; > + case SUNXI_GPIO_DISABLE: > + strlcpy(buf, "disabled", size); > + break; > + default: > + snprintf(buf, size, "function %d", mux); > + break; > + } > + > + return 0; > +} > + > static const struct pinctrl_ops sunxi_pinctrl_ops = { > .get_pins_count = sunxi_pinctrl_get_pins_count, > .get_pin_name = sunxi_pinctrl_get_pin_name, > @@ -89,6 +115,7 @@ static const struct pinctrl_ops sunxi_pinctrl_ops = { > .get_function_name = sunxi_pinctrl_get_function_name, > .pinmux_set = sunxi_pinctrl_pinmux_set, > .set_state = pinctrl_generic_set_state, > + .get_pin_muxing = sunxi_pinctrl_get_pin_muxing, > }; > > static int sunxi_pinctrl_bind(struct udevice *dev)