get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 806087,
    "url": "http://patchwork.ozlabs.org/api/patches/806087/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/netdev/patch/20170826072125.9790-5-hch@lst.de/",
    "project": {
        "id": 7,
        "url": "http://patchwork.ozlabs.org/api/projects/7/?format=api",
        "name": "Linux network development",
        "link_name": "netdev",
        "list_id": "netdev.vger.kernel.org",
        "list_email": "netdev@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20170826072125.9790-5-hch@lst.de>",
    "list_archive_url": null,
    "date": "2017-08-26T07:21:25",
    "name": "[4/4] dma-mapping: remove dma_alloc_noncoherent and dma_free_noncoherent",
    "commit_ref": null,
    "pull_url": null,
    "state": "not-applicable",
    "archived": true,
    "hash": "d3f93782735d6768f176be376362e23a30c19f2c",
    "submitter": {
        "id": 82,
        "url": "http://patchwork.ozlabs.org/api/people/82/?format=api",
        "name": "Christoph Hellwig",
        "email": "hch@lst.de"
    },
    "delegate": {
        "id": 34,
        "url": "http://patchwork.ozlabs.org/api/users/34/?format=api",
        "username": "davem",
        "first_name": "David",
        "last_name": "Miller",
        "email": "davem@davemloft.net"
    },
    "mbox": "http://patchwork.ozlabs.org/project/netdev/patch/20170826072125.9790-5-hch@lst.de/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/806087/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/806087/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<netdev-owner@vger.kernel.org>",
        "X-Original-To": "patchwork-incoming@ozlabs.org",
        "Delivered-To": "patchwork-incoming@ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=infradead.org header.i=@infradead.org\n\theader.b=\"BbG9ejR+\"; dkim-atps=neutral"
        ],
        "Received": [
            "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xfTxb5Dmdz9s8w\n\tfor <patchwork-incoming@ozlabs.org>;\n\tSat, 26 Aug 2017 17:22:11 +1000 (AEST)",
            "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1754524AbdHZHV5 (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tSat, 26 Aug 2017 03:21:57 -0400",
            "from bombadil.infradead.org ([65.50.211.133]:59420 \"EHLO\n\tbombadil.infradead.org\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1754506AbdHZHVu (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Sat, 26 Aug 2017 03:21:50 -0400",
            "from 178.114.158.16.wireless.dyn.drei.com ([178.114.158.16]\n\thelo=localhost)\n\tby bombadil.infradead.org with esmtpsa (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dlVPh-0003FL-IT; Sat, 26 Aug 2017 07:21:50 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=infradead.org; s=bombadil.20170209;\n\th=References:In-Reply-To:Message-Id:\n\tDate:Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type:\n\tContent-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:\n\tList-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive;\n\tbh=CLjf7ZGVOPn2PMCdY89gVSvSujJ4y7EKgtU4hOJAZQI=;\n\tb=BbG9ejR+apCPodmNBptzRxhEE\n\t0PpuqhQOHHjAv+LIiC+wn7v/4ffdhc2deTwvDgRNmbLm8+q+MDnZZbWU+EZhKbopd5Cwlv2Z2ChQn\n\tGWXhp68z/LCQF1UtnZutL404g+Uh5whNcKtoKOWy2nBG4i3JRyNd4KFeDWtJpVs1reZ8Xs8XnbVdN\n\tss0Dyya78hgHT+QfhITcaSNCZJfV2w0tPobMKHTC3KE4zXjhzZWWGuhGUJ46uwTDXJkXavyRiQAfy\n\tiE3V6T/qV3T1zLol/9C1Zq74L7JI8gd/fcPBUNGm6dV4tn59+Jngi3y6W2isdSzFvimFSBXHyK0GY\n\tp2E5LfH2w==;",
        "From": "Christoph Hellwig <hch@lst.de>",
        "To": "netdev@vger.kernel.org",
        "Cc": "\"David S. Miller\" <davem@davemloft.net>,\n\tRalf Baechle <ralf@linux-mips.org>, linux-mips@vger.kernel.org,\n\tlinux-parisc@vger.kernel.org, linux-kernel@vger.kernel.org",
        "Subject": "[PATCH 4/4] dma-mapping: remove dma_alloc_noncoherent and\n\tdma_free_noncoherent",
        "Date": "Sat, 26 Aug 2017 09:21:25 +0200",
        "Message-Id": "<20170826072125.9790-5-hch@lst.de>",
        "X-Mailer": "git-send-email 2.11.0",
        "In-Reply-To": "<20170826072125.9790-1-hch@lst.de>",
        "References": "<20170826072125.9790-1-hch@lst.de>",
        "X-SRS-Rewrite": "SMTP reverse-path rewritten from <hch@infradead.org> by\n\tbombadil.infradead.org. See http://www.infradead.org/rpr.html",
        "Sender": "netdev-owner@vger.kernel.org",
        "Precedence": "bulk",
        "List-ID": "<netdev.vger.kernel.org>",
        "X-Mailing-List": "netdev@vger.kernel.org"
    },
    "content": "No users left, everyone switched to the _attrs versions.\n\nSigned-off-by: Christoph Hellwig <hch@lst.de>\n---\n Documentation/DMA-API.txt            | 30 ++++++++++++++++--------------\n arch/metag/include/asm/dma-mapping.h |  2 +-\n arch/nios2/include/asm/dma-mapping.h |  2 +-\n arch/tile/include/asm/dma-mapping.h  |  4 ++--\n include/linux/dma-mapping.h          | 14 --------------\n 5 files changed, 20 insertions(+), 32 deletions(-)",
    "diff": "diff --git a/Documentation/DMA-API.txt b/Documentation/DMA-API.txt\nindex 45b29326d719..ef3a04fcad65 100644\n--- a/Documentation/DMA-API.txt\n+++ b/Documentation/DMA-API.txt\n@@ -515,14 +515,15 @@ API at all.\n ::\n \n \tvoid *\n-\tdma_alloc_noncoherent(struct device *dev, size_t size,\n-\t\t\t      dma_addr_t *dma_handle, gfp_t flag)\n+\tdma_alloc_attrs(struct device *dev, size_t size, dma_addr_t *dma_handle,\n+\t\t\tgfp_t flag, unsigned long attrs)\n \n-Identical to dma_alloc_coherent() except that the platform will\n-choose to return either consistent or non-consistent memory as it sees\n-fit.  By using this API, you are guaranteeing to the platform that you\n-have all the correct and necessary sync points for this memory in the\n-driver should it choose to return non-consistent memory.\n+Identical to dma_alloc_coherent() except that when the\n+DMA_ATTR_NON_CONSISTENT flags is passed in the attrs argument, the\n+platform will choose to return either consistent or non-consistent memory\n+as it sees fit.  By using this API, you are guaranteeing to the platform\n+that you have all the correct and necessary sync points for this memory\n+in the driver should it choose to return non-consistent memory.\n \n Note: where the platform can return consistent memory, it will\n guarantee that the sync points become nops.\n@@ -535,12 +536,13 @@ that simply cannot make consistent memory.\n ::\n \n \tvoid\n-\tdma_free_noncoherent(struct device *dev, size_t size, void *cpu_addr,\n-\t\t\t     dma_addr_t dma_handle)\n+\tdma_free_attrs(struct device *dev, size_t size, void *cpu_addr,\n+\t\t       dma_addr_t dma_handle, unsigned long attrs)\n \n-Free memory allocated by the nonconsistent API.  All parameters must\n-be identical to those passed in (and returned by\n-dma_alloc_noncoherent()).\n+Free memory allocated by the dma_alloc_attrs().  All parameters common\n+parameters must identical to those otherwise passed to dma_fre_coherent,\n+and the attrs argument must be identical to the attrs passed to\n+dma_alloc_attrs().\n \n ::\n \n@@ -564,8 +566,8 @@ memory or doing partial flushes.\n \tdma_cache_sync(struct device *dev, void *vaddr, size_t size,\n \t\t       enum dma_data_direction direction)\n \n-Do a partial sync of memory that was allocated by\n-dma_alloc_noncoherent(), starting at virtual address vaddr and\n+Do a partial sync of memory that was allocated by dma_alloc_attrs() with\n+the DMA_ATTR_NON_CONSISTENT flag starting at virtual address vaddr and\n continuing on for size.  Again, you *must* observe the cache line\n boundaries when doing this.\n \ndiff --git a/arch/metag/include/asm/dma-mapping.h b/arch/metag/include/asm/dma-mapping.h\nindex fad3dc3cb210..ea573be2b6d0 100644\n--- a/arch/metag/include/asm/dma-mapping.h\n+++ b/arch/metag/include/asm/dma-mapping.h\n@@ -9,7 +9,7 @@ static inline const struct dma_map_ops *get_arch_dma_ops(struct bus_type *bus)\n }\n \n /*\n- * dma_alloc_noncoherent() returns non-cacheable memory, so there's no need to\n+ * dma_alloc_attrs() always returns non-cacheable memory, so there's no need to\n  * do any flushing here.\n  */\n static inline void\ndiff --git a/arch/nios2/include/asm/dma-mapping.h b/arch/nios2/include/asm/dma-mapping.h\nindex 7b3c6f280293..f8dc62222741 100644\n--- a/arch/nios2/include/asm/dma-mapping.h\n+++ b/arch/nios2/include/asm/dma-mapping.h\n@@ -18,7 +18,7 @@ static inline const struct dma_map_ops *get_arch_dma_ops(struct bus_type *bus)\n }\n \n /*\n- * dma_alloc_noncoherent() returns non-cacheable memory, so there's no need to\n+ * dma_alloc_attrs() always returns non-cacheable memory, so there's no need to\n  * do any flushing here.\n  */\n static inline void dma_cache_sync(struct device *dev, void *vaddr, size_t size,\ndiff --git a/arch/tile/include/asm/dma-mapping.h b/arch/tile/include/asm/dma-mapping.h\nindex bbc71a29b2c6..7061dc8af43a 100644\n--- a/arch/tile/include/asm/dma-mapping.h\n+++ b/arch/tile/include/asm/dma-mapping.h\n@@ -68,8 +68,8 @@ static inline bool dma_capable(struct device *dev, dma_addr_t addr, size_t size)\n int dma_set_mask(struct device *dev, u64 mask);\n \n /*\n- * dma_alloc_noncoherent() is #defined to return coherent memory,\n- * so there's no need to do any flushing here.\n+ * dma_alloc_attrs() always returns non-cacheable memory, so there's no need to\n+ * do any flushing here.\n  */\n static inline void dma_cache_sync(struct device *dev, void *vaddr, size_t size,\n \t\t\t\t  enum dma_data_direction direction)\ndiff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h\nindex 66d8ea68f40b..4c98cc96971f 100644\n--- a/include/linux/dma-mapping.h\n+++ b/include/linux/dma-mapping.h\n@@ -549,20 +549,6 @@ static inline void dma_free_coherent(struct device *dev, size_t size,\n \treturn dma_free_attrs(dev, size, cpu_addr, dma_handle, 0);\n }\n \n-static inline void *dma_alloc_noncoherent(struct device *dev, size_t size,\n-\t\tdma_addr_t *dma_handle, gfp_t gfp)\n-{\n-\treturn dma_alloc_attrs(dev, size, dma_handle, gfp,\n-\t\t\t       DMA_ATTR_NON_CONSISTENT);\n-}\n-\n-static inline void dma_free_noncoherent(struct device *dev, size_t size,\n-\t\tvoid *cpu_addr, dma_addr_t dma_handle)\n-{\n-\tdma_free_attrs(dev, size, cpu_addr, dma_handle,\n-\t\t       DMA_ATTR_NON_CONSISTENT);\n-}\n-\n static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr)\n {\n \tconst struct dma_map_ops *ops = get_dma_ops(dev);\n",
    "prefixes": [
        "4/4"
    ]
}