get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 284074,
    "url": "http://patchwork.ozlabs.org/api/patches/284074/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/1381982022-19291-8-git-send-email-rusty@rustcorp.com.au/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api",
        "name": "QEMU Development",
        "link_name": "qemu-devel",
        "list_id": "qemu-devel.nongnu.org",
        "list_email": "qemu-devel@nongnu.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1381982022-19291-8-git-send-email-rusty@rustcorp.com.au>",
    "list_archive_url": null,
    "date": "2013-10-17T03:53:42",
    "name": "[7/7] hw/char/virtio-serial-bus: use virtio wrappers to access headers.",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "86a2b78bec1d5cb3072673d483ce685ec3387b86",
    "submitter": {
        "id": 553,
        "url": "http://patchwork.ozlabs.org/api/people/553/?format=api",
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/1381982022-19291-8-git-send-email-rusty@rustcorp.com.au/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/284074/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/284074/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Received": [
            "from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(Client did not present a certificate)\n\tby ozlabs.org (Postfix) with ESMTPS id 294102C00CA\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 17 Oct 2013 14:59:39 +1100 (EST)",
            "from localhost ([::1]:50207 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1VWekL-0007br-3X\n\tfor incoming@patchwork.ozlabs.org; Wed, 16 Oct 2013 23:59:37 -0400",
            "from eggs.gnu.org ([2001:4830:134:3::10]:59632)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <rusty@ozlabs.org>) id 1VWejj-0007ac-NX\n\tfor qemu-devel@nongnu.org; Wed, 16 Oct 2013 23:59:00 -0400",
            "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <rusty@ozlabs.org>) id 1VWeji-0001Ew-MP\n\tfor qemu-devel@nongnu.org; Wed, 16 Oct 2013 23:58:59 -0400",
            "from ozlabs.org ([2402:b800:7003:1:1::1]:34347)\n\tby eggs.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <rusty@ozlabs.org>) id 1VWeji-0001Ef-2f\n\tfor qemu-devel@nongnu.org; Wed, 16 Oct 2013 23:58:58 -0400",
            "by ozlabs.org (Postfix, from userid 1011)\n\tid 079932C00E0; Thu, 17 Oct 2013 14:58:50 +1100 (EST)"
        ],
        "From": "Rusty Russell <rusty@rustcorp.com.au>",
        "To": "\"Marc Zyngier\" <marc.zyngier@arm.com>,\n\tqemu-devel@nongnu.org",
        "Date": "Thu, 17 Oct 2013 14:23:42 +1030",
        "Message-Id": "<1381982022-19291-8-git-send-email-rusty@rustcorp.com.au>",
        "X-Mailer": "git-send-email 1.8.1.2",
        "In-Reply-To": "<1381982022-19291-1-git-send-email-rusty@rustcorp.com.au>",
        "References": "<1381982022-19291-1-git-send-email-rusty@rustcorp.com.au>",
        "X-detected-operating-system": "by eggs.gnu.org: Error: Malformed IPv6 address\n\t(bad octet value).",
        "X-Received-From": "2402:b800:7003:1:1::1",
        "Cc": "Rusty Russell <rusty@rustcorp.com.au>",
        "Subject": "[Qemu-devel] [PATCH 7/7] hw/char/virtio-serial-bus: use virtio\n\twrappers to access headers.",
        "X-BeenThere": "qemu-devel@nongnu.org",
        "X-Mailman-Version": "2.1.14",
        "Precedence": "list",
        "List-Id": "<qemu-devel.nongnu.org>",
        "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.nongnu.org/archive/html/qemu-devel>",
        "List-Post": "<mailto:qemu-devel@nongnu.org>",
        "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>",
        "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>",
        "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org",
        "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"
    },
    "content": "Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>\nReviewed-by: Anthony Liguori <aliguori@us.ibm.com>\n---\n hw/char/virtio-serial-bus.c | 34 ++++++++++++++++++----------------\n 1 file changed, 18 insertions(+), 16 deletions(-)",
    "diff": "diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c\nindex 703f026..2dc0ccf 100644\n--- a/hw/char/virtio-serial-bus.c\n+++ b/hw/char/virtio-serial-bus.c\n@@ -24,6 +24,7 @@\n #include \"hw/sysbus.h\"\n #include \"trace.h\"\n #include \"hw/virtio/virtio-serial.h\"\n+#include \"hw/virtio/virtio-access.h\"\n \n static VirtIOSerialPort *find_port_by_id(VirtIOSerial *vser, uint32_t id)\n {\n@@ -185,9 +186,9 @@ static size_t send_control_event(VirtIOSerial *vser, uint32_t port_id,\n {\n     struct virtio_console_control cpkt;\n \n-    stl_p(&cpkt.id, port_id);\n-    stw_p(&cpkt.event, event);\n-    stw_p(&cpkt.value, value);\n+    virtio_stl_p(&cpkt.id, port_id);\n+    virtio_stw_p(&cpkt.event, event);\n+    virtio_stw_p(&cpkt.value, value);\n \n     trace_virtio_serial_send_control_event(port_id, event, value);\n     return send_control_msg(vser, &cpkt, sizeof(cpkt));\n@@ -291,8 +292,8 @@ static void handle_control_message(VirtIOSerial *vser, void *buf, size_t len)\n         return;\n     }\n \n-    cpkt.event = lduw_p(&gcpkt->event);\n-    cpkt.value = lduw_p(&gcpkt->value);\n+    cpkt.event = virtio_lduw_p(&gcpkt->event);\n+    cpkt.value = virtio_lduw_p(&gcpkt->value);\n \n     trace_virtio_serial_handle_control_message(cpkt.event, cpkt.value);\n \n@@ -312,10 +313,10 @@ static void handle_control_message(VirtIOSerial *vser, void *buf, size_t len)\n         return;\n     }\n \n-    port = find_port_by_id(vser, ldl_p(&gcpkt->id));\n+    port = find_port_by_id(vser, virtio_ldl_p(&gcpkt->id));\n     if (!port) {\n         error_report(\"virtio-serial-bus: Unexpected port id %u for device %s\",\n-                     ldl_p(&gcpkt->id), vser->bus.qbus.name);\n+                     virtio_ldl_p(&gcpkt->id), vser->bus.qbus.name);\n         return;\n     }\n \n@@ -342,9 +343,9 @@ static void handle_control_message(VirtIOSerial *vser, void *buf, size_t len)\n         }\n \n         if (port->name) {\n-            stl_p(&cpkt.id, port->id);\n-            stw_p(&cpkt.event, VIRTIO_CONSOLE_PORT_NAME);\n-            stw_p(&cpkt.value, 1);\n+            virtio_stl_p(&cpkt.id, port->id);\n+            virtio_stw_p(&cpkt.event, VIRTIO_CONSOLE_PORT_NAME);\n+            virtio_stw_p(&cpkt.value, 1);\n \n             buffer_len = sizeof(cpkt) + strlen(port->name) + 1;\n             buffer = g_malloc(buffer_len);\n@@ -536,7 +537,7 @@ static void virtio_serial_save(QEMUFile *f, void *opaque)\n     qemu_put_be32s(f, &s->config.max_nr_ports);\n \n     /* The ports map */\n-    max_nr_ports = tswap32(s->config.max_nr_ports);\n+    max_nr_ports = virtio_tswap32(s->config.max_nr_ports);\n     for (i = 0; i < (max_nr_ports + 31) / 32; i++) {\n         qemu_put_be32s(f, &s->ports_map[i]);\n     }\n@@ -690,8 +691,8 @@ static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id)\n     qemu_get_be16s(f, &s->config.rows);\n \n     qemu_get_be32s(f, &max_nr_ports);\n-    tswap32s(&max_nr_ports);\n-    if (max_nr_ports > tswap32(s->config.max_nr_ports)) {\n+    virtio_tswap32s(&max_nr_ports);\n+    if (max_nr_ports > virtio_tswap32(s->config.max_nr_ports)) {\n         /* Source could have had more ports than us. Fail migration. */\n         return -EINVAL;\n     }\n@@ -760,7 +761,7 @@ static uint32_t find_free_port_id(VirtIOSerial *vser)\n {\n     unsigned int i, max_nr_ports;\n \n-    max_nr_ports = tswap32(vser->config.max_nr_ports);\n+    max_nr_ports = virtio_tswap32(vser->config.max_nr_ports);\n     for (i = 0; i < (max_nr_ports + 31) / 32; i++) {\n         uint32_t map, bit;\n \n@@ -846,7 +847,7 @@ static int virtser_port_qdev_init(DeviceState *qdev)\n         }\n     }\n \n-    max_nr_ports = tswap32(port->vser->config.max_nr_ports);\n+    max_nr_ports = virtio_tswap32(port->vser->config.max_nr_ports);\n     if (port->id >= max_nr_ports) {\n         error_report(\"virtio-serial-bus: Out-of-range port id specified, max. allowed: %u\",\n                      max_nr_ports - 1);\n@@ -946,7 +947,8 @@ static int virtio_serial_device_init(VirtIODevice *vdev)\n         vser->ovqs[i] = virtio_add_queue(vdev, 128, handle_output);\n     }\n \n-    vser->config.max_nr_ports = tswap32(vser->serial.max_virtserial_ports);\n+    vser->config.max_nr_ports =\n+        virtio_tswap32(vser->serial.max_virtserial_ports);\n     vser->ports_map = g_malloc0(((vser->serial.max_virtserial_ports + 31) / 32)\n         * sizeof(vser->ports_map[0]));\n     /*\n",
    "prefixes": [
        "7/7"
    ]
}