Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2224038/?format=api
{ "id": 2224038, "url": "http://patchwork.ozlabs.org/api/patches/2224038/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260416154928.2103388-1-jonas@kwiboo.se/", "project": { "id": 42, "url": "http://patchwork.ozlabs.org/api/projects/42/?format=api", "name": "Linux GPIO development", "link_name": "linux-gpio", "list_id": "linux-gpio.vger.kernel.org", "list_email": "linux-gpio@vger.kernel.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260416154928.2103388-1-jonas@kwiboo.se>", "list_archive_url": null, "date": "2026-04-16T15:49:28", "name": "gpio: rockchip: Fix GPIO after convert to dynamic base allocation", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "b47b47e304637d210e125f7e211766e102367d4b", "submitter": { "id": 71439, "url": "http://patchwork.ozlabs.org/api/people/71439/?format=api", "name": "Jonas Karlman", "email": "jonas@kwiboo.se" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260416154928.2103388-1-jonas@kwiboo.se/mbox/", "series": [ { "id": 500181, "url": "http://patchwork.ozlabs.org/api/series/500181/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/list/?series=500181", "date": "2026-04-16T15:49:28", "name": "gpio: rockchip: Fix GPIO after convert to dynamic base allocation", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/500181/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2224038/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2224038/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-gpio+bounces-35199-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-gpio@vger.kernel.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=kwiboo.se header.i=@kwiboo.se header.a=rsa-sha256\n header.s=fe-e1b5cab7be header.b=MCl0POvd;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-gpio+bounces-35199-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se\n header.b=\"MCl0POvd\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=121.127.44.73", "smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=kwiboo.se", "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=fe-bounces.kwiboo.se" ], "Received": [ "from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fxMtG5PCjz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 Apr 2026 01:50:46 +1000 (AEST)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 4B78A301D311\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 16 Apr 2026 15:49:49 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id DBD402773EC;\n\tThu, 16 Apr 2026 15:49:46 +0000 (UTC)", "from smtp.forwardemail.net (smtp.forwardemail.net [121.127.44.73])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 4D4D219D093\n\tfor <linux-gpio@vger.kernel.org>; Thu, 16 Apr 2026 15:49:43 +0000 (UTC)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776354586; cv=none;\n b=kZol7OrhhcYrmzbjGBuM7598MBEw8FykOGC5kTHcvXS1LXX6B9pTB6VSVHivVGhaiEg4SB6lYAXlap3+2ozZfNqWmlzNF5Dd3XF3xCZ4nSs4KRj28wQCuZLuG53cxh6vKSunuqgTboobF3IkrywBvas41y73EMBmcWnp0RIKHPM=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776354586; c=relaxed/simple;\n\tbh=dWhMv0IKX0ffGXHPVfzmL6Pyd1ttdQOX1RRmdGuaPuk=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version;\n b=tMICYo3QEnKl1eLDN2NviKrbPHy9htyCbKuaAXrQw5KcJ0EL4uDujVN7w/TRAyyXpiDI827/4gYxplTxo56pYiS2b4zDQ92zpvTStOSExtMNzfItbxPpWeOjQUw61Bc2KQ6tnvls3Tm4X8Ttz9HMuDpXKKMq79jn+58HKdi6Ub0=", "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=kwiboo.se;\n spf=pass smtp.mailfrom=fe-bounces.kwiboo.se;\n dkim=pass (2048-bit key) header.d=kwiboo.se header.i=@kwiboo.se\n header.b=MCl0POvd; arc=none smtp.client-ip=121.127.44.73", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se;\n h=Content-Transfer-Encoding: MIME-Version: Message-ID: Date: Subject: Cc:\n To: From; q=dns/txt; s=fe-e1b5cab7be; t=1776354578;\n bh=iZdfqgTzXtA3fPbIpl8GLH8neb3096MRhShKVT67buk=;\n b=MCl0POvdl4KVnynmurGEdVkDtm/c1qW5AF5DkD8NZh0TJg6D0xeNwzgvfsaKgi8IHVM3/b2YI\n /wYXvw2MmtY0qwObW/yAYFUYtx6JkyH90KmU5A09wvxv6IvsGpXT6qLHd69Cg8RY5TShEnlB20D\n dOveg6hE8AZ4JtSGStHf++HVSOL4vjc/CzD77wkBNs/m0dbVb5pHXm8dFeJJATLeuWyON4UgyG+\n bkpKwHV6XAxuoaR5FO/XWZe8YNnrK4wKiKq4d7w1vBGLG8VdgasSptSHU5u+Gq+vL9X1uRJT5kr\n fatwDmtQ9PVRVPJp8W75HOFombXGiedXnRkF1l0FIwJA==", "X-Forward-Email-ID": "69e1050d06b3fda24d33d578", "X-Forward-Email-Sender": "rfc822; jonas@kwiboo.se, smtp.forwardemail.net,\n 121.127.44.73", "X-Forward-Email-Version": "2.7.3", "X-Forward-Email-Website": "https://forwardemail.net", "X-Complaints-To": "abuse@forwardemail.net", "X-Report-Abuse": "abuse@forwardemail.net", "X-Report-Abuse-To": "abuse@forwardemail.net", "From": "Jonas Karlman <jonas@kwiboo.se>", "To": "Linus Walleij <linusw@kernel.org>,\n\tBartosz Golaszewski <brgl@kernel.org>,\n\tHeiko Stuebner <heiko@sntech.de>,\n\tShawn Lin <shawn.lin@rock-chips.com>", "Cc": "Jonas Karlman <jonas@kwiboo.se>,\n\tBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>,\n\tlinux-gpio@vger.kernel.org,\n\tlinux-arm-kernel@lists.infradead.org,\n\tlinux-rockchip@lists.infradead.org,\n\tlinux-kernel@vger.kernel.org", "Subject": "[PATCH] gpio: rockchip: Fix GPIO after convert to dynamic base\n allocation", "Date": "Thu, 16 Apr 2026 15:49:28 +0000", "Message-ID": "<20260416154928.2103388-1-jonas@kwiboo.se>", "X-Mailer": "git-send-email 2.53.0", "Precedence": "bulk", "X-Mailing-List": "linux-gpio@vger.kernel.org", "List-Id": "<linux-gpio.vger.kernel.org>", "List-Subscribe": "<mailto:linux-gpio+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-gpio+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit" }, "content": "The commit c8079f83e0bf (\"gpio: rockchip: convert to dynamic GPIO base\nallocation\") broke GPIO on devices using device trees which don't set\nthe gpio-ranges property, something only Rockchip RK35xx SoC DTs do.\n\nOn a Rockchip RK3399 device something like following is now observed:\n\n[ 0.082771] rockchip-gpio ff720000.gpio: probed /pinctrl/gpio@ff720000\n[ 0.083531] rockchip-gpio ff730000.gpio: probed /pinctrl/gpio@ff730000\n[ 0.084110] rockchip-gpio ff780000.gpio: probed /pinctrl/gpio@ff780000\n[ 0.084746] rockchip-gpio ff788000.gpio: probed /pinctrl/gpio@ff788000\n[ 0.085389] rockchip-gpio ff790000.gpio: probed /pinctrl/gpio@ff790000\n--\n[ 0.212208] rockchip-pinctrl pinctrl: pin 637 is not registered so it cannot be requested\n[ 0.212271] rockchip-pinctrl pinctrl: error -EINVAL: pin-637 (gpio3:637)\n[ 0.212344] leds-gpio leds: error -EINVAL: Failed to get GPIO '/leds/led-0'\n[ 0.212389] leds-gpio leds: probe with driver leds-gpio failed with error -22\n--\n[ 0.607545] rockchip-pinctrl pinctrl: pin 519 is not registered so it cannot be requested\n[ 0.608775] rockchip-pinctrl pinctrl: error -EINVAL: pin-519 (gpio0:519)\n[ 0.610003] dwmmc_rockchip fe320000.mmc: probe with driver dwmmc_rockchip failed with error -22\n--\n[ 0.805882] rockchip-pinctrl pinctrl: pin 547 is not registered so it cannot be requested\n[ 0.806672] rockchip-pinctrl pinctrl: error -EINVAL: pin-547 (gpio1:547)\n[ 0.807301] reg-fixed-voltage regulator-vbus-typec: error -EINVAL: can't get GPIO\n[ 0.807307] rockchip-pinctrl pinctrl: pin 602 is not registered so it cannot be requested\n[ 0.807970] reg-fixed-voltage regulator-vbus-typec: probe with driver reg-fixed-voltage failed with error -22\n[ 0.808692] rockchip-pinctrl pinctrl: error -EINVAL: pin-602 (gpio2:602)\n[ 0.810279] reg-fixed-voltage regulator-vcc3v3-pcie: error -EINVAL: can't get GPIO\n[ 0.810284] rockchip-pinctrl pinctrl: pin 665 is not registered so it cannot be requested\n[ 0.810299] rockchip-pinctrl pinctrl: error -EINVAL: pin-665 (gpio4:665)\n[ 0.810960] reg-fixed-voltage regulator-vcc3v3-pcie: probe with driver reg-fixed-voltage failed with error -22\n[ 0.811679] reg-fixed-voltage regulator-vcc5v0-host: error -EINVAL: can't get GPIO\n[ 0.813943] reg-fixed-voltage regulator-vcc5v0-host: probe with driver reg-fixed-voltage failed with error -22\n--\n[ 0.867788] rockchip-pinctrl pinctrl: pin 522 is not registered so it cannot be requested\n[ 0.868537] rockchip-pinctrl pinctrl: error -EINVAL: pin-522 (gpio0:522)\n[ 0.869166] pwrseq_simple sdio-pwrseq: error -EINVAL: reset GPIOs not ready\n[ 0.869798] pwrseq_simple sdio-pwrseq: probe with driver pwrseq_simple failed with error -22\n--\n[ 0.940365] rockchip-pinctrl pinctrl: pin 623 is not registered so it cannot be requested\n[ 0.941084] rockchip-pinctrl pinctrl: error -EINVAL: pin-623 (gpio3:623)\n[ 0.941823] rk_gmac-dwmac fe300000.ethernet: error -EINVAL: Cannot register the MDIO bus\n[ 0.942542] rk_gmac-dwmac fe300000.ethernet: error -EINVAL: MDIO bus (id: 0) registration failed\n[ 0.943772] rk_gmac-dwmac fe300000.ethernet: probe with driver rk_gmac-dwmac failed with error -22\n\nRestore GPIO to a working state on devices using older Rockchip SoCs\nand/or DTs not having the gpio-ranges property set by restoring prior\nuse of bank->pin_base as the pin_offset value.\n\nAlso change to use bank->nr_pins as the npins value to align and prevent\na possible future breakage if gc->ngpio is ever changed to match the 32\nGPIOs each controller theoretically can handle.\n\nFixes: c8079f83e0bf (\"gpio: rockchip: convert to dynamic GPIO base allocation\")\nSigned-off-by: Jonas Karlman <jonas@kwiboo.se>\n---\n drivers/gpio/gpio-rockchip.c | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)", "diff": "diff --git a/drivers/gpio/gpio-rockchip.c b/drivers/gpio/gpio-rockchip.c\nindex 08ea64434f8f..44d7ebd12724 100644\n--- a/drivers/gpio/gpio-rockchip.c\n+++ b/drivers/gpio/gpio-rockchip.c\n@@ -617,7 +617,7 @@ static int rockchip_gpiolib_register(struct rockchip_pin_bank *bank)\n \t\t\treturn -ENODEV;\n \n \t\tret = gpiochip_add_pin_range(gc, dev_name(pctldev->dev), 0,\n-\t\t\t\t\t gc->base, gc->ngpio);\n+\t\t\t\t\t bank->pin_base, bank->nr_pins);\n \t\tif (ret) {\n \t\t\tdev_err(bank->dev, \"Failed to add pin range\\n\");\n \t\t\tgoto fail;\n", "prefixes": [] }