Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2216177/?format=api
{ "id": 2216177, "url": "http://patchwork.ozlabs.org/api/patches/2216177/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260325-pinctrl-mux-v4-3-043c2c82e623@nxp.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": "<20260325-pinctrl-mux-v4-3-043c2c82e623@nxp.com>", "list_archive_url": null, "date": "2026-03-25T23:04:12", "name": "[v4,3/7] pinctrl: extract pinctrl_generic_to_map() from pinctrl_generic_pins_function_dt_node_to_map()", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "1bc2e9ec44ac8e81791ebc9ac6d246c14008221a", "submitter": { "id": 68011, "url": "http://patchwork.ozlabs.org/api/people/68011/?format=api", "name": "Frank Li", "email": "Frank.Li@nxp.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260325-pinctrl-mux-v4-3-043c2c82e623@nxp.com/mbox/", "series": [ { "id": 497519, "url": "http://patchwork.ozlabs.org/api/series/497519/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/list/?series=497519", "date": "2026-03-25T23:04:16", "name": "pinctrl: Add generic pinctrl for board-level mux chips", "version": 4, "mbox": "http://patchwork.ozlabs.org/series/497519/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2216177/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2216177/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-gpio+bounces-34178-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=nxp.com header.i=@nxp.com header.a=rsa-sha256\n header.s=selector1 header.b=ic+CNplu;\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-34178-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com\n header.b=\"ic+CNplu\"", "smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=40.107.159.63", "smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com", "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=nxp.com", "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nxp.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 4fh2fG4Wn6z1xy1\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 26 Mar 2026 10:09:10 +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 4731A30E2668\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 25 Mar 2026 23:04:45 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id BF444395D90;\n\tWed, 25 Mar 2026 23:04:44 +0000 (UTC)", "from OSPPR02CU001.outbound.protection.outlook.com\n (mail-norwayeastazon11013063.outbound.protection.outlook.com [40.107.159.63])\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 A5B3E38F949;\n\tWed, 25 Mar 2026 23:04:42 +0000 (UTC)", "from DU0PR04MB9372.eurprd04.prod.outlook.com (2603:10a6:10:35b::7)\n by GV2PR04MB12140.eurprd04.prod.outlook.com (2603:10a6:150:30c::18) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.24; Wed, 25 Mar\n 2026 23:04:39 +0000", "from DU0PR04MB9372.eurprd04.prod.outlook.com\n ([fe80::4f6:1e57:c3b9:62b4]) by DU0PR04MB9372.eurprd04.prod.outlook.com\n ([fe80::4f6:1e57:c3b9:62b4%4]) with mapi id 15.20.9745.019; Wed, 25 Mar 2026\n 23:04:39 +0000" ], "ARC-Seal": [ "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1774479884; cv=fail;\n b=BbQ2bk5tOEZnWY7PEJiYEQbpFiwIy7QqilQF83oN3xP1Lrlwh2IsmdGDcBJtFdU8QT/OO0zIWXk3g84ih7N4+bl7rG0V92e4t2idRO4Tnqzb9u/RqJ8rM2z1hFBBsRyXJ37c67eMy4o+lsyv384Hzh46YhjhR/X4G1ICn6VUhAY=", "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=HXqCbDueKQaksoFq9RRV+TbVE0Q8S2eB40YUi+rOzOmA94QEjnURuybMHu3uep+ldtxPu1XDIOp33qVLRwKmyRP4jOIJdKaPEHHcgHomcQ2Zu2+e8MZSq8QgC+8XTlVo1QTrbyl2TmdRQaeDIDRzYnBB87PapyKUHo9xxXLfUmz+kSefpG3OYc3ldZjJp637uLmGRGaysXgJeLUPrSiYr9HoekHbVE7diPKqK/bsGstJT7+X8dmtSqEjgCN/YZoHFSHs4kdeBo93v7F26muMlAGhY1Em1fEMqsihjbGbCEPMN92oz1obZDXX5TyyxzEWncXiEuj3L/YuYviKaFno/w==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1774479884; c=relaxed/simple;\n\tbh=Ptt/TpQC+N2e1tHU334VkibMJXEsxKwNk6LsSqK9JMs=;\n\th=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To:\n\t To:Cc:MIME-Version;\n b=rAraenz1vgbPi8E28MWNRCXRx72TGm3WOugxryYlCYi4Ef1h+UdqCYzVsu1JUqqYh3UNzemC81W+8ObcYncMo3RTb0xkAWbRu6xF6cGLq9r0SANJfp+Kc8TaJqJ0+EkvxR6y0u5J+uObyMa+Eh1ivEnu9F2UdLlBae/xGwpcB7Q=", "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=NiYL3aVB4ZIKEaKk26vFLZVsbHDB3saRnU0wHe9RgBg=;\n b=IqWiWWcv9K1lYebCrnIgyd/slZZ5VFmPcVwQRnkYp7Njb7UOHoCYUlHeKAfRVBytudL//PwgxMGbMC8ysDmUDWsuhWf0N+JNwOPwHTGWt6NdZH3dsl8L8B7mCtd0F/fclZePIhbqz2wNqLDudLzxP8CobIY8rx6S6mKDWHQhZZ996GMJXcei/vUqFXgwOnB9gX62+ZiSrrfB+qgqOCwMtLyamKw5mhqNhF24N1oRg9jTkHzIlHkhkTPUAD4opCyMG9O/0sIqHgi9CgWyHwUehLi/7PrjACpbMxJHBfy1Ycpxa5/o3LMQ9MWcT07A6GA/ynF9OFcmic5ZIce5tjEajA==" ], "ARC-Authentication-Results": [ "i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com;\n spf=pass smtp.mailfrom=nxp.com;\n dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com\n header.b=ic+CNplu; arc=fail smtp.client-ip=40.107.159.63", "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass\n header.d=nxp.com; arc=none" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=NiYL3aVB4ZIKEaKk26vFLZVsbHDB3saRnU0wHe9RgBg=;\n b=ic+CNpluEf6Gb3Qrw0/uCfig2P7ROnhvQZGMO6toFK4NBny605K3kGSZMKmqcYmChMpvKVFHAyERw3OfCtpAC9MXaXt58V9511RhT01SrzeXWSo5SPUsUG1+b1a+bBw7MwdvUYhJ/q3nKd+sXajHVZaqgtyq7OQdlRd/OpXSWe0dvH55nX3X7oppAKBYtvg1/xo31DA3tR1S2U1YOwWEBvf2YMrH70uZT/cfZw+wdh5WGTSYpDKJ56VKDMg2T5QWumvr39JejeravUwKq9IfylzWmupvJ6RUeD6wvkzYUknxRKwA7IWL8UOF2EpGwlDHpLBu2UFeHKuVS9LSI6LE1g==", "From": "Frank Li <Frank.Li@nxp.com>", "Date": "Wed, 25 Mar 2026 19:04:12 -0400", "Subject": "[PATCH v4 3/7] pinctrl: extract pinctrl_generic_to_map() from\n pinctrl_generic_pins_function_dt_node_to_map()", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-Id": "<20260325-pinctrl-mux-v4-3-043c2c82e623@nxp.com>", "References": "<20260325-pinctrl-mux-v4-0-043c2c82e623@nxp.com>", "In-Reply-To": "<20260325-pinctrl-mux-v4-0-043c2c82e623@nxp.com>", "To": "Peter Rosin <peda@axentia.se>, Linus Walleij <linusw@kernel.org>,\n Rob Herring <robh@kernel.org>, Krzysztof Kozlowski <krzk+dt@kernel.org>,\n Conor Dooley <conor+dt@kernel.org>,\n =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= <rafal@milecki.pl>,\n Sascha Hauer <s.hauer@pengutronix.de>,\n Pengutronix Kernel Team <kernel@pengutronix.de>,\n Fabio Estevam <festevam@gmail.com>", "Cc": "linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,\n devicetree@vger.kernel.org, imx@lists.linux.dev,\n linux-arm-kernel@lists.infradead.org, Haibo Chen <haibo.chen@nxp.com>,\n Frank Li <Frank.Li@nxp.com>", "X-Mailer": "b4 0.14.2", "X-Developer-Signature": "v=1; a=ed25519-sha256; t=1774479864; l=6125;\n i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id;\n bh=Ptt/TpQC+N2e1tHU334VkibMJXEsxKwNk6LsSqK9JMs=;\n b=XHe+h80OX6rDZa9Z2vCe/VNvbiYStmzAhkuZhIjwmdLQhHlSx2JsEXvSSuo3yyEkvQMJxPBnO\n q7W1mHpI3i1CmrXGb7tKEkZvKlaJXNK8N6pq3XD5nf9AnnY1b0AGXbR", "X-Developer-Key": "i=Frank.Li@nxp.com; a=ed25519;\n pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q=", "X-ClientProxiedBy": "SJ0PR03CA0161.namprd03.prod.outlook.com\n (2603:10b6:a03:338::16) To DU0PR04MB9372.eurprd04.prod.outlook.com\n (2603:10a6:10:35b::7)", "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", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "DU0PR04MB9372:EE_|GV2PR04MB12140:EE_", "X-MS-Office365-Filtering-Correlation-Id": "430a4b53-3fcd-4197-fd5f-08de8ac2e480", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "\n\tBCL:0;ARA:13230040|376014|19092799006|366016|52116014|7416014|1800799024|18002099003|56012099003|22082099003|38350700014;", "X-Microsoft-Antispam-Message-Info": "\n\tOR5jeNcqLYDBXWMMrwicNvaDkAdM9mB3k+gXDlBx6MIKUeRO9j2xO/yxv6JHvRro2fO/Nkb8m8hr/h7pmv+xD/zU3uKRud5O6RWQym1TILlng7x5PRyIPeg5lQCebwcUVu8Um3jfQc5e46jL6fzi9MbJPMC+SPn4Dwy8GqTmjL81uTM5AAHjea0nCqlBsjS9x7zZSwkKRgGb1+dL1aqRRHMMklfXlTjTMoyAcx6EdUgTgaFxkFqdR7TFyKHgXXqLlHJcZURkYGHhxiLi36OdxusR5tAeR1SfedOEJ+7QSI9rVoBfSJ6UtDv5bOgdcSFOiVhVoRXYZlQNVXSqevp1NhGinn9U+oF0QconMSemrY0DaYZOQkA/+/G2PbL77OpsZzlw5MqXApCUlsH/m/d5Lz2gxttn2lDt6R7pcqPPtFQUqVwm457xqUkc2N0drAA+xelS3AMegYFAboPjL6DDTdFSJGVklT9KmgVZeiL13j92kbyT0gafQp/Obeet6uH9V2RjQ0f9AGRv0UMx4yVebUyjFK/0yPIvf3slBqFrsVhGrKSkdfV3XFSzGE0ODGErwmkS5fgciEJfhLfjN/b/vGHcdYExWAx/2sHSwADzdBQMLABK6dqTuMlDacGqBfzfyQSjLuy31nBq3zEvFuIXphcHOQmW9ANt9wa0iRFNrcqzUWqzWm/AQhL0AkEFc7xygLv1OMqN1tDfEWqXyigd7HtCY1vXfztWkLQezPmluHfm7MoHXbVdvZFTTPAVpFq4En1/I8Za9QtwofEk2urjLtwz7dnZVDyySm5WjoUwMVM=", "X-Forefront-Antispam-Report": "\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9372.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(19092799006)(366016)(52116014)(7416014)(1800799024)(18002099003)(56012099003)(22082099003)(38350700014);DIR:OUT;SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "=?utf-8?q?GGgZHUUEeAJNan6C01fijvQxE4Gr?=\n\t=?utf-8?q?U7uIFt6CaWDm4egtaRgkcB67Z6Uw7++88eHsV5s87F4zF1/hQ/J5PCzk+gsBSVotU?=\n\t=?utf-8?q?X39FH0ux+iNFMRZ4/WEVaZyZcVOa5WMsgsO/NPXVd5DjUNbbvL/1HAr37QwKPAxEr?=\n\t=?utf-8?q?IKDqMVnuRMbnIjjQ0XNsLsWgIZcdU6ZLiAKkqkFNlLV+NYs7CrRE9DYd3e0Rx5rxa?=\n\t=?utf-8?q?sShFJFCUHqCvF0hPmiqm9uSmKFBE15YpS0cvFbfY/qoeVZJp3v8rEOYmgaHH1haZ5?=\n\t=?utf-8?q?Sw0T0up14wrGjIZTo5o3SS1sHDViffI4P2E0/W1nHdX/dZmMiptANeFIwvY4L5t8L?=\n\t=?utf-8?q?RMSqz/bA54UQ9VdSKYN3A3M/1He9+oPNr0iV/MXdPqsBLO5h4QUVlDJzkj5mqBysT?=\n\t=?utf-8?q?txU7RN3eKkG212VK4kIskU2Ue68nUwSdZD0lycX3eJUYvbMeHRcbt+9ifXrTq+JS4?=\n\t=?utf-8?q?YpVv8d7pU1fo7fXCHojJDrUoj5G3OfV9kKC2sb6Mp8dzp29TXtDWALIgq8Y6MddwU?=\n\t=?utf-8?q?5bZD3uq6VCZ42WIYEBTgtQ69Erju+l5qjpGmorMeZmh+lDYZtkBmgaGf+UWSD3iS7?=\n\t=?utf-8?q?rhKLzT6hS+ZP2epQdKlr7osuIZMO3L3oSu1AvUEGhNhc52Q1FQfzUMKdmdlB2QaNZ?=\n\t=?utf-8?q?KG0xXbfwUGGyBCsr07Wm4SIaZ85iCXSJsDHWPMaqLFoS6bOs8Qoi7tnndwJ0u+OON?=\n\t=?utf-8?q?Z/lAfNevbHGxkegQQfmJOXhInwqIhSLoCtr+Sc6T4TRLJ/ZaDEULQvrCn14cF5X/d?=\n\t=?utf-8?q?M0jy8txMJR/DxWoqGr6jjxkFzN5Ve9kTZ3lmE4/ath8BxSDayHK0/HExCWe/AMNaC?=\n\t=?utf-8?q?w4+DitGhlXpxuSV2HgCSFhXjlzZQYNlP7AWtXAISsX/WCzMLdEwNz/n3u2vc+NohC?=\n\t=?utf-8?q?vbaR+0DFkZsAmg+sdi7oZttwxpVg/AKwQNu3UTtGI6f4JkfKhw8dX0KB92IU1n/Wq?=\n\t=?utf-8?q?AXtZHWjQLmzAFo6Pxoqj5jTagQEe4lJOCTJVkfBjrkycJRAbnA/I1d0beJnZ1ufw/?=\n\t=?utf-8?q?UtTJupZiKpB/cfOsc+wNiyYAINEZGv3HCOuHk66svxvbNJqLy8OHhYgEcG1lEdR7c?=\n\t=?utf-8?q?eH4VB4HWNgaSw7zPqiq+pLX2a/JPu5sw1jsF14+XZKHxo0rlkwO3pORVV9s7qPfbX?=\n\t=?utf-8?q?xYFdiUT5EP7X1qUp6+4EaLu33nUwk32VzmgaqsdBJgRRFHCRWaj5VoYax5JoC9kZP?=\n\t=?utf-8?q?s6diKhg3leLhsD9LWifGax1YRIEPGuVLpMgRoi6yWKFZn09dMo/W0sX2B6qeiEufo?=\n\t=?utf-8?q?mDCWssjg+16fDgSSiOQdtXEz5MYb8Ve3SVOEI9+jns4XGFNZUYOAdc8q8PFwVO6X+?=\n\t=?utf-8?q?Dod/hZ8dGQ/980q51j0OXa7JeRku3M5rsU0PnueYR69j0tEDndjK/h/2+VTViFWvI?=\n\t=?utf-8?q?ZTa+zqQeguQnKYoDVzM3ZwMEENMbpt2a2SGbqGSI8vUzob2fLfmdaYSvVnie0DszD?=\n\t=?utf-8?q?OyyUIVxap777wWbwD26y1yeb8KaeAzjdU8Od64ZR7v3uSTJ7NwaLmyCviU3VpKWSH?=\n\t=?utf-8?q?0QhpoShrz11NRCCuwLFSd7sUq2U2NMLW+FVvvH8bG59NbsYt3JN2HcT9BlXg/eq5M?=\n\t=?utf-8?q?6RdXQ2e3DvR4ZJQJBetNeuWdF/5KzHMdWfe44JhGukSqvzPp2PecgBTVYBVYs/+va?=\n\t=?utf-8?q?WsIUAqlk3W?=", "X-OriginatorOrg": "nxp.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 430a4b53-3fcd-4197-fd5f-08de8ac2e480", "X-MS-Exchange-CrossTenant-AuthSource": "DU0PR04MB9372.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "25 Mar 2026 23:04:39.6704\n (UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635", "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED", "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n Gm8Vvb2gAg+pimg3suJxMgGcKqWBvC7pOowiCbK4W1zE5/Q7kFaQIkUW5wXL92DEDE5pQ4RzGTAY5gDcMTil1Q==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "GV2PR04MB12140" }, "content": "Refactor pinctrl_generic_pins_function_dt_subnode_to_map() by separating DT\nparsing logic from map creation. Introduce a new helper\npinctrl_generic_to_map() to handle mapping to kernel data structures, while\nkeeping DT property parsing in the subnode function.\n\nImprove code structure and enables easier reuse for platforms using\ndifferent DT properties (e.g. pinmux) without modifying the\ndt_node_to_map-style callback API. Avoid unnecessary coupling to\npinctrl_generic_pins_function_dt_node_to_map(), which provides\nfunctionality not needed when the phandle target is unambiguous.\n\nMaximize code reuse and provide a cleaner extension point for future\npinctrl drivers.\n\nSigned-off-by: Frank Li <Frank.Li@nxp.com>\n---\nchange in v4\n- new patch\n---\n drivers/pinctrl/pinconf.h | 18 ++++++++\n drivers/pinctrl/pinctrl-generic.c | 91 ++++++++++++++++++++++++---------------\n 2 files changed, 74 insertions(+), 35 deletions(-)", "diff": "diff --git a/drivers/pinctrl/pinconf.h b/drivers/pinctrl/pinconf.h\nindex 2880adef476e68950ffdd540ea42cdee6a16ec27..ffdabddb9660324ed8886a2e8dcacff7e1c6c529 100644\n--- a/drivers/pinctrl/pinconf.h\n+++ b/drivers/pinctrl/pinconf.h\n@@ -166,6 +166,13 @@ int pinctrl_generic_pins_function_dt_node_to_map(struct pinctrl_dev *pctldev,\n \t\t\t\t\t\t struct device_node *np,\n \t\t\t\t\t\t struct pinctrl_map **maps,\n \t\t\t\t\t\t unsigned int *num_maps);\n+\n+int\n+pinctrl_generic_to_map(struct pinctrl_dev *pctldev, struct device_node *parent,\n+\t\t struct device_node *np, struct pinctrl_map **maps,\n+\t\t unsigned int *num_maps, unsigned int *num_reserved_maps,\n+\t\t const char **group_name, unsigned int ngroups,\n+\t\t const char **functions, unsigned int *pins);\n #else\n static inline int\n pinctrl_generic_pins_function_dt_node_to_map(struct pinctrl_dev *pctldev,\n@@ -175,4 +182,15 @@ pinctrl_generic_pins_function_dt_node_to_map(struct pinctrl_dev *pctldev,\n {\n \treturn -ENOTSUPP;\n }\n+\n+static inline int\n+pinctrl_generic_to_map(struct pinctrl_dev *pctldev, struct device_node *parent,\n+\t\t struct device_node *np, struct pinctrl_map **maps,\n+\t\t unsigned int *num_maps, unsigned int *num_reserved_maps,\n+\t\t const char **group_name, unsigned int ngroups,\n+\t\t const char **functions, unsigned int *pins,\n+\t\t void *function_data)\n+{\n+\treturn -ENOTSUPP;\n+}\n #endif\ndiff --git a/drivers/pinctrl/pinctrl-generic.c b/drivers/pinctrl/pinctrl-generic.c\nindex efb39c6a670331775855efdc8566102b5c6202ef..20a216ae63e91b69985ea4cfcd0b57103c6ca950 100644\n--- a/drivers/pinctrl/pinctrl-generic.c\n+++ b/drivers/pinctrl/pinctrl-generic.c\n@@ -17,29 +17,18 @@\n #include \"pinctrl-utils.h\"\n #include \"pinmux.h\"\n \n-static int pinctrl_generic_pins_function_dt_subnode_to_map(struct pinctrl_dev *pctldev,\n-\t\t\t\t\t\t\t struct device_node *parent,\n-\t\t\t\t\t\t\t struct device_node *np,\n-\t\t\t\t\t\t\t struct pinctrl_map **maps,\n-\t\t\t\t\t\t\t unsigned int *num_maps,\n-\t\t\t\t\t\t\t unsigned int *num_reserved_maps,\n-\t\t\t\t\t\t\t const char **group_names,\n-\t\t\t\t\t\t\t unsigned int ngroups)\n+int\n+pinctrl_generic_to_map(struct pinctrl_dev *pctldev, struct device_node *parent,\n+\t\t struct device_node *np, struct pinctrl_map **maps,\n+\t\t unsigned int *num_maps, unsigned int *num_reserved_maps,\n+\t\t const char **group_names, unsigned int ngroups,\n+\t\t const char **functions, unsigned int *pins)\n {\n \tstruct device *dev = pctldev->dev;\n-\tconst char **functions;\n+\tint npins, ret, reserve = 1;\n+\tunsigned int num_configs;\n \tconst char *group_name;\n \tunsigned long *configs;\n-\tunsigned int num_configs, pin, *pins;\n-\tint npins, ret, reserve = 1;\n-\n-\tnpins = of_property_count_u32_elems(np, \"pins\");\n-\n-\tif (npins < 1) {\n-\t\tdev_err(dev, \"invalid pinctrl group %pOFn.%pOFn %d\\n\",\n-\t\t\tparent, np, npins);\n-\t\treturn npins;\n-\t}\n \n \tgroup_name = devm_kasprintf(dev, GFP_KERNEL, \"%pOFn.%pOFn\", parent, np);\n \tif (!group_name)\n@@ -51,22 +40,6 @@ static int pinctrl_generic_pins_function_dt_subnode_to_map(struct pinctrl_dev *p\n \tif (!pins)\n \t\treturn -ENOMEM;\n \n-\tfunctions = devm_kcalloc(dev, npins, sizeof(*functions), GFP_KERNEL);\n-\tif (!functions)\n-\t\treturn -ENOMEM;\n-\n-\tfor (int i = 0; i < npins; i++) {\n-\t\tret = of_property_read_u32_index(np, \"pins\", i, &pin);\n-\t\tif (ret)\n-\t\t\treturn ret;\n-\n-\t\tpins[i] = pin;\n-\n-\t\tret = of_property_read_string(np, \"function\", &functions[i]);\n-\t\tif (ret)\n-\t\t\treturn ret;\n-\t}\n-\n \tret = pinctrl_utils_reserve_map(pctldev, maps, num_reserved_maps, num_maps, reserve);\n \tif (ret)\n \t\treturn ret;\n@@ -103,6 +76,54 @@ static int pinctrl_generic_pins_function_dt_subnode_to_map(struct pinctrl_dev *p\n \treturn 0;\n };\n \n+static int\n+pinctrl_generic_pins_function_dt_subnode_to_map(struct pinctrl_dev *pctldev,\n+\t\t\t\t\t\tstruct device_node *parent,\n+\t\t\t\t\t\tstruct device_node *np,\n+\t\t\t\t\t\tstruct pinctrl_map **maps,\n+\t\t\t\t\t\tunsigned int *num_maps,\n+\t\t\t\t\t\tunsigned int *num_reserved_maps,\n+\t\t\t\t\t\tconst char **group_names,\n+\t\t\t\t\t\tunsigned int ngroups)\n+{\n+\tstruct device *dev = pctldev->dev;\n+\tunsigned int pin, *pins;\n+\tconst char **functions;\n+\tint npins, ret;\n+\n+\tnpins = of_property_count_u32_elems(np, \"pins\");\n+\n+\tif (npins < 1) {\n+\t\tdev_err(dev, \"invalid pinctrl group %pOFn.%pOFn %d\\n\",\n+\t\t\tparent, np, npins);\n+\t\treturn npins;\n+\t}\n+\n+\tpins = devm_kcalloc(dev, npins, sizeof(*pins), GFP_KERNEL);\n+\tif (!pins)\n+\t\treturn -ENOMEM;\n+\n+\tfunctions = devm_kcalloc(dev, npins, sizeof(*functions), GFP_KERNEL);\n+\tif (!functions)\n+\t\treturn -ENOMEM;\n+\n+\tfor (int i = 0; i < npins; i++) {\n+\t\tret = of_property_read_u32_index(np, \"pins\", i, &pin);\n+\t\tif (ret)\n+\t\t\treturn ret;\n+\n+\t\tpins[i] = pin;\n+\n+\t\tret = of_property_read_string(np, \"function\", &functions[i]);\n+\t\tif (ret)\n+\t\t\treturn ret;\n+\t}\n+\n+\treturn pinctrl_generic_to_map(pctldev, parent, np, maps, num_maps,\n+\t\t\t\t num_reserved_maps, group_names, ngroups,\n+\t\t\t\t functions, pins);\n+}\n+\n /*\n * For platforms that do not define groups or functions in the driver, but\n * instead use the devicetree to describe them. This function will, unlike\n", "prefixes": [ "v4", "3/7" ] }