get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 814473,
    "url": "http://patchwork.ozlabs.org/api/patches/814473/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/1505538646-19191-9-git-send-email-yamada.masahiro@socionext.com/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api",
        "name": "U-Boot",
        "link_name": "uboot",
        "list_id": "u-boot.lists.denx.de",
        "list_email": "u-boot@lists.denx.de",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1505538646-19191-9-git-send-email-yamada.masahiro@socionext.com>",
    "list_archive_url": null,
    "date": "2017-09-16T05:10:46",
    "name": "[U-Boot,v2,8/8] dm: define dev_*() log functions in DM header",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "64fb3633ca48f289fc602dfba67381c440490975",
    "submitter": {
        "id": 65882,
        "url": "http://patchwork.ozlabs.org/api/people/65882/?format=api",
        "name": "Masahiro Yamada",
        "email": "yamada.masahiro@socionext.com"
    },
    "delegate": {
        "id": 3651,
        "url": "http://patchwork.ozlabs.org/api/users/3651/?format=api",
        "username": "trini",
        "first_name": "Tom",
        "last_name": "Rini",
        "email": "trini@ti.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/1505538646-19191-9-git-send-email-yamada.masahiro@socionext.com/mbox/",
    "series": [
        {
            "id": 3418,
            "url": "http://patchwork.ozlabs.org/api/series/3418/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=3418",
            "date": "2017-09-16T05:10:45",
            "name": "Sync and consolidate Linux-derived printk, BUILD_BUG, BUG, WARN, etc.",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/3418/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/814473/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/814473/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<u-boot-bounces@lists.denx.de>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=nifty.com header.i=@nifty.com\n\theader.b=\"yngVqRMt\"; dkim-atps=neutral"
        ],
        "Received": [
            "from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xvL805B14z9s81\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat, 16 Sep 2017 15:15:44 +1000 (AEST)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid 66ADEC2203E; Sat, 16 Sep 2017 05:12:50 +0000 (UTC)",
            "from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 4C9B4C21F77;\n\tSat, 16 Sep 2017 05:11:40 +0000 (UTC)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid 38DECC21FD4; Sat, 16 Sep 2017 05:11:32 +0000 (UTC)",
            "from conuserg-09.nifty.com (conuserg-09.nifty.com [210.131.2.76])\n\tby lists.denx.de (Postfix) with ESMTPS id 9DB57C21F92\n\tfor <u-boot@lists.denx.de>; Sat, 16 Sep 2017 05:11:27 +0000 (UTC)",
            "from grover.sesame (FL1-122-131-185-176.osk.mesh.ad.jp\n\t[122.131.185.176]) (authenticated)\n\tby conuserg-09.nifty.com with ESMTP id v8G5Asos028761;\n\tSat, 16 Sep 2017 14:10:59 +0900"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=0.0 required=5.0 tests=T_DKIM_INVALID\n\tautolearn=unavailable autolearn_force=no version=3.4.0",
        "DKIM-Filter": "OpenDKIM Filter v2.10.3 conuserg-09.nifty.com v8G5Asos028761",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com;\n\ts=dec2015msa; t=1505538660;\n\tbh=AYeozuhoNOpQYKSVFS8NvnkYBU+utfvaBBytcrX7L50=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=yngVqRMtffU7k6sVY0z/zEnDSUOmTOu+Nd+MxWNl+vhWBDGbnWZhwoYHDJDO30ZHe\n\tW/oDH7SllimaIJnVQE3/smjcmEShEMuDEXQS6vnxmaKcER2ZKdbiucwZIaCoFvI8T+\n\tZ2StkWTvWaZytZGbyN4yxNF4XQV7bVFAGZHk7XGboQU9MmIY9hL+pBMFZcR7VG+TK0\n\tOjqgHn/8cH2hCPaW/H98yWi+dG7upFiXpS7SFuOJgW8Csxbh+UFD8M+Qj4Buo38sGt\n\tNbZwpA15isIqJPNnwMyB4VBmz8ET7ePsk0hrRPRry64U30Sw2BBNkAKRANfuo+RQKU\n\tZL5tXRK5nWdUQ==",
        "X-Nifty-SrcIP": "[122.131.185.176]",
        "From": "Masahiro Yamada <yamada.masahiro@socionext.com>",
        "To": "u-boot@lists.denx.de",
        "Date": "Sat, 16 Sep 2017 14:10:46 +0900",
        "Message-Id": "<1505538646-19191-9-git-send-email-yamada.masahiro@socionext.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1505538646-19191-1-git-send-email-yamada.masahiro@socionext.com>",
        "References": "<1505538646-19191-1-git-send-email-yamada.masahiro@socionext.com>",
        "Subject": "[U-Boot] [PATCH v2 8/8] dm: define dev_*() log functions in DM\n\theader",
        "X-BeenThere": "u-boot@lists.denx.de",
        "X-Mailman-Version": "2.1.18",
        "Precedence": "list",
        "List-Id": "U-Boot discussion <u-boot.lists.denx.de>",
        "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>",
        "List-Archive": "<http://lists.denx.de/pipermail/u-boot/>",
        "List-Post": "<mailto:u-boot@lists.denx.de>",
        "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>",
        "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "u-boot-bounces@lists.denx.de",
        "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>"
    },
    "content": "Many drivers use dev_err, dev_info, etc. for logging.  Currently,\nwe are relying on <linux/compat.h>, but I guess the best home is\n<dm/device.h>, taking into account that Linux defines them in\n<linux/device.h>.\n\nFor now, I am keeping the ones in <linux/compat.h> because lots of\nLinux-originated code uses dev_*() just for the purpose of syncing,\nbut the first argument is not struct udevice, so we need to ignore\nit.  Once this issue is ironed out, it would be possible to prefix\nlog messages with a device name that emitted it, like Linux.\n\nSigned-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>\n---\n\nChanges in v2:\n  - newly added\n\n include/dm/device.h    | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++\n include/linux/compat.h | 17 ++++++++++++\n 2 files changed, 89 insertions(+)",
    "diff": "diff --git a/include/dm/device.h b/include/dm/device.h\nindex 4866f7c0028b..cce60b7ed3fd 100644\n--- a/include/dm/device.h\n+++ b/include/dm/device.h\n@@ -18,6 +18,7 @@\n #include <linux/compat.h>\n #include <linux/kernel.h>\n #include <linux/list.h>\n+#include <linux/printk.h>\n \n struct driver_info;\n \n@@ -879,4 +880,75 @@ static inline void devm_kfree(struct udevice *dev, void *ptr)\n \n #endif /* ! CONFIG_DEVRES */\n \n+/*\n+ * REVISIT:\n+ * remove the following after resolving conflicts with <linux/compat.h>\n+ */\n+#ifdef dev_dbg\n+#undef dev_dbg\n+#endif\n+#ifdef dev_vdbg\n+#undef dev_vdbg\n+#endif\n+#ifdef dev_info\n+#undef dev_info\n+#endif\n+#ifdef dev_err\n+#undef dev_err\n+#endif\n+#ifdef dev_warn\n+#undef dev_warn\n+#endif\n+\n+/*\n+ * REVISIT:\n+ * print device name like Linux\n+ */\n+#define dev_printk(dev, fmt, ...)\t\t\t\t\\\n+({\t\t\t\t\t\t\t\t\\\n+\tprintk(fmt, ##__VA_ARGS__);\t\t\t\t\\\n+})\n+\n+#define __dev_printk(level, dev, fmt, ...)\t\t\t\\\n+({\t\t\t\t\t\t\t\t\\\n+\tif (level < CONFIG_LOGLEVEL)\t\t\t\t\\\n+\t\tdev_printk(dev, fmt, ##__VA_ARGS__);\t\t\\\n+})\n+\n+#define dev_emerge(dev, fmt, ...) \\\n+\t__dev_printk(0, dev, fmt, ##__VA_ARGS__)\n+#define dev_alert(dev, fmt, ...) \\\n+\t__dev_printk(1, dev, fmt, ##__VA_ARGS__)\n+#define dev_crit(dev, fmt, ...) \\\n+\t__dev_printk(2, dev, fmt, ##__VA_ARGS__)\n+#define dev_err(dev, fmt, ...) \\\n+\t__dev_printk(3, dev, fmt, ##__VA_ARGS__)\n+#define dev_warn(dev, fmt, ...) \\\n+\t__dev_printk(4, dev, fmt, ##__VA_ARGS__)\n+#define dev_notice(dev, fmt, ...) \\\n+\t__dev_printk(5, dev, fmt, ##__VA_ARGS__)\n+#define dev_info(dev, fmt, ...) \\\n+\t__dev_printk(6, dev, fmt, ##__VA_ARGS__)\n+\n+#ifdef DEBUG\n+#define dev_dbg(dev, fmt, ...) \\\n+\t__dev_printk(7, dev, fmt, ##__VA_ARGS__)\n+#else\n+#define dev_dbg(dev, fmt, ...)\t\t\t\t\t\\\n+({\t\t\t\t\t\t\t\t\\\n+\tif (0)\t\t\t\t\t\t\t\\\n+\t\t__dev_printk(7, dev, fmt, ##__VA_ARGS__);\t\\\n+})\n+#endif\n+\n+#ifdef VERBOSE_DEBUG\n+#define dev_vdbg\tdev_dbg\n+#else\n+#define dev_vdbg(dev, fmt, ...)\t\t\t\t\t\\\n+({\t\t\t\t\t\t\t\t\\\n+\tif (0)\t\t\t\t\t\t\t\\\n+\t\t__dev_printk(7, dev, fmt, ##__VA_ARGS__);\t\\\n+})\n+#endif\n+\n #endif\ndiff --git a/include/linux/compat.h b/include/linux/compat.h\nindex 1b3f089687e4..8711fe2b48c4 100644\n--- a/include/linux/compat.h\n+++ b/include/linux/compat.h\n@@ -15,6 +15,23 @@ struct p_current{\n \n extern struct p_current *current;\n \n+/* avoid conflict with <dm/device.h> */\n+#ifdef dev_dbg\n+#undef dev_dbg\n+#endif\n+#ifdef dev_vdbg\n+#undef dev_vdbg\n+#endif\n+#ifdef dev_info\n+#undef dev_info\n+#endif\n+#ifdef dev_err\n+#undef dev_err\n+#endif\n+#ifdef dev_warn\n+#undef dev_warn\n+#endif\n+\n #define dev_dbg(dev, fmt, args...)\t\t\\\n \tdebug(fmt, ##args)\n #define dev_vdbg(dev, fmt, args...)\t\t\\\n",
    "prefixes": [
        "U-Boot",
        "v2",
        "8/8"
    ]
}