Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2194959/?format=api
{ "id": 2194959, "url": "http://patchwork.ozlabs.org/api/patches/2194959/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260210094806.38146-1-bartosz.golaszewski@oss.qualcomm.com/", "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": "<20260210094806.38146-1-bartosz.golaszewski@oss.qualcomm.com>", "list_archive_url": null, "date": "2026-02-10T09:48:06", "name": "gpio: swnode: restore the swnode-name-against-chip-label matching", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "dbe2e1b8632788b45c99d051e433176496303d84", "submitter": { "id": 92196, "url": "http://patchwork.ozlabs.org/api/people/92196/?format=api", "name": "Bartosz Golaszewski", "email": "bartosz.golaszewski@oss.qualcomm.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260210094806.38146-1-bartosz.golaszewski@oss.qualcomm.com/mbox/", "series": [ { "id": 491637, "url": "http://patchwork.ozlabs.org/api/series/491637/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/list/?series=491637", "date": "2026-02-10T09:48:06", "name": "gpio: swnode: restore the swnode-name-against-chip-label matching", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/491637/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2194959/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2194959/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-gpio+bounces-31548-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 unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=HoOC4VIG;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=kHbhihe+;\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-31548-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com\n header.b=\"HoOC4VIG\";\n\tdkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.b=\"kHbhihe+\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=205.220.168.131", "smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com", "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=oss.qualcomm.com" ], "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 4f9GwH2RFQz1xvb\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 10 Feb 2026 20:48:31 +1100 (AEDT)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id DF6E0302B21F\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 10 Feb 2026 09:48:28 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id B1BCC342177;\n\tTue, 10 Feb 2026 09:48:25 +0000 (UTC)", "from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com\n [205.220.168.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 60F6F33F39E\n\tfor <linux-gpio@vger.kernel.org>; Tue, 10 Feb 2026 09:48:24 +0000 (UTC)", "from pps.filterd (m0279866.ppops.net [127.0.0.1])\n\tby mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 61A7PrSX4003528\n\tfor <linux-gpio@vger.kernel.org>; Tue, 10 Feb 2026 09:48:23 GMT", "from mail-qk1-f198.google.com (mail-qk1-f198.google.com\n [209.85.222.198])\n\tby mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c7r23j270-1\n\t(version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n\tfor <linux-gpio@vger.kernel.org>; Tue, 10 Feb 2026 09:48:23 +0000 (GMT)", "by mail-qk1-f198.google.com with SMTP id\n af79cd13be357-8c52d3be24cso92736685a.0\n for <linux-gpio@vger.kernel.org>;\n Tue, 10 Feb 2026 01:48:23 -0800 (PST)", "from brgl-qcom.home ([2a01:cb1d:dc:7e00:1964:f977:ccfd:e173])\n by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-4376bd5a074sm15492135f8f.11.2026.02.10.01.48.20\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 10 Feb 2026 01:48:21 -0800 (PST)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1770716905; cv=none;\n b=NEtwcEEdULVAIy5Y9xnR3ZUCgSif+ZQkfOs0kKl3wuqeyFBi5rRkUfqLVhPpwy7nYHXxA7beoRbhyUR19flTVZAhrCmVZNuV/AfRnd+mBrgMrNGIDERJ7VnMMOtd9Y0GUdWNePq65ZxjFg7AMtVOzGTJMoVCr/b5yhDuaAsNDG4=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1770716905; c=relaxed/simple;\n\tbh=e3dSQfqVhgsxxhUTvmPgK+yGjRC63OjJTvyIHJC7OgE=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version;\n b=tS2rVL0TGw2E9qlL0j2UkcWNRb83cFcx3OR/oh6g9b+Q5JxfiM1fzWp8BjpglAdKkFTigbQsSqYqpYp5RU3FGk6+rkgq+l8xLi3DcYBzhOzk31MTVtiBbtLl9a7dHtRuP76wEiEXXQWjo2qtcSUIxTfHe3hytNdfCfsl5x6PIak=", "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com;\n spf=pass smtp.mailfrom=oss.qualcomm.com;\n dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com\n header.b=HoOC4VIG;\n dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.b=kHbhihe+; arc=none smtp.client-ip=205.220.168.131", "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n\tcc:content-transfer-encoding:date:from:message-id:mime-version\n\t:subject:to; s=qcppdkim1; bh=w/GzpqhughA55/Qv9bqwmc49R9hRD/5gwHY\n\tISOiMX3Y=; b=HoOC4VIG7awe+AB/6dgXMBZjhYWM+m4P+GcVgAIq8Iowgtv/C3b\n\t0i4QsMl0yjqf1GMkOttxvv5Z8bmB8eQbPMhwj8O2BsMIGnP1pJsIPfKBc3VN8QIn\n\tCs5kqQ5AhqtN2cMBpl/rozRh0Dh7w3oOzazlMxmYqvL4hLPg5lOMW34jqYef2F4Y\n\tssLupxdq38ueRzj3u4WqSMya4UxTepXZ77yI9gDV93UNr3R4jL1PDw/CA2FKadq/\n\t6ee70YOxRufc1wnNtkaaMvpXLesPJsoBUOVmLuQzsEOMtEjgwGQ3fQ0vL8gMGfqW\n\tQkQz+gcDuS8ZoQz4atd8Qchr0fnrlvhM5ww==", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=oss.qualcomm.com; s=google; t=1770716903; x=1771321703;\n darn=vger.kernel.org;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=w/GzpqhughA55/Qv9bqwmc49R9hRD/5gwHYISOiMX3Y=;\n b=kHbhihe+AUlT+NasCiSThl33Ivj3xhA+FLVw13aH2zrnyOULTOEGz0f5GgsF50w64N\n 8qCmJ7+AA/e60GwuF2mb7WNS7na3bX9/CKJYmzP7dowBNUlRtT+8BLneiVv9iVJCzH/Y\n gieHUIwoS6hwDlbFiOVq7dd4UVLUUDli9EXI66anKpfqcTPplInJ2lKtXxqjH4jcRBtK\n dkElBWemTPXmdevpRMEHhfwJtzh4AuwadxIwGSxpfWbvMbFuR9bKFKEdi1jzxzRuRr7V\n Q2vbGabQJGDG9FBvurgVswxqi6SiYwiCo4u4x4/i138joP5Ft9TBZ0aur/y7rPdU3KoW\n dOkg==" ], "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1770716903; x=1771321703;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=w/GzpqhughA55/Qv9bqwmc49R9hRD/5gwHYISOiMX3Y=;\n b=BkaHd6Pf0bYDfgtibMaKFw2swkJejzZbnGLgZqs0PaSeVaKIyvoGESVzQkr9/SSc/5\n as7fdOR7dqlIv+Oto4soBl4pCuIyGNGZqYHOUIAqDJPqr25rmbxMnsWLkHg3hqn0Nbk9\n 0ZPcds80qJK0yaRnyVgu6xS6g+1CpnQp9aLa1tHjKRKzi8+3GxHG358SldsF+eWe7o5c\n 4G7RTs+Sy2NizNaWTgVfIZbMICbVQNBK9RBkwyCutxL0SXOyEuT5lLgfjW/PgFEFwobU\n GYMq8W2mZl+VW3XlGV9yYGYl40qoVLDOEogciBRHls0IX0naO6AfdzaYSKjUH9nHC57N\n uXow==", "X-Gm-Message-State": "AOJu0Yz9CXot7Ee7DGgyEhAFx7dR1FwsXm9E33x3w3jgzWtfx3eMXeb3\n\tTTBogXAEBCol30hDR93rVFIoOmKzq/Qbg9xqpYi24lrU6/juadi7VOHA3aUdualCTfh/ObMZaNE\n\tR1hFRFK+qNNYuCAWMH76eJeX9Mv6J9S5C6JP8fpF9joWwGE7EVInfYNhTCDJt6I7u", "X-Gm-Gg": "AZuq6aIDx7+GdwB26GFmGrAZYC0C5zReG+Cc1XX7KonCylpGU9zfIxSXlY4dwp8Kvf6\n\tCX0FaiTh+yJXhh4d4eeacM9xmLwZkdNYxzbEPf51AjNIl8QW8l83CAfG2mc1lfFmZC0kiwRGDHq\n\tJCm0+gZE5FENZBQa/g3mQQZnETIP4Vyl/68c4rSE3CtqcPatiVzotmrwaa92YHG1BBtI/QUqTB8\n\t+lIRjM3Rj0qvc2lDVBPCZ+JmG7V0Q1fVTo77z/77cLV1Chf2d4MllyhI5WHLGgsjjtO2CEuv7h5\n\tzvyITqYZOKbmOtXxMXk9gaLnyWr0So/R+6C2pM6Hg7FS1+KuWMdZaD99SgMLRuldxRsQtCIFcu7\n\th/0EA6HtNxP6DfDGZHOgDgHYhmuv3Hb6barpR+USBWAjksDwQGfs=", "X-Received": [ "by 2002:a05:620a:45a0:b0:8c6:a28d:b1e9 with SMTP id\n af79cd13be357-8caf17e757emr1814102285a.84.1770716902625;\n Tue, 10 Feb 2026 01:48:22 -0800 (PST)", "by 2002:a05:620a:45a0:b0:8c6:a28d:b1e9 with SMTP id\n af79cd13be357-8caf17e757emr1814099785a.84.1770716902159;\n Tue, 10 Feb 2026 01:48:22 -0800 (PST)" ], "From": "Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>", "To": "Linus Walleij <linusw@kernel.org>, Bartosz Golaszewski <brgl@kernel.org>,\n Andy Shevchenko <andriy.shevchenko@linux.intel.com>,\n Greg Kroah-Hartman <gregkh@linuxfoundation.org>,\n Dmitry Torokhov <dmitry.torokhov@gmail.com>, Arnd Bergmann <arnd@kernel.org>,\n Hans de Goede <hansg@kernel.org>,\n =?utf-8?q?Ilpo_J=C3=A4rvinen?= <ilpo.jarvinen@linux.intel.com>", "Cc": "linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,\n platform-driver-x86@vger.kernel.org,\n Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>,\n stable@vger.kernel.org", "Subject": "[PATCH] gpio: swnode: restore the swnode-name-against-chip-label\n matching", "Date": "Tue, 10 Feb 2026 10:48:06 +0100", "Message-ID": "<20260210094806.38146-1-bartosz.golaszewski@oss.qualcomm.com>", "X-Mailer": "git-send-email 2.47.3", "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", "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwMjEwMDA4MSBTYWx0ZWRfX9jdgnNa9VwSA\n 0lnoDgz74ahf2Z5SQ60loaP1XIM8PC8Xf04QiXY8SQxW3RH77cg2IAZUGA20PhiG0PWrAiy9o8X\n AIqEx7AOQejf3x5tb6GSvrcjX0UEiv1Mhvstj3viUMI+IQvF4XJ/HvWKSMSUHkQs2DQLr0nBIGR\n Xp1UuH8HAjEIXBVX8dE1uiIQeqPaWW0jkW5orO+4vgROqgD9re6rc0cYQp6SYcNfV2CaDVmTuNn\n oYXmxHYPsVHqxeewhhLx02KEuoRvDxvipT7QxF2x7ldcStil/tjK19pX6F8rb6Qt/12gETvpvfZ\n j4tGm22v+Jg5rzwe7mJXcbPmch7561jee0G+C5ANB3KzXtRjFo3LKmC9dYQuHM+dbCyg8v4fnb/\n 3m7VC8GeYwlAz2RbRiZnf4M7rPsZ4mnICYDN1t6iEGCEm/srI6bM79JquKuuJ2wYiJmbD2Vi0kz\n v90laZNL/wbsII2lLIA==", "X-Authority-Analysis": "v=2.4 cv=MLRtWcZl c=1 sm=1 tr=0 ts=698afee7 cx=c_pps\n a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=HzLeVaNsDn8A:10\n a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22\n a=GgsMoib0sEa3-_RKJdDe:22 a=VwQbUJbxAAAA:8 a=QyXUC8HyAAAA:8 a=EUspDBNiAAAA:8\n a=4y_y0rSijc1pqmNUuoMA:9 a=NFOGd7dJGGMPyQGDc5-O:22", "X-Proofpoint-ORIG-GUID": "83v5GbT6i7JFcNZ5OcTp-bdZBgqzGbao", "X-Proofpoint-GUID": "83v5GbT6i7JFcNZ5OcTp-bdZBgqzGbao", "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-02-09_01,2026-02-09_04,2025-10-01_01", "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n clxscore=1015 phishscore=0 malwarescore=0 suspectscore=0 adultscore=0\n priorityscore=1501 lowpriorityscore=0 spamscore=0 bulkscore=0 impostorscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602100081" }, "content": "Using the remote firmware node for software node lookup is the right\nthing to do. The GPIO controller we want to resolve should have the\nsoftware node we scooped out of the reference attached to it. However,\nthere are existing users who abuse the software node API by creating\ndummy swnodes whose name is set to the expected label string of the GPIO\ncontroller whose pins they want to control and use them in their local\nswnode references as GPIO properties.\n\nThis used to work when we compared the software node's name to the\nchip's label. When we switched to using a real fwnode lookup, these\nusers broke down because the firmware nodes in question were never\nattached to the controllers they were looking for.\n\nRestore the label matching as a fallback to fix the broken users but add\na big FIXME urging for a better solution.\n\nLink: https://lore.kernel.org/all/aYmV5Axyfo76D19T@smile.fi.intel.com/\nCc: stable@vger.kernel.org # v6.18, v6.19\nFixes: 216c12047571 (\"gpio: swnode: allow referencing GPIO chips by firmware nodes\")\nSigned-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>\n---\n drivers/gpio/gpiolib-swnode.c | 19 +++++++++++++++++++\n 1 file changed, 19 insertions(+)", "diff": "diff --git a/drivers/gpio/gpiolib-swnode.c b/drivers/gpio/gpiolib-swnode.c\nindex 21478b45c127d..c88313b0026b9 100644\n--- a/drivers/gpio/gpiolib-swnode.c\n+++ b/drivers/gpio/gpiolib-swnode.c\n@@ -42,6 +42,25 @@ static struct gpio_device *swnode_get_gpio_device(struct fwnode_handle *fwnode)\n \n fwnode_lookup:\n \tgdev = gpio_device_find_by_fwnode(fwnode);\n+\tif (!gdev)\n+\t\t/*\n+\t\t * FIXME: We shouldn't need to compare the GPIO controller's\n+\t\t * label against the software node that is supposedly attached\n+\t\t * to it. However there are currently GPIO users that - knowing\n+\t\t * the expected label of the GPIO chip whose pins they want to\n+\t\t * control - set up dummy software nodes named after those GPIO\n+\t\t * controllers, which aren't actually attached to them. In this\n+\t\t * case gpio_device_find_by_fwnode() will fail as no device on\n+\t\t * the GPIO bus is actually associated with the fwnode we're\n+\t\t * looking for.\n+\t\t *\n+\t\t * As a fallback: continue checking the label if we have no\n+\t\t * match. However, the situation described above is an abuse\n+\t\t * of the software node API and should be phased out and the\n+\t\t * following line - eventually removed.\n+\t\t */\n+\t\tgdev = gpio_device_find_by_label(gdev_node->name);\n+\n \treturn gdev ?: ERR_PTR(-EPROBE_DEFER);\n }\n \n", "prefixes": [] }