get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2218704,
    "url": "http://patchwork.ozlabs.org/api/1.0/patches/2218704/?format=api",
    "project": {
        "id": 35,
        "url": "http://patchwork.ozlabs.org/api/1.0/projects/35/?format=api",
        "name": "Linux I2C development",
        "link_name": "linux-i2c",
        "list_id": "linux-i2c.vger.kernel.org",
        "list_email": "linux-i2c@vger.kernel.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20260401180648.337834-2-adilov@disroot.org>",
    "date": "2026-04-01T18:06:41",
    "name": "[v6,1/8] i2c: rtl9300: split data_reg into read and write reg",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "50e09110feacb2eb7ab2e36391a7b50b886dc8d1",
    "submitter": {
        "id": 92795,
        "url": "http://patchwork.ozlabs.org/api/1.0/people/92795/?format=api",
        "name": "Rustam Adilov",
        "email": "adilov@disroot.org"
    },
    "delegate": {
        "id": 149066,
        "url": "http://patchwork.ozlabs.org/api/1.0/users/149066/?format=api",
        "username": "cazzacarna",
        "first_name": "Andi",
        "last_name": "Shyti",
        "email": "andi.shyti@kernel.org"
    },
    "mbox": "http://patchwork.ozlabs.org/project/linux-i2c/patch/20260401180648.337834-2-adilov@disroot.org/mbox/",
    "series": [
        {
            "id": 498375,
            "url": "http://patchwork.ozlabs.org/api/1.0/series/498375/?format=api",
            "date": "2026-04-01T18:06:41",
            "name": "i2c: rtl9300: support for RTL9607C I2C controller",
            "version": 6,
            "mbox": "http://patchwork.ozlabs.org/series/498375/mbox/"
        }
    ],
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2218704/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "\n <linux-i2c+bounces-16907-incoming=patchwork.ozlabs.org@vger.kernel.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linux-i2c@vger.kernel.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=disroot.org header.i=@disroot.org header.a=rsa-sha256\n header.s=mail header.b=IjEUXC3r;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-i2c+bounces-16907-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=disroot.org header.i=@disroot.org\n header.b=\"IjEUXC3r\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=178.21.23.139",
            "smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=disroot.org",
            "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=disroot.org"
        ],
        "Received": [
            "from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::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 4fmCdR0tWKz1yFv\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 02 Apr 2026 05:07:55 +1100 (AEDT)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 3B10130457C7\n\tfor <incoming@patchwork.ozlabs.org>; Wed,  1 Apr 2026 18:07:29 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 99DCB311597;\n\tWed,  1 Apr 2026 18:07:24 +0000 (UTC)",
            "from layka.disroot.org (layka.disroot.org [178.21.23.139])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 1F9E630E0FC;\n\tWed,  1 Apr 2026 18:07:20 +0000 (UTC)",
            "from [127.0.0.1] (localhost [127.0.0.1])\n\tby disroot.org (Postfix) with ESMTP id 824F025F7C;\n\tWed,  1 Apr 2026 20:07:14 +0200 (CEST)",
            "from layka.disroot.org ([127.0.0.1])\n by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id TMjY3Xwy1Ac4; Wed,  1 Apr 2026 20:07:13 +0200 (CEST)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775066844; cv=none;\n b=SSMBgDF1kK69S6lpbjKvXaPJhTOUHjkkLlnsjM7D4uJG9j9SMChFBwYPPN3jreSrbE/tU8OKEezuhYKjVqV7KJtSmlwHnxPZm7GRecH+JsCy6+835K+qR8q5sDoyanFxZ+VlYzRU6TUQ0Y1alBD98NwiyJHbtb9BNOUvhot9lUI=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775066844; c=relaxed/simple;\n\tbh=gLVZnYH8RyztHWedBiBheyvBydAbsVMkC5d77hHYZlI=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=aH9WBzBWl/kdQijCnaE48Lma8Gxq+Mw5I1FiwktcLd49dLdaITrVbOJgZ4HZjCxY7u3Hspc+uZz8AOGo2Hz51wpacxeEeAIVin1EfAMBp72WwWPNFp5clhBNTPE/U5mqR6P2qZzOTiP3IRAlkRTMxFbueiLPdikBcpwczd1gYek=",
        "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=disroot.org;\n spf=pass smtp.mailfrom=disroot.org;\n dkim=pass (2048-bit key) header.d=disroot.org header.i=@disroot.org\n header.b=IjEUXC3r; arc=none smtp.client-ip=178.21.23.139",
        "X-Virus-Scanned": "SPAM Filter at disroot.org",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;\n\tt=1775066833; bh=gLVZnYH8RyztHWedBiBheyvBydAbsVMkC5d77hHYZlI=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References;\n\tb=IjEUXC3rCvU9RlvjHBAGk6Ok/3O6NJPUghKfsq1fQqosjahU7BzqEc+ayCpdJNRFj\n\t T+ALt74drOH+hqy6kxtg54qOtQh3l7ZnN2Uo48WAygRvTJXkdJoD1MhAzsQvoDY8EC\n\t mWnFLxSkgZPHPoDbHUlJcI7KVQB8kuYFxs0iu3RyR+Fk3Yl862giNK2zl8G3cBjdZh\n\t AkFeiGv93c2v/mRnpji9Mlxgm5eA2H8SOls+yPGtzAN+bUqFjvlvXMHf08Ipv5LISk\n\t Cq7Epi6gMLZcPbDxRH2uyDXKCK+jhDzitN5UfIbhL/JL/Yom+9D2/BrfRwPfcKNiCY\n\t f8Gkn7n64hX3g==",
        "From": "Rustam Adilov <adilov@disroot.org>",
        "To": "Chris Packham <chris.packham@alliedtelesis.co.nz>,\n\tAndi Shyti <andi.shyti@kernel.org>,\n\tRob Herring <robh@kernel.org>,\n\tKrzysztof Kozlowski <krzk+dt@kernel.org>,\n\tConor Dooley <conor+dt@kernel.org>,\n\tlinux-i2c@vger.kernel.org,\n\tdevicetree@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org",
        "Cc": "Rustam Adilov <adilov@disroot.org>",
        "Subject": "[PATCH v6 1/8] i2c: rtl9300: split data_reg into read and write reg",
        "Date": "Wed,  1 Apr 2026 23:06:41 +0500",
        "Message-ID": "<20260401180648.337834-2-adilov@disroot.org>",
        "In-Reply-To": "<20260401180648.337834-1-adilov@disroot.org>",
        "References": "<20260401180648.337834-1-adilov@disroot.org>",
        "Precedence": "bulk",
        "X-Mailing-List": "linux-i2c@vger.kernel.org",
        "List-Id": "<linux-i2c.vger.kernel.org>",
        "List-Subscribe": "<mailto:linux-i2c+subscribe@vger.kernel.org>",
        "List-Unsubscribe": "<mailto:linux-i2c+unsubscribe@vger.kernel.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit"
    },
    "content": "In RTL9607C i2c controller, there are 2 separate registers for reads\nand writes as opposed the combined 1 on rtl9300 and rtl9310.\n\nIn preparation for RTL9607C support, split it up into rd_reg and wd_reg\nproperties and change the i2c read and write functions accordingly.\n\nReviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz>\nSigned-off-by: Rustam Adilov <adilov@disroot.org>\n---\n drivers/i2c/busses/i2c-rtl9300.c | 25 +++++++++++++++----------\n 1 file changed, 15 insertions(+), 10 deletions(-)",
    "diff": "diff --git a/drivers/i2c/busses/i2c-rtl9300.c b/drivers/i2c/busses/i2c-rtl9300.c\nindex 67a5c4228fc9..9bf4c6b08e05 100644\n--- a/drivers/i2c/busses/i2c-rtl9300.c\n+++ b/drivers/i2c/busses/i2c-rtl9300.c\n@@ -61,7 +61,8 @@ enum rtl9300_i2c_reg_fields {\n struct rtl9300_i2c_drv_data {\n \tstruct rtl9300_i2c_reg_field field_desc[F_NUM_FIELDS];\n \tint (*select_scl)(struct rtl9300_i2c *i2c, u8 scl);\n-\tu32 data_reg;\n+\tu32 rd_reg;\n+\tu32 wd_reg;\n \tu8 max_nchan;\n };\n \n@@ -74,7 +75,8 @@ struct rtl9300_i2c {\n \tstruct rtl9300_i2c_chan chans[RTL9310_I2C_MUX_NCHAN];\n \tstruct regmap_field *fields[F_NUM_FIELDS];\n \tu32 reg_base;\n-\tu32 data_reg;\n+\tu32 rd_reg;\n+\tu32 wd_reg;\n \tu8 scl_num;\n \tu8 sda_num;\n \tstruct mutex lock;\n@@ -171,7 +173,7 @@ static int rtl9300_i2c_read(struct rtl9300_i2c *i2c, u8 *buf, u8 len)\n \tif (len > 16)\n \t\treturn -EIO;\n \n-\tret = regmap_bulk_read(i2c->regmap, i2c->data_reg, vals, ARRAY_SIZE(vals));\n+\tret = regmap_bulk_read(i2c->regmap, i2c->rd_reg, vals, ARRAY_SIZE(vals));\n \tif (ret)\n \t\treturn ret;\n \n@@ -198,12 +200,12 @@ static int rtl9300_i2c_write(struct rtl9300_i2c *i2c, u8 *buf, u8 len)\n \t\tvals[reg] |= buf[i] << shift;\n \t}\n \n-\treturn regmap_bulk_write(i2c->regmap, i2c->data_reg, vals, ARRAY_SIZE(vals));\n+\treturn regmap_bulk_write(i2c->regmap, i2c->wd_reg, vals, ARRAY_SIZE(vals));\n }\n \n static int rtl9300_i2c_writel(struct rtl9300_i2c *i2c, u32 data)\n {\n-\treturn regmap_write(i2c->regmap, i2c->data_reg, data);\n+\treturn regmap_write(i2c->regmap, i2c->wd_reg, data);\n }\n \n static int rtl9300_i2c_prepare_xfer(struct rtl9300_i2c *i2c, struct rtl9300_i2c_xfer *xfer)\n@@ -268,14 +270,14 @@ static int rtl9300_i2c_do_xfer(struct rtl9300_i2c *i2c, struct rtl9300_i2c_xfer\n \tif (!xfer->write) {\n \t\tswitch (xfer->type) {\n \t\tcase RTL9300_I2C_XFER_BYTE:\n-\t\t\tret = regmap_read(i2c->regmap, i2c->data_reg, &val);\n+\t\t\tret = regmap_read(i2c->regmap, i2c->rd_reg, &val);\n \t\t\tif (ret)\n \t\t\t\treturn ret;\n \n \t\t\t*xfer->data = val & 0xff;\n \t\t\tbreak;\n \t\tcase RTL9300_I2C_XFER_WORD:\n-\t\t\tret = regmap_read(i2c->regmap, i2c->data_reg, &val);\n+\t\t\tret = regmap_read(i2c->regmap, i2c->rd_reg, &val);\n \t\t\tif (ret)\n \t\t\t\treturn ret;\n \n@@ -408,7 +410,8 @@ static int rtl9300_i2c_probe(struct platform_device *pdev)\n \tif (device_get_child_node_count(dev) > drv_data->max_nchan)\n \t\treturn dev_err_probe(dev, -EINVAL, \"Too many channels\\n\");\n \n-\ti2c->data_reg = i2c->reg_base + drv_data->data_reg;\n+\ti2c->rd_reg = i2c->reg_base + drv_data->rd_reg;\n+\ti2c->wd_reg = i2c->reg_base + drv_data->wd_reg;\n \tfor (i = 0; i < F_NUM_FIELDS; i++) {\n \t\tfields[i] = drv_data->field_desc[i].field;\n \t\tif (drv_data->field_desc[i].scope == REG_SCOPE_MASTER)\n@@ -499,7 +502,8 @@ static const struct rtl9300_i2c_drv_data rtl9300_i2c_drv_data = {\n \t\t[F_SDA_SEL]\t\t= GLB_REG_FIELD(RTL9300_I2C_MST_GLB_CTRL, 0, 7),\n \t},\n \t.select_scl = rtl9300_i2c_select_scl,\n-\t.data_reg = RTL9300_I2C_MST_DATA_WORD0,\n+\t.rd_reg = RTL9300_I2C_MST_DATA_WORD0,\n+\t.wd_reg = RTL9300_I2C_MST_DATA_WORD0,\n \t.max_nchan = RTL9300_I2C_MUX_NCHAN,\n };\n \n@@ -519,7 +523,8 @@ static const struct rtl9300_i2c_drv_data rtl9310_i2c_drv_data = {\n \t\t[F_MEM_ADDR]\t\t= MST_REG_FIELD(RTL9310_I2C_MST_MEMADDR_CTRL, 0, 23),\n \t},\n \t.select_scl = rtl9310_i2c_select_scl,\n-\t.data_reg = RTL9310_I2C_MST_DATA_CTRL,\n+\t.rd_reg = RTL9310_I2C_MST_DATA_CTRL,\n+\t.wd_reg = RTL9310_I2C_MST_DATA_CTRL,\n \t.max_nchan = RTL9310_I2C_MUX_NCHAN,\n };\n \n",
    "prefixes": [
        "v6",
        "1/8"
    ]
}