get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 806979,
    "url": "http://patchwork.ozlabs.org/api/patches/806979/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/skiboot/patch/20170829064840.3808-1-wak@google.com/",
    "project": {
        "id": 44,
        "url": "http://patchwork.ozlabs.org/api/projects/44/?format=api",
        "name": "skiboot firmware development",
        "link_name": "skiboot",
        "list_id": "skiboot.lists.ozlabs.org",
        "list_email": "skiboot@lists.ozlabs.org",
        "web_url": "http://github.com/open-power/skiboot",
        "scm_url": "http://github.com/open-power/skiboot",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20170829064840.3808-1-wak@google.com>",
    "list_archive_url": null,
    "date": "2017-08-29T06:48:40",
    "name": "flash: Support adding the no-erase property to flash",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "45ce2870d7380ad986f63db0fce44f07415ed9ae",
    "submitter": {
        "id": 70409,
        "url": "http://patchwork.ozlabs.org/api/people/70409/?format=api",
        "name": "William Kennington",
        "email": "wak@google.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/skiboot/patch/20170829064840.3808-1-wak@google.com/mbox/",
    "series": [
        {
            "id": 314,
            "url": "http://patchwork.ozlabs.org/api/series/314/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/skiboot/list/?series=314",
            "date": "2017-08-29T06:48:40",
            "name": "flash: Support adding the no-erase property to flash",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/314/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/806979/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/806979/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "skiboot@lists.ozlabs.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@bilbo.ozlabs.org",
            "skiboot@lists.ozlabs.org"
        ],
        "Received": [
            "from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xhK3y6076z9ryr\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 29 Aug 2017 16:49:02 +1000 (AEST)",
            "from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xhK3y4pmjzDqgj\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 29 Aug 2017 16:49:02 +1000 (AEST)",
            "from mail-pg0-x24a.google.com (mail-pg0-x24a.google.com\n\t[IPv6:2607:f8b0:400e:c05::24a])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3xhK3f596TzDqJs\n\tfor <skiboot@lists.ozlabs.org>; Tue, 29 Aug 2017 16:48:46 +1000 (AEST)",
            "by mail-pg0-x24a.google.com with SMTP id r133so7183490pgr.0\n\tfor <skiboot@lists.ozlabs.org>; Mon, 28 Aug 2017 23:48:46 -0700 (PDT)"
        ],
        "Authentication-Results": [
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=google.com header.i=@google.com\n\theader.b=\"HZFrPr8x\"; dkim-atps=neutral",
            "lists.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=google.com header.i=@google.com\n\theader.b=\"HZFrPr8x\"; dkim-atps=neutral",
            "lists.ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=google.com header.i=@google.com\n\theader.b=\"HZFrPr8x\"; dkim-atps=neutral"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n\ts=20161025; \n\th=mime-version:date:message-id:subject:from:to:cc;\n\tbh=T2jZWcoxCLsM4bHCb+6wt6cXbCNJT4maVdBMoXqv2AI=;\n\tb=HZFrPr8xYSYa6FwRKYLQUPsqfYOTwoBzbt0XG5/zAV+b3fFbP7RsV9AJID+wvV6HqD\n\tPyQF176LjmVvnE3f5nra6SG4AazSYjlchGSUNhnJshh/u/I6Wt/P4jurzQ9YKqKD/WT0\n\t3aDFQhBIwKxFWO7JzGk8CXBNeK+qicDSDvAUhuF6viD4m7yDX5cpGHYGCTjnKc9F2/2S\n\tke50m02lWCN4PDHbofP5zcU66ujS7+UnqP5h0/nEfqrtZgag0MVPCGimVA5uDWtUm2eE\n\t/36yuBi+/YcIoStb4RkVhKfM6lnGu/g+wjX1Zu5dTJs8cvtYnxk/58u4U6z9Ri7thIWC\n\t3Dmg==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:date:message-id:subject:from:to:cc; \n\tbh=T2jZWcoxCLsM4bHCb+6wt6cXbCNJT4maVdBMoXqv2AI=;\n\tb=jsybYp0Bd4LEQzJNhv4DL7ldVxa6dXZpJ42qVKwjTIB4oTwUGQUacc72XinayaMCwk\n\tWAwsbgmYDjKwxI95/8IT5qRs/zzAfSEUm7X8m8qe8UOl+S86nErzGnbHvCICtvPQYAgI\n\tTcgisQ7N4SqXeImVaY1Dm9PiTs0BCsRB0v5Pq/ebmxf6fAd6xZRDZ/auazbfbEZgYzp+\n\t4Fk/1UV/9+6eEC2qGauV2s/1g/66ii1gX9QxAbGYwY9L1XnCBQUt0g/4OBn9NFPw8E+T\n\tfEZ4tps0ESi1i9e0dI7K5kUzeArH6EjFQFlJ/ZPGzE+TlafNaq6GkYKPhC/JKne6thep\n\tKA4A==",
        "X-Gm-Message-State": "AHYfb5jloXYqOvdakslGIv7R0INTVftoW5tQTx5e5Ir3F47vDWBC09Ah\n\tbHSN+qmnU6TtMabTrerwab8mvtnfIpp9nJjtF7rw3m5EbulkbV4989381AQCnb2e7vCwLLE16j6\n\tK3e4hgEyn4OsrNJqgp2dsTVdY3B6NVCtYMbFe16ua1+CTkIs=",
        "X-Google-Smtp-Source": "ADKCNb5y6s1rnCx62swcbrR7HyHERw+v26+N01cK9DFu+/ZtgCwiAPiN/d5C+NCFaOHyYnXqT4jeNzs=",
        "MIME-Version": "1.0",
        "X-Received": "by 10.99.112.20 with SMTP id l20mr2112627pgc.18.1503989324218;\n\tMon, 28 Aug 2017 23:48:44 -0700 (PDT)",
        "Date": "Mon, 28 Aug 2017 23:48:40 -0700",
        "Message-Id": "<20170829064840.3808-1-wak@google.com>",
        "X-Mailer": "git-send-email 2.13.1",
        "From": "\"William A. Kennington III\" <wak@google.com>",
        "To": "skiboot@lists.ozlabs.org",
        "Subject": "[Skiboot] [PATCH] flash: Support adding the no-erase property to\n\tflash",
        "X-BeenThere": "skiboot@lists.ozlabs.org",
        "X-Mailman-Version": "2.1.23",
        "Precedence": "list",
        "List-Id": "Mailing list for skiboot development <skiboot.lists.ozlabs.org>",
        "List-Unsubscribe": "<https://lists.ozlabs.org/options/skiboot>,\n\t<mailto:skiboot-request@lists.ozlabs.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.ozlabs.org/pipermail/skiboot/>",
        "List-Post": "<mailto:skiboot@lists.ozlabs.org>",
        "List-Help": "<mailto:skiboot-request@lists.ozlabs.org?subject=help>",
        "List-Subscribe": "<https://lists.ozlabs.org/listinfo/skiboot>,\n\t<mailto:skiboot-request@lists.ozlabs.org?subject=subscribe>",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org",
        "Sender": "\"Skiboot\"\n\t<skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>"
    },
    "content": "Currently, flash devices like mbox-flash ignore erase commands. This\nmeans that issuing an erase from userspace, through the mtd device, and\nback returns a successful operation that does nothing. Unfortunately\nthis makes userspace tools unhappy. Linux MTD devices support the\nMTD_NO_ERASE flag which conveys that writes do not require erases on the\nunderlying flash devices. We should set this property on all of our\ndevices which do not require erases to be performed.\n\nNOTE: This still requires a linux kernel component to set the\nMTD_NO_ERASE flag from the device tree property.\n\nSigned-off-by: William A. Kennington III <wak@google.com>\n---\n core/flash.c | 4 ++++\n 1 file changed, 4 insertions(+)",
    "diff": "diff --git a/core/flash.c b/core/flash.c\nindex 53e6eba08..9e230174f 100644\n--- a/core/flash.c\n+++ b/core/flash.c\n@@ -31,6 +31,7 @@\n struct flash {\n \tstruct list_node\tlist;\n \tbool\t\t\tbusy;\n+\tbool\t\t\tno_erase;\n \tstruct blocklevel_device *bl;\n \tuint64_t\t\tsize;\n \tuint32_t\t\tblock_size;\n@@ -199,6 +200,8 @@ static struct dt_node *flash_add_dt_node(struct flash *flash, int id)\n \tdt_add_property_u64(flash_node, \"reg\", flash->size);\n \tdt_add_property_cells(flash_node, \"ibm,flash-block-size\",\n \t\t\tflash->block_size);\n+\tif (flash->no_erase)\n+\t\tdt_add_property(flash_node, \"no-erase\", NULL, 0);\n \n \t/* we fix to 32-bits */\n \tdt_add_property_cells(flash_node, \"#address-cells\", 1);\n@@ -281,6 +284,7 @@ int flash_register(struct blocklevel_device *bl)\n \n \tflash->busy = false;\n \tflash->bl = bl;\n+\tflash->no_erase = !(bl->flags & WRITE_NEED_ERASE);\n \tflash->size = size;\n \tflash->block_size = block_size;\n \tflash->id = num_flashes();\n",
    "prefixes": []
}