get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2216175/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2216175,
    "url": "http://patchwork.ozlabs.org/api/patches/2216175/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260325-pinctrl-mux-v4-1-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-1-043c2c82e623@nxp.com>",
    "list_archive_url": null,
    "date": "2026-03-25T23:04:10",
    "name": "[v4,1/7] mux: add devm_mux_control_get_from_np() to get mux from child node",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "2aa79ac1422c9cbbde6b5ead30d412218c0e073b",
    "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-1-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/2216175/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2216175/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "\n <linux-gpio+bounces-34176-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=KAebUBXW;\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-34176-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=\"KAebUBXW\"",
            "smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.84.40",
            "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 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fh2cs50tvz1xy1\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 26 Mar 2026 10:07:57 +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 803BF309B736\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 25 Mar 2026 23:04:36 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 44FB9391E54;\n\tWed, 25 Mar 2026 23:04:36 +0000 (UTC)",
            "from DB3PR0202CU003.outbound.protection.outlook.com\n (mail-northeuropeazon11010040.outbound.protection.outlook.com [52.101.84.40])\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 3FAA638F635;\n\tWed, 25 Mar 2026 23:04:34 +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:32 +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:32 +0000"
        ],
        "ARC-Seal": [
            "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1774479876; cv=fail;\n b=IJzMzUNWOx7tsHPueM5apfZ3IXsmNRBzpUDyf5tpOze/u35itI+Kb2KyNM1Hx+weScClWXV9Vn8tAx6Rd/+7Nap4jMoTuuB6Mk5z70HHbPjO0F4GxU5n7k6TN61f/ecMDEHd7gaqOs7x8vPGKhH4QqYvJhWQOQDcdbnUITo6M3A=",
            "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=QE0tPlY/b66STBVDbH7lHiUxePD/3Tzl6RrMOF3WbmjPsbQLjrpjbltyX0qZaRgNaPjMVSeaVSLqdgGRjSzWNrEyG5Dvc/2xrB1BcdcNRGUQOfydveQAL0+knI3BdBkKt/4Xq1Xi8n+EWx9Mx1fnMavD7Y1iJ415BhnfgfopwWMJ29qOLeNeDtUpbJvep9jE5uCl57aiXG5vK2H+hFCjcULWd2B549a87bAQYUWYmKDAB7mX10gbr7K91bgUo5z1G/9wm08I5/mbKlJmq600QaH9IkJ9MJ4umMiEWTPneI7ZMrUZfmCmqj9oeX5HL8GPfua4uhhoGNZmd4Cu7FPikQ=="
        ],
        "ARC-Message-Signature": [
            "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1774479876; c=relaxed/simple;\n\tbh=6lZaJD3A/F1rIGObW9t+4MUqh2HqQaormMVYGkjpB44=;\n\th=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To:\n\t To:Cc:MIME-Version;\n b=ljxRHrfB46u9mX9Vuj7RtnPjDeoyq76OVNc2C9mIt2VUAvA0+4sDGDypH9WkGwi+oHNzZtOUpmlf+1limDc+8Kk1YRg7AzRGDR9t4TiiOUYGeRmL21a+bDLB8w+7gUZl/9ayWiMwqenVw6B37coyB42wqMxMwZmyG1DNrIBlCU4=",
            "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=VQlN2xveg+I0NatlzXlXz5x8nuvILqmuLkLNQrT9Y5E=;\n b=g6U8xdYMvdG+kD1RKRxRv3kXwP86sMxyyjpjOihSRuIADZYtj/RXxJefrkJGNIeIQUZ9AMkReL+TPq+EeEgaBK+WBGnYfIWEyvjDIhQ0LvtKg4kd1wA8Lk6htfvZpum+mMVwr4o+7YQQdNaJpyK1vHuxH+zcAOo1yACtp/G1pNJzCwl9z6I8cgHAWW1BrtTi2PSuR0baWY3ELAEQwoGpNKGnRbx5jflywP8GBD7XQP4IGErz+6gqhR2X4Ckldnd7/D74JGKzzbMgcscKfWxtuc9/YExoG7j4OAxdZTIfAU3T4X2XcZgmptxx8IuHBGX6AH6liTEx9+1UKl0zd6MO5Q=="
        ],
        "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=KAebUBXW; arc=fail smtp.client-ip=52.101.84.40",
            "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=VQlN2xveg+I0NatlzXlXz5x8nuvILqmuLkLNQrT9Y5E=;\n b=KAebUBXW1PyS1+izfTKeL74+hk5mV19IyWAPsV7fGCKN8QJiZPj2wj5aErtuJ0PGyMp4ZZBQ06AT3g88s2NPiaEOSmtO83fHx430CVamn25fpvifMst342rBxMgeK7kv3uISyxiDvdQULVOIrFAIAc0MthvImrgGuBuvJJ9zEdHKwjlfFZ4FYL00V6pnAOVFsvoPn/iL0RFMKByqGlicisuQ/QTas2rlcq99EFCyGJbY9LuQEFAs8bUS+/CNOa+wx2EnxV2eXOK5Qdjf2Hzi4aSABas4F7/9WAobyl7t4nqBg3YZra8BDmVDgQ+27iutrOofKTTZLhR/QApzxWEkfA==",
        "From": "Frank Li <Frank.Li@nxp.com>",
        "Date": "Wed, 25 Mar 2026 19:04:10 -0400",
        "Subject": "[PATCH v4 1/7] mux: add devm_mux_control_get_from_np() to get mux\n from child node",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "7bit",
        "Message-Id": "<20260325-pinctrl-mux-v4-1-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=6472;\n i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id;\n bh=6lZaJD3A/F1rIGObW9t+4MUqh2HqQaormMVYGkjpB44=;\n b=UBwCBPDWkndu2tYnjhVObUsVHIenFN/OKIa0n+I0qQoML1V4/VX8S6rQ42TGGHC77t5wQvhVS\n 20q028gBT3pA35SHcllpK391y0ctbIN6ONiolUWqwlR7aijlQ5w5S4B",
        "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": "cca445d5-ab94-4413-b770-08de8ac2dfeb",
        "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\tWDLZoV7gAyBXLTgP1wR4rizxN+O/iLpYl18ZtBRRpgtvy4hU5V4CWg0FBRXGDsyW/BuLamwJGzYbfIycGWVAUiXQakKcVmv9sdjnty/YmUXKUpyWZI7Wq36n3b/rtjuE/mmg0aycXLzJIN9xMuZDsQn+gu7rPsJBZNYXRScw1aM4CsKAC705HIdUDuWpdlkmaf3sYs1lzx36hJM44OQjjoGiMVTAKg6mcE4xXTRNj55XbrhzGWRBXuVGWTQ9fYJLGuNdTVp6XC4GljT1yyuY0p/aoptXGkxM3w4q4NWqJiDRZT035Ttt64yJwl1rcumvBI1lEwxSGnLEfEoIBLdlBzexYLeIDmS19YDE4FdXVKMzlCOp+6cnLBrPICXDdNBZZYxywaeomesrYu5t7HynnZlmUX1yiXCBEBdWd2XzTrt+iyJeCBJx57BauwZu2nTpT3Rd3lN19s6fHAfvXDysV17398bYiqrKSpWY/gsfKud73sGGxR6mTFc0UFgD/A11YbQHig0Uscf4AdcNFDV1Gf4R8zuLv9PL+SClpnSSxWbtRAeaL2cMgFqx8vSBmwbq5r/3rSsioYNSZiXbt7Gzu2tIr+nPbXemUM/sZhYoLar60ck+kp+PEZBgRZYrPCnL4TTmWQ5uX31bORPzxoyYGD6JlP6JFlGZEnU++i6YPMRFcjE5AwEHS7MSO1XxveDVqn9SThCOP/BMMA7/P74CYOwWA07lQFtnw0KzhORCoUkpqmMqKv2qXQ4tthDNW4ZvfkltnX/79Nexw2MNYHHvKiF3niFxak92sYJg7gk9pNg=",
        "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?TehJQGexyvkKrFOXpgN9CZXTvlN9?=\n\t=?utf-8?q?pteVxAXz/xyvaiM/IyQpaK5LU/J6hmmufv/JQu6czJd0MwrrTW7wuTQRvSM3kHJa2?=\n\t=?utf-8?q?efxu9ROLCvAa+NHxQy+LnlJZZ1DPkmRU2KvkuPxs+yxenNUYINAi5ZlZigQqpkspz?=\n\t=?utf-8?q?+vcs2NoO4QgdTRe5FZYEjnnZt8ggGpj7pDohTZsUr924j0YL9B4Y6ezCz++XYBvxa?=\n\t=?utf-8?q?H7hRSfGdNVE5WdCMLTyP0Uc+L6yHGdmAGyQH4oM9tGyUV8LD+VXih3YXMKudGv6X3?=\n\t=?utf-8?q?Fy1nSIaOdBLdDJGS4O0ptLR9m/tq93yXcCks8wnd9Xgy+EV1ghK7SxyQdXhMEX5Ue?=\n\t=?utf-8?q?ZrOM7puNhzEhpxim2BaVjBJHOOWGvyE9pXSKAQz/1wCbgKz7JkaAlW01zsVPmpjuQ?=\n\t=?utf-8?q?HZNXKeJItG3KPqJG7dv1P+qn+TECeia+gkylV5ROg6Hb+pAG9PoFa5P7W2PPHMyt2?=\n\t=?utf-8?q?cIFufouJxVRif/+gw72AzaG7qFpbDZWTqI+trtYlMEhz1fyyHC6gFEZCp41dH4ZAX?=\n\t=?utf-8?q?Dz+5fdepBCDzp/+C+2ecdP+Mw2h1PfT3osg85koPQFsuB0yzrVU6mNcvwIRc5YijS?=\n\t=?utf-8?q?vnNOviGeOPoPSpfzJXzUktPuchHNWuNccfUDamLOCTqvAVuPcxz9gf7Yuo2LsXeQ9?=\n\t=?utf-8?q?1CIUzNkpkb+6ZYF6bl2/oflDBARqfFG20+EUY+j4wpYOKvNBE0LS2CJ4JHc2vQnAT?=\n\t=?utf-8?q?j3MY/duOUcAE88BH0WSfC+rkBt2Av8fVDBvLQbJrbnxc6eukuxuUahoBBXoLBnpa7?=\n\t=?utf-8?q?rkvAcsghAKHCqdxB8plEdw5X7Z5MHhxLRd3irWjoZelg6nN2gRM4hqbajjS4GHVhI?=\n\t=?utf-8?q?pApZ5kPD0SUHwGF3TQX/EgYCRESigAHibOdv7RkYeFDAzfmg0jeVRX1gnTfspBKXW?=\n\t=?utf-8?q?By+rVV/4+rlgrmA+OvNFSSU2FCNCathwlk1pr7sabot6yzQCCwsPImcxRQZOL4QSH?=\n\t=?utf-8?q?muUVaYnjw9l4j6XUUbGrIn8CbK+GMLW9Ra3+uq5Et0KKafZ6bQI8whM8TOjOKJXIj?=\n\t=?utf-8?q?BpbS/bgTF5Zk/DZoaFifY2gMNaPpRo3Cz8Y7O6OG+7ouGsVQt0ZZ50lafIiYjYydf?=\n\t=?utf-8?q?bj37u2wq0wkpS5VLK9wqPh8pMsHivbbylWRb+Dx1QPldkteMs47GvVQbNo2ErPwOY?=\n\t=?utf-8?q?kDZBbaZLeZ+RCMwIMV0yrU3yVqgJr3is5z7wvfAr8tOIgVFpz1Fnj2Plh9llXJBSR?=\n\t=?utf-8?q?vP3ClRKV0LTrbRsAAehE7xt/wP7tM+EVQK5cOCrfWJ9btFJCZBhA0dOzMkvMaEdox?=\n\t=?utf-8?q?VrNq9pPoeMrUEknGAhjNkMplef4vd8SdmzXn5XV21lMhhAq+kIR9QqI+7HQV/rdFU?=\n\t=?utf-8?q?HA+bygz3D5I3lKPFP+4oGbRavw323WjK86OuiNDuGH5tPwWr4B0IkHWc4ATpR4708?=\n\t=?utf-8?q?AY8f5YhEKBhfBr7IO7o9nr6fWor44hzaI2254Wgw11wSV72Gx6dDCkoZnBGsIc4l6?=\n\t=?utf-8?q?GGTsGOjZOO7Y1y5kVBGoBxrsjno+ue/8nv+clqvjNNilPlPrfwuO+H0iAmwoAdEyG?=\n\t=?utf-8?q?gTuwXWIJ9uVA0I9aVs5Tp7NcWO2km1IFvjjmnhoZaXxWMo5VgJuelZSqXbaSpqZ56?=\n\t=?utf-8?q?VHUONdVeBDFeexImYsh/JG3pObl7zG00GJDv9DXnI/DirfqSEeUkYs2VMJWylTvgy?=\n\t=?utf-8?q?fB9+8CJFBM?=",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n cca445d5-ab94-4413-b770-08de8ac2dfeb",
        "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:32.0209\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 WiEBePJ3jKMsTGSlJ1tRAhJSCjxiRcYMkysqohx7OR/vyPbCf0AIsd9bAiYRopn3JiM/IFsbixNivvUX9Ur/7Q==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "GV2PR04MB12140"
    },
    "content": "Add new API devm_mux_control_get_from_np() to retrieve a mux control from\na specified child device node.\n\nMake devm_mux_control_get() call devm_mux_control_get_from_np() with a NULL\nnode parameter, which defaults to using the device's own of_node.\n\nSupport the following DT schema:\n\npinctrl@0 {\n    uart-func {\n            mux-state = <&mux_chip 0>;\n    };\n\n    spi-func {\n            mux-state = <&mux_chip 1>;\n    };\n};\n\nSigned-off-by: Frank Li <Frank.Li@nxp.com>\n---\nchange from v1 to v4\n- none\n---\n drivers/mux/core.c           | 40 ++++++++++++++++++++++++----------------\n include/linux/mux/consumer.h | 16 ++++++++++++----\n 2 files changed, 36 insertions(+), 20 deletions(-)",
    "diff": "diff --git a/drivers/mux/core.c b/drivers/mux/core.c\nindex a3840fe0995fe0125432d34edd8ab0f2cd1a6e9a..bdd959389b4ee1b0b8a7367fadf2c148c8f2f0b1 100644\n--- a/drivers/mux/core.c\n+++ b/drivers/mux/core.c\n@@ -522,13 +522,15 @@ static struct mux_chip *of_find_mux_chip_by_node(struct device_node *np)\n  * @mux_name: The name identifying the mux-control.\n  * @state: Pointer to where the requested state is returned, or NULL when\n  *         the required multiplexer states are handled by other means.\n+ * @node: the device nodes, use dev->of_node if it is NULL.\n  *\n  * Return: A pointer to the mux-control, or an ERR_PTR with a negative errno.\n  */\n static struct mux_control *mux_get(struct device *dev, const char *mux_name,\n-\t\t\t\t   unsigned int *state)\n+\t\t\t\t   unsigned int *state,\n+\t\t\t\t   struct device_node *node)\n {\n-\tstruct device_node *np = dev->of_node;\n+\tstruct device_node *np = node ? node : dev->of_node;\n \tstruct of_phandle_args args;\n \tstruct mux_chip *mux_chip;\n \tunsigned int controller;\n@@ -617,7 +619,7 @@ static struct mux_control *mux_get(struct device *dev, const char *mux_name,\n  */\n struct mux_control *mux_control_get(struct device *dev, const char *mux_name)\n {\n-\treturn mux_get(dev, mux_name, NULL);\n+\treturn mux_get(dev, mux_name, NULL, NULL);\n }\n EXPORT_SYMBOL_GPL(mux_control_get);\n \n@@ -641,15 +643,17 @@ static void devm_mux_control_release(struct device *dev, void *res)\n }\n \n /**\n- * devm_mux_control_get() - Get the mux-control for a device, with resource\n- *\t\t\t    management.\n+ * devm_mux_control_get_from_np() - Get the mux-control for a device, with\n+ *\t\t\t\t    resource management.\n  * @dev: The device that needs a mux-control.\n  * @mux_name: The name identifying the mux-control.\n+ * @np: the device nodes, use dev->of_node if it is NULL.\n  *\n  * Return: Pointer to the mux-control, or an ERR_PTR with a negative errno.\n  */\n-struct mux_control *devm_mux_control_get(struct device *dev,\n-\t\t\t\t\t const char *mux_name)\n+struct mux_control *\n+devm_mux_control_get_from_np(struct device *dev, const char *mux_name,\n+\t\t\t     struct device_node *np)\n {\n \tstruct mux_control **ptr, *mux;\n \n@@ -668,16 +672,18 @@ struct mux_control *devm_mux_control_get(struct device *dev,\n \n \treturn mux;\n }\n-EXPORT_SYMBOL_GPL(devm_mux_control_get);\n+EXPORT_SYMBOL_GPL(devm_mux_control_get_from_np);\n \n /*\n  * mux_state_get() - Get the mux-state for a device.\n  * @dev: The device that needs a mux-state.\n  * @mux_name: The name identifying the mux-state.\n+ * @np: the device nodes, use dev->of_node if it is NULL.\n  *\n  * Return: A pointer to the mux-state, or an ERR_PTR with a negative errno.\n  */\n-static struct mux_state *mux_state_get(struct device *dev, const char *mux_name)\n+static struct mux_state *\n+mux_state_get(struct device *dev, const char *mux_name, struct device_node *np)\n {\n \tstruct mux_state *mstate;\n \n@@ -685,7 +691,7 @@ static struct mux_state *mux_state_get(struct device *dev, const char *mux_name)\n \tif (!mstate)\n \t\treturn ERR_PTR(-ENOMEM);\n \n-\tmstate->mux = mux_get(dev, mux_name, &mstate->state);\n+\tmstate->mux = mux_get(dev, mux_name, &mstate->state, np);\n \tif (IS_ERR(mstate->mux)) {\n \t\tint err = PTR_ERR(mstate->mux);\n \n@@ -716,15 +722,17 @@ static void devm_mux_state_release(struct device *dev, void *res)\n }\n \n /**\n- * devm_mux_state_get() - Get the mux-state for a device, with resource\n- *\t\t\t  management.\n+ * devm_mux_state_get_from_np() - Get the mux-state for a device, with resource\n+ *\t\t\t\t  management.\n  * @dev: The device that needs a mux-control.\n  * @mux_name: The name identifying the mux-control.\n+ * @np: the device nodes, use dev->of_node if it is NULL.\n  *\n  * Return: Pointer to the mux-state, or an ERR_PTR with a negative errno.\n  */\n-struct mux_state *devm_mux_state_get(struct device *dev,\n-\t\t\t\t     const char *mux_name)\n+struct mux_state *\n+devm_mux_state_get_from_np(struct device *dev, const char *mux_name,\n+\t\t\t   struct device_node *np)\n {\n \tstruct mux_state **ptr, *mstate;\n \n@@ -732,7 +740,7 @@ struct mux_state *devm_mux_state_get(struct device *dev,\n \tif (!ptr)\n \t\treturn ERR_PTR(-ENOMEM);\n \n-\tmstate = mux_state_get(dev, mux_name);\n+\tmstate = mux_state_get(dev, mux_name, np);\n \tif (IS_ERR(mstate)) {\n \t\tdevres_free(ptr);\n \t\treturn mstate;\n@@ -743,7 +751,7 @@ struct mux_state *devm_mux_state_get(struct device *dev,\n \n \treturn mstate;\n }\n-EXPORT_SYMBOL_GPL(devm_mux_state_get);\n+EXPORT_SYMBOL_GPL(devm_mux_state_get_from_np);\n \n /*\n  * Using subsys_initcall instead of module_init here to try to ensure - for\ndiff --git a/include/linux/mux/consumer.h b/include/linux/mux/consumer.h\nindex 2e25c838f8312532040441ee618424b76378aad7..6300e091035323dd6158d52a55a109d43ef120aa 100644\n--- a/include/linux/mux/consumer.h\n+++ b/include/linux/mux/consumer.h\n@@ -56,9 +56,17 @@ int mux_state_deselect(struct mux_state *mstate);\n struct mux_control *mux_control_get(struct device *dev, const char *mux_name);\n void mux_control_put(struct mux_control *mux);\n \n-struct mux_control *devm_mux_control_get(struct device *dev,\n-\t\t\t\t\t const char *mux_name);\n-struct mux_state *devm_mux_state_get(struct device *dev,\n-\t\t\t\t     const char *mux_name);\n+struct mux_control *\n+devm_mux_control_get_from_np(struct device *dev, const char *mux_name,\n+\t\t\t     struct device_node *np);\n+\n+#define devm_mux_control_get(dev, mux_name)\t\t\\\n+\tdevm_mux_control_get_from_np(dev, mux_name, NULL)\n+\n+struct mux_state *\n+devm_mux_state_get_from_np(struct device *dev, const char *mux_name,\n+\t\t\t   struct device_node *np);\n+#define devm_mux_state_get(dev, mux_name)\t\t\\\n+\tdevm_mux_state_get_from_np(dev, mux_name, NULL)\n \n #endif /* _LINUX_MUX_CONSUMER_H */\n",
    "prefixes": [
        "v4",
        "1/7"
    ]
}