get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2219132,
    "url": "http://patchwork.ozlabs.org/api/patches/2219132/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-ide/patch/91a152e2-a29a-4ea4-9bab-5f9e61510a3e@gmail.com/",
    "project": {
        "id": 13,
        "url": "http://patchwork.ozlabs.org/api/projects/13/?format=api",
        "name": "Linux IDE development",
        "link_name": "linux-ide",
        "list_id": "linux-ide.vger.kernel.org",
        "list_email": "linux-ide@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<91a152e2-a29a-4ea4-9bab-5f9e61510a3e@gmail.com>",
    "list_archive_url": null,
    "date": "2026-04-02T13:31:22",
    "name": "[v2,4/5] ata: libata-transport: split struct ata_internal",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "e1d8546c397da44b2cb1ebdc16f87cb48813f7a9",
    "submitter": {
        "id": 65365,
        "url": "http://patchwork.ozlabs.org/api/people/65365/?format=api",
        "name": "Heiner Kallweit",
        "email": "hkallweit1@gmail.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-ide/patch/91a152e2-a29a-4ea4-9bab-5f9e61510a3e@gmail.com/mbox/",
    "series": [
        {
            "id": 498482,
            "url": "http://patchwork.ozlabs.org/api/series/498482/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-ide/list/?series=498482",
            "date": "2026-04-02T13:30:05",
            "name": "ata: libata-transport: series with further refactorings",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/498482/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2219132/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2219132/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "\n <linux-ide+bounces-5426-incoming=patchwork.ozlabs.org@vger.kernel.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linux-ide@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=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=ptUuOvWd;\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-ide+bounces-5426-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=\"ptUuOvWd\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.128.51",
            "smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com",
            "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=gmail.com"
        ],
        "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)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fmjgC3Xnvz1yCs\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 03 Apr 2026 00:41:11 +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 48B9930C4753\n\tfor <incoming@patchwork.ozlabs.org>; Thu,  2 Apr 2026 13:31:30 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 087202F747A;\n\tThu,  2 Apr 2026 13:31:28 +0000 (UTC)",
            "from mail-wm1-f51.google.com (mail-wm1-f51.google.com\n [209.85.128.51])\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 77062266581\n\tfor <linux-ide@vger.kernel.org>; Thu,  2 Apr 2026 13:31:26 +0000 (UTC)",
            "by mail-wm1-f51.google.com with SMTP id\n 5b1f17b1804b1-486fc4725f0so9198325e9.1\n        for <linux-ide@vger.kernel.org>; Thu, 02 Apr 2026 06:31:26 -0700 (PDT)",
            "from ?IPV6:2003:ea:8f19:9500:c168:ad27:2fdd:9334?\n (p200300ea8f199500c168ad272fdd9334.dip0.t-ipconnect.de.\n [2003:ea:8f19:9500:c168:ad27:2fdd:9334])\n        by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-4887e80a63esm251607115e9.3.2026.04.02.06.31.23\n        (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n        Thu, 02 Apr 2026 06:31:24 -0700 (PDT)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775136687; cv=none;\n b=qB3qqGNgYvx2fHkcI71F1FDSSiS6CDHTlEMsNO7B17Z7GSIxzbpfhy7HkjLLaN7lepB3uItqa2NXTRXobLltd424vdp/os+IdbWNDJJfe8HCiAPCvLEZUtzki2syLSh8MOGVFJyCcr92w9hKTTg52HiA5y+1loKaAHha2de+pa8=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775136687; c=relaxed/simple;\n\tbh=1yfvBaugUTwb2WH1uNPfRl0X4hkseks+JlvvtUV6E8g=;\n\th=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References:\n\t In-Reply-To:Content-Type;\n b=e1EF+ose8jGBrGEsUo4j6ZszQhS8n0u3SgaTY2OAV4yXvfK2T/y0S+bffp2gXGIkM2KGw+RtAtlJee7KdbK5sYXWAwXpWVZ7T3Ex7WDj1bUZn1psz5llkmvuFvmHmMsYm0VPGmizJmYe1YWrX6o9jqd6GBtRkvfRL3GsrZGwjlw=",
        "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com;\n spf=pass smtp.mailfrom=gmail.com;\n dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=ptUuOvWd; arc=none smtp.client-ip=209.85.128.51",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1775136685; x=1775741485;\n darn=vger.kernel.org;\n        h=content-transfer-encoding:in-reply-to:content-language:references\n         :cc:to:from:subject:user-agent:mime-version:date:message-id:from:to\n         :cc:subject:date:message-id:reply-to;\n        bh=Yg9MdfAaSLI0rVc17JGq+XYmdD32tt6ays2WdHnciXM=;\n        b=ptUuOvWdg9b3eIG1+/8275aJOeR2GoYn7jUWxcsPkaOw0Y+MbFYU4GWE8KGrH3L6g2\n         4YUfn97R/NbUISkZSyoNp/Nu2wC1JrRGBgCBtmk+r3p6C3Kg5hPeOGL10VAvfbEMWfjJ\n         veTFbWz30Bs/num1W6T+VquZTOLTN8maTU0WeRGjKjTmF/+TVeopnPKrGsD4V8h7Yv08\n         +qPC3o3QjPxdypsxiFwuFASqiZ+dOcfW9A4yZa6sfpJ7elCnXT9jsx0xzU0hARw2bLMA\n         f604Em6ejzR/Jzu/l6aXL3fT2qJAIK9B4XpczqK/MNhcX05pjXcCRmBr56G+KM2uCr7l\n         vpzw==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1775136685; x=1775741485;\n        h=content-transfer-encoding:in-reply-to:content-language:references\n         :cc:to:from:subject:user-agent:mime-version:date:message-id:x-gm-gg\n         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n        bh=Yg9MdfAaSLI0rVc17JGq+XYmdD32tt6ays2WdHnciXM=;\n        b=j9XfdCh/O+anXExkOqmBz5XO7azl6/ZGU9PEu8t+WXg4BUsKBk9amNtjikxBk1089v\n         JqGPutRfO/U+vxLhIcsoFjgMdrtW7SEqUDAwgsQvHzt9zmNWjBnhBA/5ZKAJQ0wewlQM\n         WgjVmshu0iINWgk7ci6YtReuDdJL6//Gxe5vD6r9en+B8w/yiYz5bmBo+gJv/qTrUDjr\n         i20iCCbmTdWDHOVZDKO7lVZqtNSBvvUDZ7sa5affiPOuRAcOB1tD3tHGG7TRAK/yRUdK\n         /g/DO/641HFLRGE3fiMbexSjcw1nvofeb9fv+p3N2Zy/0O7vLSBzw+T0ZSkAlZfYWDlJ\n         IFrg==",
        "X-Gm-Message-State": "AOJu0YzxqPchCuVI9S7s2RGvvRny64aB0kSt1ZaZq1Ro0d7/sIsCiPjp\n\t29otm/t5Zh4bFM4ReDJJZyXhNvMSdviCdaSsWAUDiFpMd546MuYpewbR",
        "X-Gm-Gg": "ATEYQzzh5V2opDQKFsuBH7+sar4Ei0ywZG0aoaO13qn5ZMyjZnVUboe8BZ2I3NDJqHZ\n\tShddaWuZu6oX1XAaVSmg8+7S1kniLL3+ec8QYaF8BRgDtXqBRYyGDMEMY4apZFhL+wkzYAtKT3B\n\tvzT4j1+17pDkiNo1fQuHcO6L3YoR+boWsCUlp0ajE+TVpw9BDnuKCOHnY1dAzedGtsEeQS9a3lL\n\tyTxAtudsRaqV1NybFTz32Gbgeu7f0E2LCLjEOm8yStuTptQel3EhhkeI5XrkrFFBJWLtjtiUMFB\n\t6e3mNMci9j+9A1GDujESg2Znn3jrk6YndVv9mtkusmkQ7E1rAtdJQU/Nyl+XQ7+QqAVkAfYVMWx\n\tImL5NCCwTLIYlB6u3Wu6y9FWynQ0i7aBAX/TTKH+gA2nmAbO12wJhOABV/UyEu++grVFDKsIolI\n\tWk48oMTGN7GwfYSCWs9EGxeK3QUHJSpkeDK3cOgfDL11Eoyp2ja+tU8fClISPa/hgfMJBVFC7Z4\n\tvrGucjfsJtChFTbI0QwvaaXV3ojO7VL6XcX9gcfdq8nZF4AEiMW7wxBb+/nE7fwFyeI7QsmBoOU",
        "X-Received": "by 2002:a05:600c:8214:b0:485:fbd2:f72 with SMTP id\n 5b1f17b1804b1-4888e01e356mr44327095e9.1.1775136684686;\n        Thu, 02 Apr 2026 06:31:24 -0700 (PDT)",
        "Message-ID": "<91a152e2-a29a-4ea4-9bab-5f9e61510a3e@gmail.com>",
        "Date": "Thu, 2 Apr 2026 15:31:22 +0200",
        "Precedence": "bulk",
        "X-Mailing-List": "linux-ide@vger.kernel.org",
        "List-Id": "<linux-ide.vger.kernel.org>",
        "List-Subscribe": "<mailto:linux-ide+subscribe@vger.kernel.org>",
        "List-Unsubscribe": "<mailto:linux-ide+unsubscribe@vger.kernel.org>",
        "MIME-Version": "1.0",
        "User-Agent": "Mozilla Thunderbird",
        "Subject": "[PATCH v2 4/5] ata: libata-transport: split struct ata_internal",
        "From": "Heiner Kallweit <hkallweit1@gmail.com>",
        "To": "Damien Le Moal <dlemoal@kernel.org>, Niklas Cassel <cassel@kernel.org>",
        "Cc": "linux-ide@vger.kernel.org",
        "References": "<93fc6c62-ed8c-4953-ad7b-522031bb7ed9@gmail.com>",
        "Content-Language": "en-US",
        "In-Reply-To": "<93fc6c62-ed8c-4953-ad7b-522031bb7ed9@gmail.com>",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "7bit"
    },
    "content": "There's no need for an umbrella struct, so remove it. It's also a\nprerequisite for making the embedded struct scsi_transport_template\npublic.\n\nReviewed-by: Damien Le Moal <dlemoal@kernel.org>\nSigned-off-by: Heiner Kallweit <hkallweit1@gmail.com>\n---\n drivers/ata/libata-transport.c | 53 ++++++++++++++++------------------\n 1 file changed, 25 insertions(+), 28 deletions(-)",
    "diff": "diff --git a/drivers/ata/libata-transport.c b/drivers/ata/libata-transport.c\nindex 68ae57a89..538743e88 100644\n--- a/drivers/ata/libata-transport.c\n+++ b/drivers/ata/libata-transport.c\n@@ -40,13 +40,6 @@\n struct scsi_transport_template;\n struct scsi_transport_template *ata_scsi_transport_template;\n \n-struct ata_internal {\n-\tstruct scsi_transport_template t;\n-\n-\tstruct transport_container link_attr_cont;\n-\tstruct transport_container dev_attr_cont;\n-};\n-\n static int ata_tlink_match(struct attribute_container *cont,\n \t\t\t   struct device *dev);\n static int ata_tdev_match(struct attribute_container *cont,\n@@ -729,21 +722,25 @@ int ata_tlink_add(struct ata_link *link)\n \treturn error;\n }\n \n-static struct ata_internal ata_transport_internal = {\n-\t.t.eh_strategy_handler\t= ata_scsi_error,\n-\t.t.user_scan\t\t= ata_scsi_user_scan,\n+static struct scsi_transport_template ata_scsi_transportt = {\n+\t.eh_strategy_handler\t= ata_scsi_error,\n+\t.user_scan\t\t= ata_scsi_user_scan,\n \n-\t.t.host_attrs.ac.class\t= &ata_port_class.class,\n-\t.t.host_attrs.ac.grp\t= &ata_port_attr_group,\n-\t.t.host_attrs.ac.match\t= ata_tport_match,\n+\t.host_attrs.ac.class\t= &ata_port_class.class,\n+\t.host_attrs.ac.grp\t= &ata_port_attr_group,\n+\t.host_attrs.ac.match\t= ata_tport_match,\n+};\n \n-\t.link_attr_cont.ac.class = &ata_link_class.class,\n-\t.link_attr_cont.ac.grp   = &ata_link_attr_group,\n-\t.link_attr_cont.ac.match = ata_tlink_match,\n+static struct transport_container ata_link_attr_cont = {\n+\t.ac.class\t= &ata_link_class.class,\n+\t.ac.grp\t\t= &ata_link_attr_group,\n+\t.ac.match\t= ata_tlink_match,\n+};\n \n-\t.dev_attr_cont.ac.class\t= &ata_dev_class.class,\n-\t.dev_attr_cont.ac.grp\t= &ata_device_attr_group,\n-\t.dev_attr_cont.ac.match\t= ata_tdev_match,\n+static struct transport_container ata_dev_attr_cont = {\n+\t.ac.class\t= &ata_dev_class.class,\n+\t.ac.grp\t\t= &ata_device_attr_group,\n+\t.ac.match\t= ata_tdev_match,\n };\n \n static int ata_tlink_match(struct attribute_container *cont,\n@@ -752,7 +749,7 @@ static int ata_tlink_match(struct attribute_container *cont,\n \tif (!ata_is_link(dev))\n \t\treturn 0;\n \n-\treturn &ata_transport_internal.link_attr_cont.ac == cont;\n+\treturn &ata_link_attr_cont.ac == cont;\n }\n \n static int ata_tdev_match(struct attribute_container *cont,\n@@ -761,7 +758,7 @@ static int ata_tdev_match(struct attribute_container *cont,\n \tif (!ata_is_ata_dev(dev))\n \t\treturn 0;\n \n-\treturn &ata_transport_internal.dev_attr_cont.ac == cont;\n+\treturn &ata_dev_attr_cont.ac == cont;\n }\n \n /*\n@@ -782,11 +779,11 @@ __init int libata_transport_init(void)\n \tif (error)\n \t\tgoto out_unregister_port;\n \n-\ttransport_container_register(&ata_transport_internal.t.host_attrs);\n-\ttransport_container_register(&ata_transport_internal.link_attr_cont);\n-\ttransport_container_register(&ata_transport_internal.dev_attr_cont);\n+\ttransport_container_register(&ata_scsi_transportt.host_attrs);\n+\ttransport_container_register(&ata_link_attr_cont);\n+\ttransport_container_register(&ata_dev_attr_cont);\n \n-\tata_scsi_transport_template = &ata_transport_internal.t;\n+\tata_scsi_transport_template = &ata_scsi_transportt;\n \n \treturn 0;\n \n@@ -801,9 +798,9 @@ __init int libata_transport_init(void)\n \n void __exit libata_transport_exit(void)\n {\n-\ttransport_container_unregister(&ata_transport_internal.t.host_attrs);\n-\ttransport_container_unregister(&ata_transport_internal.link_attr_cont);\n-\ttransport_container_unregister(&ata_transport_internal.dev_attr_cont);\n+\ttransport_container_unregister(&ata_scsi_transportt.host_attrs);\n+\ttransport_container_unregister(&ata_link_attr_cont);\n+\ttransport_container_unregister(&ata_dev_attr_cont);\n \n \ttransport_class_unregister(&ata_link_class);\n \ttransport_class_unregister(&ata_port_class);\n",
    "prefixes": [
        "v2",
        "4/5"
    ]
}