get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2233365,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2233365/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260506-womb-bonus-68a236490084@spud/",
    "project": {
        "id": 42,
        "url": "http://patchwork.ozlabs.org/api/1.1/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": "<20260506-womb-bonus-68a236490084@spud>",
    "date": "2026-05-06T09:57:42",
    "name": "[RFC,v1,4/4] pinctrl: spacemit: move over to generic pinmux dt_node_to_map implementation",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "18c1ec2f3beceec008f97e788d8da8ddb8694ab1",
    "submitter": {
        "id": 84372,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/84372/?format=api",
        "name": "Conor Dooley",
        "email": "conor@kernel.org"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260506-womb-bonus-68a236490084@spud/mbox/",
    "series": [
        {
            "id": 502949,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/502949/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/list/?series=502949",
            "date": "2026-05-06T09:57:38",
            "name": "generic pinmux dt_node_to_map implementation",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/502949/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2233365/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2233365/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "\n <linux-gpio+bounces-36278-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=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=WG44oO9T;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c15:e001:75::12fc:5321; helo=sin.lore.kernel.org;\n envelope-from=linux-gpio+bounces-36278-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"WG44oO9T\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"
        ],
        "Received": [
            "from sin.lore.kernel.org (sin.lore.kernel.org\n [IPv6:2600:3c15:e001:75::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 4g9WMQ25sqz1yJx\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 20:09:38 +1000 (AEST)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id 3C58C3075652\n\tfor <incoming@patchwork.ozlabs.org>; Wed,  6 May 2026 09:59:49 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id BA028402454;\n\tWed,  6 May 2026 09:58:19 +0000 (UTC)",
            "from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\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 E47CF3DC4A3;\n\tWed,  6 May 2026 09:58:17 +0000 (UTC)",
            "by smtp.kernel.org (Postfix) with ESMTPSA id 60557C2BCC9;\n\tWed,  6 May 2026 09:58:15 +0000 (UTC)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1778061498; cv=none;\n b=Mypo4EzqjemjblwtLDc1mkm5j96aA1RKZ5+wv1khGyxeDY7HfgOIqPOxjWGBSLJ0XQk0bVixYFRnnGnfFrLDtT3/h+p2soWDm8Uevy9i5Oqh5TBdHgMLJlOf2/iBNYkMgqBc8HdSPedxJpU/iJi5iCD7UOHzP14a/WoVmkxSCJw=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1778061498; c=relaxed/simple;\n\tbh=v2Z43waBNb1sScGZkywyBPPfu9AJTH0bPEJbypNx/9Y=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=sl+/dOmKy+Za8vTBmZceHymoPnVua7fF1AzHTqYuAKEEr7/0298YXje77VYMa9oadMzpWuxW0YlQhFtWPVshcsGhVVcYv2oOZRTOZ38W3vukMxtZxkccAJccXlp4yA4tN+rYIIpmh9BDXxH+iOb8Mh9Rq6KMjLQYgaNFIt8G/RU=",
        "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=WG44oO9T; arc=none smtp.client-ip=10.30.226.201",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1778061497;\n\tbh=v2Z43waBNb1sScGZkywyBPPfu9AJTH0bPEJbypNx/9Y=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=WG44oO9TMvF7kiD51Etx91un/RdtZOeMoteCnQgQFqUaqeA25FD+DAHQIemqgDZng\n\t 56v2HgLykir7ilGwY9wv7O7zsRQvLUgh5yDL6057DboKTr1t3Py+T+6fRjT0wPJsW8\n\t CdoPtl1bodVpxIaCoadImuzAM6g7WIWpVpbgBiwlZQpAqExNBrz1j8fUi9MLTQVy4p\n\t yXc1RAc8fUEGvdOwVurE48hcOFFCAwlnvPWr1Co5fXGmL1rkzzS/f9hVLCB+UTHR0X\n\t kiT5vg85L0QLRi+TpixO/5bbuxbl+WQzFAIoaf9HUpWupesFCATXTu2Wvyob4pHuh8\n\t UqMinIs5doyBQ==",
        "From": "Conor Dooley <conor@kernel.org>",
        "To": "Linus Walleij <linusw@kernel.org>",
        "Cc": "conor@kernel.org,\n\tConor Dooley <conor.dooley@microchip.com>,\n\tYixun Lan <dlan@kernel.org>,\n\tTroy Mitchell <troy.mitchell@linux.spacemit.com>,\n\tlinux-gpio@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\tlinux-riscv@lists.infradead.org,\n\tspacemit@lists.linux.dev",
        "Subject": "[RFC v1 4/4] pinctrl: spacemit: move over to generic pinmux\n dt_node_to_map implementation",
        "Date": "Wed,  6 May 2026 10:57:42 +0100",
        "Message-ID": "<20260506-womb-bonus-68a236490084@spud>",
        "X-Mailer": "git-send-email 2.53.0",
        "In-Reply-To": "<20260506-energize-dramatize-051909e54256@spud>",
        "References": "<20260506-energize-dramatize-051909e54256@spud>",
        "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-Developer-Signature": "v=1; a=openpgp-sha256; l=3606;\n i=conor.dooley@microchip.com; h=from:subject:message-id;\n bh=EBo7vsj45Fm6ts8vxVZqmKyxIs0BuENJUV4vbK7h45M=;\n b=owGbwMvMwCVWscWwfUFT0iXG02pJDJm/BSb39VRuPlyx7dTVybtPFKcGfqt8LVWl+3qm9zZDQ\n Z9Oix2nO0pZGMS4GGTFFFkSb/e1SK3/47LDuectzBxWJpAhDFycAjARz4+MDPvXrE5ff0aqJjZ+\n 72rz29sKlLcx7hURWFDwKJSjs+PzSw6Gf4Y7Z25c31Yd73LtiJXD7brJorYHdHd7HHn/8v2O0Gw\n XcSYA",
        "X-Developer-Key": "i=conor.dooley@microchip.com; a=openpgp;\n fpr=F9ECA03CF54F12CD01F1655722E2C55B37CF380C",
        "Content-Transfer-Encoding": "8bit"
    },
    "content": "From: Conor Dooley <conor.dooley@microchip.com>\n\nSigned-off-by: Conor Dooley <conor.dooley@microchip.com>\n---\n drivers/pinctrl/spacemit/pinctrl-k1.c | 33 ++++++++++-----------------\n 1 file changed, 12 insertions(+), 21 deletions(-)",
    "diff": "diff --git a/drivers/pinctrl/spacemit/pinctrl-k1.c b/drivers/pinctrl/spacemit/pinctrl-k1.c\nindex 41d8a34bc386b..c90b6ccfce2ea 100644\n--- a/drivers/pinctrl/spacemit/pinctrl-k1.c\n+++ b/drivers/pinctrl/spacemit/pinctrl-k1.c\n@@ -114,11 +114,6 @@ struct spacemit_pinctrl_data {\n \tconst struct spacemit_pinctrl_dconf\t*dconf;\n };\n \n-struct spacemit_pin_mux_config {\n-\tconst struct spacemit_pin\t*pin;\n-\tu32\t\t\t\tconfig;\n-};\n-\n /* map pin id to pinctrl register offset, refer MFPR definition */\n static unsigned int spacemit_k1_pin_to_offset(unsigned int pin)\n {\n@@ -474,7 +469,6 @@ static int spacemit_pctrl_dt_node_to_map(struct pinctrl_dev *pctldev,\n \tngroups = 0;\n \tguard(mutex)(&pctrl->mutex);\n \tfor_each_available_child_of_node_scoped(np, child) {\n-\t\tstruct spacemit_pin_mux_config *pinmuxs;\n \t\tunsigned int config, *pins;\n \t\tint i, npins;\n \n@@ -497,10 +491,6 @@ static int spacemit_pctrl_dt_node_to_map(struct pinctrl_dev *pctldev,\n \t\tif (!pins)\n \t\t\treturn -ENOMEM;\n \n-\t\tpinmuxs = devm_kcalloc(dev, npins, sizeof(*pinmuxs), GFP_KERNEL);\n-\t\tif (!pinmuxs)\n-\t\t\treturn -ENOMEM;\n-\n \t\tfor (i = 0; i < npins; i++) {\n \t\t\tret = of_property_read_u32_index(child, \"pinmux\",\n \t\t\t\t\t\t\t i, &config);\n@@ -509,11 +499,6 @@ static int spacemit_pctrl_dt_node_to_map(struct pinctrl_dev *pctldev,\n \t\t\t\treturn -EINVAL;\n \n \t\t\tpins[i] = spacemit_dt_get_pin(config);\n-\t\t\tpinmuxs[i].config = config;\n-\t\t\tpinmuxs[i].pin = spacemit_get_pin(pctrl, pins[i]);\n-\n-\t\t\tif (!pinmuxs[i].pin)\n-\t\t\t\treturn dev_err_probe(dev, -ENODEV, \"failed to get pin %d\\n\", pins[i]);\n \t\t}\n \n \t\tmap[nmaps].type = PIN_MAP_TYPE_MUX_GROUP;\n@@ -522,7 +507,7 @@ static int spacemit_pctrl_dt_node_to_map(struct pinctrl_dev *pctldev,\n \t\tnmaps += 1;\n \n \t\tret = pinctrl_generic_add_group(pctldev, grpname,\n-\t\t\t\t\t\tpins, npins, pinmuxs);\n+\t\t\t\t\t\tpins, npins, &config);\n \t\tif (ret < 0)\n \t\t\treturn dev_err_probe(dev, ret, \"failed to add group %s: %d\\n\", grpname, ret);\n \n@@ -559,7 +544,7 @@ static const struct pinctrl_ops spacemit_pctrl_ops = {\n \t.get_group_name\t\t= pinctrl_generic_get_group_name,\n \t.get_group_pins\t\t= pinctrl_generic_get_group_pins,\n \t.pin_dbg_show\t\t= spacemit_pctrl_dbg_show,\n-\t.dt_node_to_map\t\t= spacemit_pctrl_dt_node_to_map,\n+\t.dt_node_to_map\t\t= pinctrl_generic_pinmux_dt_node_to_map,\n \t.dt_free_map\t\t= pinctrl_utils_free_map,\n };\n \n@@ -568,8 +553,8 @@ static int spacemit_pmx_set_mux(struct pinctrl_dev *pctldev,\n {\n \tstruct spacemit_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev);\n \tconst struct group_desc *group;\n-\tconst struct spacemit_pin_mux_config *configs;\n \tunsigned int i, mux;\n+\tunsigned int *configs;\n \tvoid __iomem *reg;\n \n \tgroup = pinctrl_generic_get_group(pctldev, gsel);\n@@ -579,11 +564,17 @@ static int spacemit_pmx_set_mux(struct pinctrl_dev *pctldev,\n \tconfigs = group->data;\n \n \tfor (i = 0; i < group->grp.npins; i++) {\n-\t\tconst struct spacemit_pin *spin = configs[i].pin;\n-\t\tu32 value = configs[i].config;\n+\t\tconst struct spacemit_pin *spin;\n+\t\tu32 value = configs[i];\n+\n+\t\tspin = spacemit_get_pin(pctrl, group->grp.pins[i]);\n+\t\tif (!spin) {\n+\t\t\tdev_err(pctrl->dev, \"Invalid pin %u\\n\", group->grp.pins[i]);\n+\t\t\treturn -EINVAL;\n+\t\t}\n \n \t\treg = spacemit_pin_to_reg(pctrl, spin->pin);\n-\t\tmux = spacemit_dt_get_pin_mux(value);\n+\t\tmux = value;\n \n \t\tguard(raw_spinlock_irqsave)(&pctrl->lock);\n \t\tvalue = readl_relaxed(reg) & ~PAD_MUX;\n",
    "prefixes": [
        "RFC",
        "v1",
        "4/4"
    ]
}