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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4D0E9E63CA0 for ; Sun, 25 Jan 2026 13:23:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type: Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date :Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=P8vete4FbKroUDiRsh85INSljLEWw5LQXDMx6H8GOzY=; b=Qlx4+Gug1y8nKbA1pDsxz/FOvU fiFMwOmgNX9oBR/xcfDFCrRUbzqKAtqeeJM8GgwcCqLIfwXkFn5NU2v+G9/pQSfRgeNojmKesLCz9 HEmQcXAp1I0p7c5ylyY7ZXHifDEXt7bNo1igpljydII2Bz+ud+Ek7QnSMdv5GxMlR9MWOX8xy9brM 5VAiQN02Eh1uOETcsJNXCleFvfVMdyJ2LyhMxJJj4TIawhKwax82Eh8pG+ZgG2eXOHabkLMdlmKqf DYj83oWggfsvEF5bKg1B7s3zUXLbIs/ClKITfP7Binr9p5dwZDWKsBlNIQx35i6YsISNZZpOmttbz +9G4poWA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vk05X-0000000BCbc-0SDU; Sun, 25 Jan 2026 13:23:35 +0000 Received: from gloria.sntech.de ([185.11.138.130]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vk05U-0000000BCbC-1Gpm; Sun, 25 Jan 2026 13:23:33 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sntech.de; s=gloria202408; h=Content-Type:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Reply-To; bh=P8vete4FbKroUDiRsh85INSljLEWw5LQXDMx6H8GOzY=; b=GiRoqnVctapf8D73oIl+VcQoSK 6CiTaCejwRnjct4AodOKsGYEZJdeNllg4S7XvXd65TIIJukiJBfwvb0INXLJOKoxVUIQOwA7iix8s bwiNySsDdPrQ5BW21njQnYa/jipQU1tpjTbqTB1lZRpePn7BVkQNNAf10olIK/KrbFCewYl+ga94o G8opkJnPo7K44QbZpMCJvHpO1W3QYrlcdsRScz0ZPvG4AAsKzCpaWT4OVaCLu2vUEQfoVvWWAxmIL UZKikeeEm5oxRzVE3fMcArnFqYN69ZeTdqq+fA+BEOx45JOlzH93BwlVMrXbsGEziERIkPZAImjrf RI80mr8g==; Received: from i53875a33.versanet.de ([83.135.90.51] helo=diego.localnet) by gloria.sntech.de with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1vk05L-004Jy1-0F; Sun, 25 Jan 2026 14:23:23 +0100 From: Heiko =?UTF-8?B?U3TDvGJuZXI=?= To: Robin Murphy , Bartosz Golaszewski Cc: Sebastian Reichel , Bartosz Golaszewski , Linus Walleij , linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, Marek Szyprowski , Bartosz Golaszewski Subject: Re: [PATCH] gpio: rockchip: mark the GPIO controller as sleeping Date: Sun, 25 Jan 2026 14:23:20 +0100 Message-ID: <3204984.tdWV9SEqCh@diego> In-Reply-To: References: <20260106090011.21603-1-bartosz.golaszewski@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260125_052332_441488_C7E2EA9E X-CRM114-Status: GOOD ( 17.05 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Am Samstag, 24. Januar 2026, 22:07:12 Mitteleurop=C3=A4ische Normalzeit sch= rieb Bartosz Golaszewski: > On Sat, 24 Jan 2026 00:45:25 +0100, Robin Murphy s= aid: > > On 2026-01-23 9:52 pm, Heiko St=C3=BCbner wrote: [ snip to get to the core question at the bottom ] > > diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinct= rl-rockchip.c > > index e44ef262beec..2fc67aeafdb3 100644 > > --- a/drivers/pinctrl/pinctrl-rockchip.c > > +++ b/drivers/pinctrl/pinctrl-rockchip.c > > @@ -3545,10 +3545,9 @@ static int rockchip_pmx_set(struct pinctrl_dev *= pctldev, unsigned selector, > > return 0; > > } > > > > -static int rockchip_pmx_gpio_set_direction(struct pinctrl_dev *pctldev, > > - struct pinctrl_gpio_range *range, > > - unsigned offset, > > - bool input) > > +static int rockchip_pmx_gpio_request_enable(struct pinctrl_dev *pctlde= v, > > + struct pinctrl_gpio_range *range, > > + unsigned int offset) > > { > > struct rockchip_pinctrl *info =3D pinctrl_dev_get_drvdata(pctldev); > > struct rockchip_pin_bank *bank; > > @@ -3562,7 +3561,7 @@ static const struct pinmux_ops rockchip_pmx_ops = =3D { > > .get_function_name =3D rockchip_pmx_get_func_name, > > .get_function_groups =3D rockchip_pmx_get_groups, > > .set_mux =3D rockchip_pmx_set, > > - .gpio_set_direction =3D rockchip_pmx_gpio_set_direction, > > + .gpio_request_enable =3D rockchip_pmx_gpio_request_enable, > > }; > > > > /* > > >=20 > I'm not sure what's going on here. You don't really need to call > pinctrl_gpio_direction_input/output()? No we actually don't. The current _set_direction function: static int rockchip_pmx_gpio_set_direction(struct pinctrl_dev *pctldev, struct pinctrl_gpio_range *range, unsigned offset, bool input) { struct rockchip_pinctrl *info =3D pinctrl_dev_get_drvdata(pctldev); struct rockchip_pin_bank *bank; bank =3D pin_to_bank(info, offset); return rockchip_set_mux(bank, offset - bank->pin_base, RK_FUNC_GPIO); } really only ever touches the pinmux and has nothing to do with setting the direction, which is solely the task of the gpio-controller/-driver. So moving that to the request callback would likely solve all our current problems? Heiko