{"id":2198239,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2198239/?format=json","project":{"id":42,"url":"http://patchwork.ozlabs.org/api/1.0/projects/42/?format=json","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=json","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=json","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"]}