Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2216178/?format=api
{ "id": 2216178, "url": "http://patchwork.ozlabs.org/api/patches/2216178/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260325-pinctrl-mux-v4-4-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-4-043c2c82e623@nxp.com>", "list_archive_url": null, "date": "2026-03-25T23:04:13", "name": "[v4,4/7] pinctrl: add optional .release_mux() callback", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "3b14fd547d8223cef0804f39571ea020b2e18b4c", "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-4-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/2216178/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2216178/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-gpio+bounces-34179-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=YsC8h3Uh;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-gpio+bounces-34179-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=\"YsC8h3Uh\"", "smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=40.107.162.3", "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 [172.234.253.10])\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 4fh2fn65P8z1xy1\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 26 Mar 2026 10:09:37 +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 EC6B630F6954\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 25 Mar 2026 23:04:48 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id ACEB4395DAA;\n\tWed, 25 Mar 2026 23:04:48 +0000 (UTC)", "from PA4PR04CU001.outbound.protection.outlook.com\n (mail-francecentralazon11013003.outbound.protection.outlook.com\n [40.107.162.3])\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 8BA13359A87;\n\tWed, 25 Mar 2026 23:04:46 +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:43 +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:43 +0000" ], "ARC-Seal": [ "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1774479888; cv=fail;\n b=DKhtDEE4AT63zg4c37YybLZoajob8G1S38FdXW0zN4yKOY+hCKJHoq9ne+EL80sdNgzHu/RUWbbow55h4GBAjTVNRVH+EZJ3nXjvHKM4vPnejj9vR8mGxOWXVJ2imtTfMhbTOtq1y6jyFXx52qF25WgF9H7W5fukjzj/Rje/ans=", "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=bKI5ywTA7aqgcwEmqr0af7HhwiSpzUZs02350TNDaI1CpEEyh33FTYEQZC/sQChoxcKKIb8RRyjuuxj51+HurZxgX9ASFC5dzlDsyhNPCH4YP/OLtmmWwpAmI+8oPYXRwgxi9CygHh8c5rCh1mJ6S98D0JL9ya+Iio+gXgZvMe/rwjcvT/VwtjWeMj2F3e8i/OOw+EkGEDEzdazXT+goPl6+6gmNAIZLzALCb1aOa0nfEVQxhYAt931GYI38z4/vMTJnN3awCkZ4JwtZoPQLq7tWAdCt0qNyiXT7flu4be/Q/6dJy0iNABLOJ7D7IhSwxQZp0epzv85tgAsoM2Ozfw==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1774479888; c=relaxed/simple;\n\tbh=84YFQG/s33y4aWmdQnO4NG1npAXRpP23tH3HW7BHAtc=;\n\th=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To:\n\t To:Cc:MIME-Version;\n b=P/b+bXPCdNVsEH7leB9x14PwxaEPgBf1OASxFwL0C892gHN8+cMIAQ7AeoPDfzG24Tq+5oGDsyIKoFhUNL3GYaIjFbHNJI2F3av6BBC+2ASnabaPNDrGR3YrVUJvPdVD2XZdnzpF2B6cxh071T5U4mPraTovJFj5/7KpIi07j4s=", "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=EomKscOACz2EiMfHyFMhDh5ukwxhM8VLlPUnGrNoojg=;\n b=mkZo479iprxW5QL1Q9Kvbaqw/Ox+cPQ/+RKet1TITSs4h9zFJ7T2g55w8pkg85Kjx/cRUXA4SDWulhaRHOcFfo63EwLkwN+TPf9JeCUz+SmPJM22FwEbf9gIdsypbfq+5T8cZ3zSpWOQ05/G8p5GIEB868016kVl+y5E3bJ7BPVBMWAlV98UibsDQx37VkGQffcnJEKO5CDK81mQ15JWgNgEqg/ZPPmi0FNIfrrNZbuSK6LbLe/+0eeOzg9543lIezyOxkpQmOmS2/IKb6VpRHSbk+1B+/LmppRAeUQZMPKsHBsGf9W7wa50do6km3rUlX95JmHWI5dBhr/Mq60T/g==" ], "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=YsC8h3Uh; arc=fail smtp.client-ip=40.107.162.3", "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=EomKscOACz2EiMfHyFMhDh5ukwxhM8VLlPUnGrNoojg=;\n b=YsC8h3UhJn1YgG17trjjWjKsiDDWesMcJwrmoqRU3XE5kMqMd3XAaXWdULVsW7ulVBer8DmW2BYImk+PA8fWBoN7lHwWQhE985WcfnUJsW1kSHY+/Pgbv1juWYTXu3znS7/M8uCA5gpY7DjBbpv/7balMX8iHn2/XkYG8Q2aHp3P5fHBOVeCeeKT2jFTKsciNIGlmdSwsHMlndN8uj+kLM+SECZHjA3ZHR8PrcNwe5FLCD68TpYa8bO6vQC2FsSoW6OcbVVqOxuaUdKiflgE+193Dpff8nJiW5BP0g+IALn1zr9jYoquEO9ewmoFcHKBXv/wmHS9CHzFLGj7DEKU9g==", "From": "Frank Li <Frank.Li@nxp.com>", "Date": "Wed, 25 Mar 2026 19:04:13 -0400", "Subject": "[PATCH v4 4/7] pinctrl: add optional .release_mux() callback", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-Id": "<20260325-pinctrl-mux-v4-4-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=3409;\n i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id;\n bh=84YFQG/s33y4aWmdQnO4NG1npAXRpP23tH3HW7BHAtc=;\n b=pe/Y/nw1RowVhaTJvsdHbK0tUTSfQfQ4Papz/3xqHXCnzuUHmdtsre/LgJnOsq+fAsNuFkjoY\n VncGNPofarZC/j2b2xaqXyo36rBKmoctX3EDkVz+73BnQwR1X0Xxc72", "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": "57040b2c-3c8b-49e0-44b0-08de8ac2e6ce", "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\ts3T0efTDW1hqf/TXYQyC4EhVtnFOdc3HDPvXm0kUfoTXwoe/cMypINBy6HIlqIyr/Sg3SS7PPwoQaHVkQgtUYyoshDA+FhbJJSmhpnBIrhPBTgIfqrHtES6P10RC3i5C3MvKFpMsq2B9kJ8lgZpjUvUOJDFatNhfyZM+5SR7ELDb9JgdSDWRvweQDBdmFpgbVpMUsl87rnYvt21I128svjHXkTeulKYCqMI38F98u4XtIRiDgAb0sCxqqCpMkjpyeILIj78JN6BSYoTvZ+9wNzqT/tmJ3LVamz4Mp/RnRnKPYqjLxWKRy5yUHLY6rViV4YmpSZDrxxusiy6+cpHZtUr4AUkIZe3OYg4rOOk/WUJqrizzb9rBSMyPDOJ8qVN9wRJxbiWDLiS1fttuxrJKlJ/9jQ2nY9Yy37onf/TIhYlS3qL9fSI7VIZX85YxXExUBfgLmmOVdxW2JqNru9sEIObDf4x16vebrytvPuDbrwBBeuR+3fz6kzqFRnvrJjjKBjqwIAKksJKIia38wPU7H0MlTtqm2ctFlDREti8uTcvOpzbk6s3bKzc////v0B8YTAWdvwf/mNv7wA/v9veikgVZkyDwO38qAjND7pgYyDs+Pg3c7qcthcomIvny2McPmqlPk90wmCAgu8N83llBWDqRUlaMF2ULmHV+R4QGSRlTyiDPS0Az++5N6vci9NXyVFV45bUIcSdID2JjTj18uBqPJeL76/BWr0v7EB8xHbiYCU6G9VoxCinMxQpiC/B7NhpSi0U1UWuHO1ARPZJHsvibhYepphmeAVpxu2ZWhaA=", "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?8YAX303Cqz8fdP8Fz5mRgJ0UqTqs?=\n\t=?utf-8?q?nx3VLwCZO0Vummup9nIsnLjiILo0ohgWPD69tXVkxLX2uYXuydzDqni+amrkBUvLs?=\n\t=?utf-8?q?eclT2F9wO6eytDkZ2O+6ES8UZ7NirhnTBUFD1wLMkOHdakm3WQLSt5ksHeMJq7l4a?=\n\t=?utf-8?q?ufv+E5wmMp8AQ8eNPUD6ui5jBNwcH8IwCSQ8UPoOhdjLfL1zAqBG8w59O4nwFv/cs?=\n\t=?utf-8?q?ymGImuoCtQTe9Vs77ppo1VjD+mJQUrUBnODU0KasWIqWVekqSDYEwQ5+Y3+5lwsUU?=\n\t=?utf-8?q?oQG+709JaWPJt51/yAIoS0t/OlFhigHn5L+QGXmmHTmKEgWb/srDn+ZOT1d99WRRX?=\n\t=?utf-8?q?ePSD8od9zV+ZU4vBSUMZQxyRLbIEglcK5vAescblNkJJH9dVFRUhyn7xcrCywVPgR?=\n\t=?utf-8?q?yjfjWzDUpQCIK9jx3VzrnoO7yoBo6FVqD5vPe/PDzl2XNmm68OjM+Fr2Py+39xQJX?=\n\t=?utf-8?q?AsTAleQFf6XFdrx/GISv2PhP1XYJvmJQboncLD1QQiEwzexyvMR2aHw9i+srAuVJv?=\n\t=?utf-8?q?UshwliOKfCsHLvqJ50bdQIyev1bPY3fS6lAoyZjgwHf/FqdW5N2JKgt0Cc0aT9vIQ?=\n\t=?utf-8?q?ilDMSGmWC2aUxj7V/MNwcnBN/ef8OJuWppn4ZMT88uDbCO6VtJ1E4JMhsnwK0z8/p?=\n\t=?utf-8?q?/8UgzpoXzxa6tIBGW8TqI27BKh3XlKuMNhENtIK663QWPZmmeely4aNIW2I0YM6gD?=\n\t=?utf-8?q?3Bo0gx8lkDKte8SpSOeBLgGBVIj/A7Io2c/PJRcGTTtjdfqewWOgQprhwQV+2YYC5?=\n\t=?utf-8?q?a9Ijvs+8wTWtCu26FQteQommB3/SRbU+6UPM7X22iB3cprWbFpQrbNMhTQxZPwAFr?=\n\t=?utf-8?q?G27UmbmSBQAiCFLmq07ZNvLGRind5CkLjXy1X1F9Yj9jq1lDzvP+xH69DZ+xGulXf?=\n\t=?utf-8?q?wykNovQw3UMggb4zd4shmn3OnxH6zvpI/ol/R/xMORef/G0eMu9zs5JyRbAy4a0+j?=\n\t=?utf-8?q?iFUkMGdWDKJSDW8A9bJJAZhgl7jVn1ekJWQ31zBPTC16mUcQXF5yFWGs/JVTDzZoB?=\n\t=?utf-8?q?Y3dd09KAN+s4UolhxuYU9NvWKwLch39OQuXC8o/g0FYLDYgfa/RLx7HHfBIRcyEdu?=\n\t=?utf-8?q?+u1zn91CKHI9bpaOwfDHTN3YbiHNOtODNXUvJIFxVPpiThYQ26aUwhBmXh971Qauq?=\n\t=?utf-8?q?gCCdgkiIgDj924XYlMoAJCaD85OxnEzzQbSLXHdIusPvFr5vry0gRjnVfpHbK0GxL?=\n\t=?utf-8?q?R5oeSbtmIWWfvghmhxzUz4HoVWGcI75QE2t7AnlMMrlAvN1fGq+8tc+ApdjiYhMrC?=\n\t=?utf-8?q?N31cGwHa1jJjZU54+SPLC6hNwFwksSVkrDPZZP5G0EuKUW7QT2vUzpyirEfMAtrmp?=\n\t=?utf-8?q?KcWGrh9mxXAxJQXqSMZe3JLWEwO9sdgyY4PZmzsPLmjsqRaSzji8Ox32I+NcjjaxX?=\n\t=?utf-8?q?gT3pgc2kNYgqG4Qy542TBfx2olP+M7RPP9BdVP9cyonBi2/cBB7k6ZR4M+gqTDcxv?=\n\t=?utf-8?q?fDKMFOaGCnD/+7ZtsSFL6BYg+eMs1VMLjP4GN1AThhLarcsbiI3pMz6bKs45FZdIT?=\n\t=?utf-8?q?WdJyRuNB4b+n1IgDYq6q5stXWd1LbC7xWZYUgm3SxvgWTcibwnahr0yI76XEhCJo5?=\n\t=?utf-8?q?+02QaO5hWVsI1nbCUok0Mufw6uz0xtgHrkY3IThPsVo7BSG6jsFU/vkxJaztlQWPp?=\n\t=?utf-8?q?TN7eOIlkwR?=", "X-OriginatorOrg": "nxp.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 57040b2c-3c8b-49e0-44b0-08de8ac2e6ce", "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:43.5228\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 sUPt0bhIQ4nae/+CnqauNcJF5BvYoC+RY+sZ7zUiGiXACQU8a7iCUfZb7vemCKIGdoFrnLAgdSOyMiYGV39Gjw==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "GV2PR04MB12140" }, "content": "Add an optional .release_mux() callback to struct pinmux_ops.\n\nSome drivers acquire additional resources in .set_mux(), such as software\nlocks. These resources may need to be released when the mux function is no\nlonger active. Introducing a dedicated .release_mux() callback allows\ndrivers to clean up such resources.\n\nThe callback is optional and does not affect existing drivers.\n\nCommit 2243a87d90b42 (\"pinctrl: avoid duplicated calling\nenable_pinmux_setting for a pin\") removed the .disable() callback\nto resolve two issues:\n\n 1. desc->mux_usecount increasing monotonically\n 2. Hardware glitches caused by repeated .disable()/.enable() calls\n\nAdding .release_mux() does not reintroduce those problems. The callback is\nintended only for releasing driver-side resources (e.g. locks) and must not\nmodify hardware registers.\n\nSigned-off-by: Frank Li <Frank.Li@nxp.com>\n---\nchange in v4\n- none\n\nchange in v3\n- Add judgement about 2243a87d90b42 (\"pinctrl: avoid duplicated calling\nenable_pinmux_setting for a pin\") in commit message.\n---\n drivers/pinctrl/pinmux.c | 5 +++++\n include/linux/pinctrl/pinmux.h | 5 +++++\n 2 files changed, 10 insertions(+)", "diff": "diff --git a/drivers/pinctrl/pinmux.c b/drivers/pinctrl/pinmux.c\nindex 3a8dd184ba3d670e01a890427e19af59b65eb813..c705bc182266c596c4e6c820f5e3ffcadbbb2838 100644\n--- a/drivers/pinctrl/pinmux.c\n+++ b/drivers/pinctrl/pinmux.c\n@@ -517,6 +517,7 @@ void pinmux_disable_setting(const struct pinctrl_setting *setting)\n {\n \tstruct pinctrl_dev *pctldev = setting->pctldev;\n \tconst struct pinctrl_ops *pctlops = pctldev->desc->pctlops;\n+\tconst struct pinmux_ops *ops = pctldev->desc->pmxops;\n \tint ret = 0;\n \tconst unsigned int *pins = NULL;\n \tunsigned int num_pins = 0;\n@@ -563,6 +564,10 @@ void pinmux_disable_setting(const struct pinctrl_setting *setting)\n \t\t\t\t pins[i], desc->name, gname);\n \t\t}\n \t}\n+\n+\tif (ops->release_mux)\n+\t\tops->release_mux(pctldev, setting->data.mux.func,\n+\t\t\t\t setting->data.mux.group);\n }\n \n #ifdef CONFIG_DEBUG_FS\ndiff --git a/include/linux/pinctrl/pinmux.h b/include/linux/pinctrl/pinmux.h\nindex 094bbe2fd6fd5ea3c5fdf5b6d6d9a7639700b50b..77664937eeb273eef440988c4cf833dbc6f10758 100644\n--- a/include/linux/pinctrl/pinmux.h\n+++ b/include/linux/pinctrl/pinmux.h\n@@ -51,6 +51,8 @@ struct pinctrl_gpio_range;\n *\tare handled by the pinmux subsystem. The @func_selector selects a\n *\tcertain function whereas @group_selector selects a certain set of pins\n *\tto be used. On simple controllers the latter argument may be ignored\n+ * @release_mux: Release software resources acquired by @set_mux. This callback\n+ *\tmust not change hardware state to avoid glitches when switching mux.\n * @gpio_request_enable: requests and enables GPIO on a certain pin.\n *\tImplement this only if you can mux every pin individually as GPIO. The\n *\taffected GPIO range is passed along with an offset(pin number) into that\n@@ -80,6 +82,9 @@ struct pinmux_ops {\n \t\t\t\t unsigned int selector);\n \tint (*set_mux) (struct pinctrl_dev *pctldev, unsigned int func_selector,\n \t\t\tunsigned int group_selector);\n+\tvoid (*release_mux) (struct pinctrl_dev *pctldev,\n+\t\t\t unsigned int func_selector,\n+\t\t\t unsigned int group_selector);\n \tint (*gpio_request_enable) (struct pinctrl_dev *pctldev,\n \t\t\t\t struct pinctrl_gpio_range *range,\n \t\t\t\t unsigned int offset);\n", "prefixes": [ "v4", "4/7" ] }