Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.0/patches/2198239/?format=api
{ "id": 2198239, "url": "http://patchwork.ozlabs.org/api/1.0/patches/2198239/?format=api", "project": { "id": 42, "url": "http://patchwork.ozlabs.org/api/1.0/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": "" }, "msgid": "<20260219-device-match-secondary-fwnode-v1-1-a64e8d4754bc@oss.qualcomm.com>", "date": "2026-02-19T16:31:22", "name": "[1/2] driver core: provide device_match_fwnode_ext()", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "a005b5d5f05aa94e91af84ec162dce007c9d8fda", "submitter": { "id": 92196, "url": "http://patchwork.ozlabs.org/api/1.0/people/92196/?format=api", "name": "Bartosz Golaszewski", "email": "bartosz.golaszewski@oss.qualcomm.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260219-device-match-secondary-fwnode-v1-1-a64e8d4754bc@oss.qualcomm.com/mbox/", "series": [ { "id": 492699, "url": "http://patchwork.ozlabs.org/api/1.0/series/492699/?format=api", "date": "2026-02-19T16:31:21", "name": "driver core: provide and use device_match_fwnode_ext()", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/492699/mbox/" } ], "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2198239/checks/", "tags": {}, "headers": { "Return-Path": "\n <linux-gpio+bounces-31870-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=iatMQV/g;\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=Jtil4Y3n;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-gpio+bounces-31870-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=\"iatMQV/g\";\n\tdkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.b=\"Jtil4Y3n\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=205.220.180.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 sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fGzS65Sxkz1xvS\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 20 Feb 2026 03:32:22 +1100 (AEDT)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 7188D3017799\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 19 Feb 2026 16:31:42 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 12A7534D3AA;\n\tThu, 19 Feb 2026 16:31:41 +0000 (UTC)", "from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com\n [205.220.180.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 8CF6F34CFAE\n\tfor <linux-gpio@vger.kernel.org>; Thu, 19 Feb 2026 16:31:39 +0000 (UTC)", "from pps.filterd (m0279868.ppops.net [127.0.0.1])\n\tby mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 61JCJQ2c2885457\n\tfor <linux-gpio@vger.kernel.org>; Thu, 19 Feb 2026 16:31:38 GMT", "from mail-vs1-f69.google.com (mail-vs1-f69.google.com\n [209.85.217.69])\n\tby mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cdqfga9vc-1\n\t(version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n\tfor <linux-gpio@vger.kernel.org>; Thu, 19 Feb 2026 16:31:37 +0000 (GMT)", "by mail-vs1-f69.google.com with SMTP id\n ada2fe7eead31-5fde8914fccso1305284137.2\n for <linux-gpio@vger.kernel.org>;\n Thu, 19 Feb 2026 08:31:37 -0800 (PST)", "from brgl-qcom.local ([2a01:cb1d:dc:7e00:bfd6:96b4:947a:52ff])\n by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-483a31c56d8sm20272365e9.8.2026.02.19.08.31.33\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 19 Feb 2026 08:31:34 -0800 (PST)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1771518700; cv=none;\n b=AtT+BGBrmOtT73MjyRsMKPBGi6qfUCydDp0wTZAw7wHg30Tr1d5B/J5EDUvE1IsDtitgbJmM6ldUL6SHD6qWiLRx6xf3OQSuvtZd6rRLuAiMs/uLk59JtMZOfisE58uEU055qn7J5/mIppema4vEz8eGRno1MldaM6vRcOHN7uw=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1771518700; c=relaxed/simple;\n\tbh=A+Wvx+Ty20nDfCj4YJNHGDJvu7T3n9RIyhzQMaq8B2c=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=Gr5CD9YpPcfFJSjVNvmWSLiUl0aZhhITgf2tmwoDfyJH0/I0vZBIjumcIF1Xj03mfNdPGUI3hwKhS5Eq3Q+V/Xi7PCAd2jcVCAuycLzp3MmlWGUmQ2YpxJudajWNlQjmr0iZ8+p8TCY8W/15DjpQUoOYDE6tGf+OJuSj3iqEknc=", "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=iatMQV/g;\n dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.b=Jtil4Y3n; arc=none smtp.client-ip=205.220.180.131", "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n\tcc:content-transfer-encoding:content-type:date:from:in-reply-to\n\t:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=\n\tABYrK652LfiFcuUIPwfxfXf601qOkzps6FWpqFe+6bo=; b=iatMQV/gdpmIJ65m\n\t0EgeOXQ+n9QK8nBgOuLi8uWVVSOXWLFvvfPuAgM2qQkDz06D0Op+FRk65MAdM6RC\n\t7BfzyUTW+OgXZbxoDBPKTlMYkBFJwmIzJZaeBwMaRZk45WTx3aVqKIikolPG1t9v\n\tbzxiSsGp4fIDsiILQRHouC45X2SOBlvDmATi0X8w8YGJvlKXv9YmM2aavfLXRD8m\n\ttwrQOFXA0XxkirEEC2ZQL7RFP1CrrUmaQ9EDpG+grac2SlER1v97RgjQwhp5TY7Q\n\tMNUPq8TxbwfyoSp7117qEZ2tIE39NZfahPcm8oLWVbFSTr9/d5HUk2Kc7zr8ixGB\n\tkK0izg==", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=oss.qualcomm.com; s=google; t=1771518697; x=1772123497;\n darn=vger.kernel.org;\n h=cc:to:in-reply-to:references:message-id:content-transfer-encoding\n :mime-version:subject:date:from:from:to:cc:subject:date:message-id\n :reply-to;\n bh=ABYrK652LfiFcuUIPwfxfXf601qOkzps6FWpqFe+6bo=;\n b=Jtil4Y3nENun2KrjE6KzZSTCUXJygtdWS5wJ57K9qkMIaCLIvK7odQ41g4O1su8yWO\n qJSSBa8i9anROe8nq705HT28kRRYteXut23F918sfYk90KEiV1xFCM4qxWZEVxXtTAbJ\n KZ0SupUmT6xXOVi2FrjDPWz/Z/A5y+2C0zAUV8C17t5ZFsmlsQFQRslLZU3LZiwIlfNX\n 4N98N/6kLSGyIIveEAqHbERqglUcSmfiLJl8Szei637tnW7dtcmdu0FvTAHMV1TLxLDL\n rd1D+Ro3QrQAI6gvFOMicgsmBRVnVHWXm9bZpdJXt1RqooDx+vtohU7UC0Z4PAvKq9Xv\n G3Kw==" ], "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1771518697; x=1772123497;\n h=cc:to:in-reply-to:references:message-id:content-transfer-encoding\n :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to\n :cc:subject:date:message-id:reply-to;\n bh=ABYrK652LfiFcuUIPwfxfXf601qOkzps6FWpqFe+6bo=;\n b=xMIAzp3oPTROauUb+SdGBq7x4UjeA9GZKklmURb7daiHHcc4xQdOAy87WU25eddYl9\n ATf8Cp5pdSz/ub4sfmjGI4nDjX+GBDPjNIrW2FQfzDEheKdvNOLsAy6wTqU450sy3eEo\n XQK/W2YFeAwh1RGq9LVh7rkJGrPtsNhK1mIWlec+tCcqYgLk0I6kJHFbJ1jguOa+e+ls\n buusPUCM5ACnGaVh8DozNBqdD+s6ZUNy/uaAJyyg5POMpRByWMNLSaMd5VhfsdCJiE+H\n Jh8sLY3EmvJ3RvfXl+2us+5RhGVqyHHLpPfbgpRkKi3DhhGR39qusAZ7ETd/651n6Ij5\n 2tgQ==", "X-Forwarded-Encrypted": "i=1;\n AJvYcCVGFoAuewaZIbVCMB2oFwUj7cKQBpt5YM8tTD8rLuOIZF0vvhWN2sw5oJZwVaN0VahpQHWx+XSfRiwR@vger.kernel.org", "X-Gm-Message-State": "AOJu0YxQwPJXIEgUgWhI2cMoWJaJjLZl7YdoJQuhPIxRvfdimSxxAy34\n\tyuy/YaH7q7wYSAv3kNaxa2zlv7c3ilS141h5bFLbMrn338qRA6bJdTO/y+s4779B5y9HW8hEuA2\n\tjfjlRt2Zp0kEN092OPg0WFBeFLMY87+A2Xk+fzw1r2S+VHuVqny+XitBgxQflUqfP", "X-Gm-Gg": "AZuq6aJiOYB9efarwaunWFHCjRnKabhzhxoBwUr0BtZ3rToP/UYdyjojIVoqIXimMqJ\n\trOK1nK+Ny8uFlVyPXMyiBdkNOdT6QRggHg7tMmS9auMMVrNlpZC9ta4APGRX44Zj0/jTYFxN81B\n\tqhcR46iyP6XTlY+jYKWuYkdwpHz5UgrXuQIOhanmJ7UgTRnQ30adabxWOcNkupJC8mU9GAYZiaj\n\t5kK52b5Vzj6U3uVDIfzSTvfeNf2x1jQf4Oce9LohmRDNf1bydQ9rHJ8L1nUm0jtvFTdgXfom41F\n\tTYR0RbtfPaUOthdzLvMAhohi3D35bHjpcIZVCZK+Zfq6yY7/CmJzbiOJTo5GWKXrqoAuAPON7ig\n\tIIoq18QEq6w86X9laBg8a/VyQ+9sKMLAM8UavCUPCtd76ssEKN7IA", "X-Received": [ "by 2002:a05:6102:2913:b0:5f5:2638:9f3f with SMTP id\n ada2fe7eead31-5fe16c0367amr7758235137.8.1771518696161;\n Thu, 19 Feb 2026 08:31:36 -0800 (PST)", "by 2002:a05:6102:2913:b0:5f5:2638:9f3f with SMTP id\n ada2fe7eead31-5fe16c0367amr7758139137.8.1771518695481;\n Thu, 19 Feb 2026 08:31:35 -0800 (PST)" ], "From": "Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>", "Date": "Thu, 19 Feb 2026 17:31:22 +0100", "Subject": "[PATCH 1/2] driver core: provide device_match_fwnode_ext()", "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-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-Id": "\n <20260219-device-match-secondary-fwnode-v1-1-a64e8d4754bc@oss.qualcomm.com>", "References": "\n <20260219-device-match-secondary-fwnode-v1-0-a64e8d4754bc@oss.qualcomm.com>", "In-Reply-To": "\n <20260219-device-match-secondary-fwnode-v1-0-a64e8d4754bc@oss.qualcomm.com>", "To": "Greg Kroah-Hartman <gregkh@linuxfoundation.org>,\n \"Rafael J. Wysocki\" <rafael@kernel.org>,\n Danilo Krummrich <dakr@kernel.org>, Linus Walleij <linusw@kernel.org>,\n Bartosz Golaszewski <brgl@kernel.org>,\n Dmitry Torokhov <dmitry.torokhov@gmail.com>,\n Andy Shevchenko <andriy.shevchenko@linux.intel.com>", "Cc": "driver-core@lists.linux.dev, linux-kernel@vger.kernel.org,\n linux-gpio@vger.kernel.org,\n Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>", "X-Mailer": "b4 0.14.2", "X-Developer-Signature": "v=1; a=openpgp-sha256; l=1899;\n i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id;\n bh=A+Wvx+Ty20nDfCj4YJNHGDJvu7T3n9RIyhzQMaq8B2c=;\n b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBplzrgzLcXpABDe6dzdVFnbsyGtIt/+ASW7D7lf\n /JKGdeK8oGJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaZc64AAKCRAFnS7L/zaE\n wyJ9D/oDrLGviOsBuke64wEQOu4gSFHPmXghPeKN28Fvjr+J/ib9T8R2Z+UlVXNO05AsA2XsrHk\n lZ4Ser3QjGx7lQA+TjMjKJEjgwNnQ3bDUmASVz6DfHFJHSJVRKluFQ0fFuyEAZBUZCnrHhLP3lO\n n0mKUXDKkjBRugAHBGZC4x03IcIm2PDSKycF9xnxuBgtZY8zJQNyi+sRc3k+qTgz+L+g4qFA5WM\n yFL37AQ1yzs0CWtGTKcFNs2azfMz4yCuMXYAgdnJVhALMSC91XwrBk5vdImd9QPeNq64y59/lb9\n sszV/07PZDA/8wjNPiW0fdw++54Ca09Cx92Bhzw8nn900ZcsIIM1stwMFjT4+U2k3jrg1Dfr/4y\n Ibj0UVnj3Wamf1JNkWYZdtSblPjP814RH7728Xy6kMsfRtLHXLsiOz99p9pXu2AGqQjHbncuXIx\n 8ft/suh61IkjFWgN1b8v1MSc34IH+UX4xvt52ZgRA0XaiYz2XkzCKGZJKBD+Hq3vbjlzSFp1kWL\n 53xla3ibtcVgsZ4WxZIp1pVJVm9xyR5dArzjV0Oi54Ypl+Mna8zE+CyPXwJeKO1pPa+kSlmtdu5\n 3po0s46e1JyGia9r+W8bjguRnOjIGhqko0Yc1pfBn5sVD+HqJCVbJ7RwxVufkDyQsN5v8zTtFMy\n iQfL26OBm0PIPAA==", "X-Developer-Key": "i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp;\n fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772", "X-Proofpoint-GUID": "vsMtocnWdykw0X6DDKW4dNBUXUtHN9C1", "X-Proofpoint-ORIG-GUID": "vsMtocnWdykw0X6DDKW4dNBUXUtHN9C1", "X-Authority-Analysis": "v=2.4 cv=A6hh/qWG c=1 sm=1 tr=0 ts=69973ae9 cx=c_pps\n a=5HAIKLe1ejAbszaTRHs9Ug==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10\n a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22\n a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=EUspDBNiAAAA:8\n a=DAUEkVzOf6JpX_SNRGwA:9 a=QEXdDO2ut3YA:10 a=gYDTvv6II1OnSo0itH1n:22", "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwMjE5MDE0OSBTYWx0ZWRfX/lZGC10brYmk\n i06BszaQcXFCWCfAP/QAkwFSXb2PmZVox1DlEUfA+KoG7TqjA5G3nR+CU1h9VyRCQwmLyy2MLAf\n kb5XiZFSLceAtqDrisHakwPcE1ZBJpN7y2Z/mAmS8HNHBCKaKi9t2K/E49ZkoTW1+GND+mzJQfR\n zntnZmG93w+eYdHa2gGoZCRX7BUXujQnUFFfYRD2PJ3bwdvAkI1V2KALQUuEK5tsXSayHVdXO1e\n KcxaNErqyYdg0ipJOOn82+MLkSjOi2V5mLWg2mCNCGM14CScSDaXb4D3OcKIhxcGcMfRCMtXQ6x\n 7MEgmGyTecMPIPA/ytgpD5qrgAv2lkUPQKhtVYdujY8NqzRF6AY7X0JLu2anuA//YG83gHw8rwx\n A3ttBemTcBvtQvcGTaMVQD8nuSP7ZGYI1Nrfp/vhOYidjQ6aWiNzxJd7RZ+ZdvHP67+uGdmbNx/\n Nc9a3dZOXQATFZiKKdQ==", "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-19_04,2026-02-19_01,2025-10-01_01", "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n phishscore=0 priorityscore=1501 adultscore=0 impostorscore=0 suspectscore=0\n spamscore=0 malwarescore=0 clxscore=1015 bulkscore=0 lowpriorityscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602190149" }, "content": "Provide an extended variant of device_match_fwnode() that also tries to\nmatch the device's secondary fwnode.\n\nSigned-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>\n---\n drivers/base/core.c | 14 ++++++++++++++\n include/linux/device/bus.h | 1 +\n 2 files changed, 15 insertions(+)", "diff": "diff --git a/drivers/base/core.c b/drivers/base/core.c\nindex f599a1384eec90c104601422b04dc2b4c19d4382..bbf1337978fafc35eb94bda85e0bb7f6879879c0 100644\n--- a/drivers/base/core.c\n+++ b/drivers/base/core.c\n@@ -5326,6 +5326,20 @@ int device_match_fwnode(struct device *dev, const void *fwnode)\n }\n EXPORT_SYMBOL_GPL(device_match_fwnode);\n \n+int device_match_fwnode_ext(struct device *dev, const void *fwnode)\n+{\n+\tstruct fwnode_handle *dev_node = dev_fwnode(dev);\n+\n+\tif (!fwnode)\n+\t\treturn 0;\n+\n+\tif (dev_node == fwnode)\n+\t\treturn 1;\n+\n+\treturn fwnode_is_primary(dev_node) && dev_node->secondary == fwnode;\n+}\n+EXPORT_SYMBOL_GPL(device_match_fwnode_ext);\n+\n int device_match_devt(struct device *dev, const void *pdevt)\n {\n \treturn dev->devt == *(dev_t *)pdevt;\ndiff --git a/include/linux/device/bus.h b/include/linux/device/bus.h\nindex 99c3c83ea520876ab3577ffa76f159f89f4f86c5..bb6ed08c39aee497feabdba82d2e8f89ca1c8b5f 100644\n--- a/include/linux/device/bus.h\n+++ b/include/linux/device/bus.h\n@@ -137,6 +137,7 @@ int device_match_name(struct device *dev, const void *name);\n int device_match_type(struct device *dev, const void *type);\n int device_match_of_node(struct device *dev, const void *np);\n int device_match_fwnode(struct device *dev, const void *fwnode);\n+int device_match_fwnode_ext(struct device *dev, const void *fwnode);\n int device_match_devt(struct device *dev, const void *pdevt);\n int device_match_acpi_dev(struct device *dev, const void *adev);\n int device_match_acpi_handle(struct device *dev, const void *handle);\n", "prefixes": [ "1/2" ] }