get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 80800,
    "url": "http://patches.dpdk.org/api/patches/80800/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20201014201813.4075613-1-thomas@monjalon.net/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20201014201813.4075613-1-thomas@monjalon.net>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20201014201813.4075613-1-thomas@monjalon.net",
    "date": "2020-10-14T20:18:13",
    "name": "bus/pci: remove unused scan by address",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "25ad3fb0e06b5f1de3b36e239e95570e48743fc5",
    "submitter": {
        "id": 685,
        "url": "http://patches.dpdk.org/api/people/685/?format=api",
        "name": "Thomas Monjalon",
        "email": "thomas@monjalon.net"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20201014201813.4075613-1-thomas@monjalon.net/mbox/",
    "series": [
        {
            "id": 12972,
            "url": "http://patches.dpdk.org/api/series/12972/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=12972",
            "date": "2020-10-14T20:18:13",
            "name": "bus/pci: remove unused scan by address",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/12972/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/80800/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/80800/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 62C4DA04DB;\n\tWed, 14 Oct 2020 22:19:46 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 33C211DA56;\n\tWed, 14 Oct 2020 22:19:45 +0200 (CEST)",
            "from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com\n [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id 243951BFC6;\n Wed, 14 Oct 2020 22:19:43 +0200 (CEST)",
            "from compute2.internal (compute2.nyi.internal [10.202.2.42])\n by mailout.nyi.internal (Postfix) with ESMTP id CB1C45C01C8;\n Wed, 14 Oct 2020 16:19:42 -0400 (EDT)",
            "from mailfrontend1 ([10.202.2.162])\n by compute2.internal (MEProxy); Wed, 14 Oct 2020 16:19:42 -0400",
            "from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184])\n by mail.messagingengine.com (Postfix) with ESMTPA id D5D5F3280059;\n Wed, 14 Oct 2020 16:19:41 -0400 (EDT)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=\n from:to:cc:subject:date:message-id:mime-version\n :content-transfer-encoding; s=fm2; bh=ywHINySlePambG8ffHnaYbh9GI\n mElUG+LJ0XeiUEQxA=; b=KK5aVkQCCKlREc4MpeWoccXImMh67oLAjcOlKCIIWF\n jyhvaNa3G1AZXrNAgD4xdNenBFld1WwiJE1mFJgBIKDEkRjy+4TgW9KerPqw54BD\n OwQa9i/RHLluroBh60njxg1eeEev7n6VwE+jm3IxBQztym4yi67+e50FzzkV3Ihd\n dnXaUauJBPM3bUjpnBrbUtrp9DQuajRgM9EtUX0K/tdw6Zm7M53vZW4WK7x3CUXt\n /aeBXxK4Jn3/yI3nDkZ8xdKoNgN2/Hs56nSKfE5RPF4LIzNVXht/E2N378Y3OWBp\n tINQxEhhPpQlGdJKxZylEbTdJ7TJFm49ZSQWZMPVSYUQ==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n messagingengine.com; h=cc:content-transfer-encoding:date:from\n :message-id:mime-version:subject:to:x-me-proxy:x-me-proxy\n :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=ywHINySlePambG8ff\n HnaYbh9GImElUG+LJ0XeiUEQxA=; b=pMqwAYxmTHkc3ijNWDoaprjV/OlFw1yLE\n aRZdZIHVY+XTco1JEeqqcXfd5cid6d/NwCPsmWu/tc2g/QF3QsZxH46wOEI+Upc1\n va9pwGbq6IZN95livy+1w2ZNEdjAwGNYoR6gdf7BhjUBZQ8jpXsiVGBYtLMK+dpA\n W0afZVADbsC/xAo4x/EP+wlNGOdgFpFYCfDw9NdOUnMSMJIQ3BwYckYlHxfmzoOO\n QaPmLJK9j+xl3SXgP1PhIg1HREaZ1ksOsxqlXZFQmNmZUaspqODuoCMdy/3CTYA9\n n+Q32AXrd/pohucR5mp3qdIILtYY4vexWIwa8WnZVjP/Jdj3JbAMw=="
        ],
        "X-ME-Sender": "<xms:Xl2HXw3fI2ytqrRG8dcn6GG9ny_rJctR6uWDjsgM0F2KIyVLe3aeLA>\n <xme:Xl2HX7HCnXMTWOzndQpgLnTUDjlk9Wpu9EgAplo2a5po8Nd935F7XzQZ_A_ViJEK4\n HXYLcWPws1ffNU7JA>",
        "X-ME-Proxy-Cause": "\n gggruggvucftvghtrhhoucdtuddrgedujedriedugddugeekucetufdoteggodetrfdotf\n fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen\n uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne\n cujfgurhephffvufffkffoggfgsedtkeertdertddtnecuhfhrohhmpefvhhhomhgrshcu\n ofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecuggftrf\n grthhtvghrnhepvdelvdduhedvudduveeuvdevheegudelgeeigfejheduhedttdegudff\n jeeihffgnecukfhppeejjedrudefgedrvddtfedrudekgeenucevlhhushhtvghrufhiii\n gvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehthhhomhgrshesmhhonhhjrghlohhn\n rdhnvght",
        "X-ME-Proxy": "<xmx:Xl2HX45Do-euW1dFn06b5Sca6-AnvZ2mDQkAs7QLx0VJyGvXBk_tGA>\n <xmx:Xl2HX53DAP_K4YGu2Z0-mvVOStOPfng_ZGp1nccggrXtYDYbXu6FBw>\n <xmx:Xl2HXzEcEvqn22K5X44w8k0o1Tf49D--Nk7WdGq3zf5oP6y5BxySfg>\n <xmx:Xl2HX2ME1GDH7XyCjaQ-3OKM7kc4rXMJtErH_cUquYtHJ8WWg5ba4A>",
        "From": "Thomas Monjalon <thomas@monjalon.net>",
        "To": "dev@dpdk.org",
        "Cc": "stable@dpdk.org,\n\tStephen Hemminger <stephen@networkplumber.org>",
        "Date": "Wed, 14 Oct 2020 22:18:13 +0200",
        "Message-Id": "<20201014201813.4075613-1-thomas@monjalon.net>",
        "X-Mailer": "git-send-email 2.28.0",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH] bus/pci: remove unused scan by address",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "The function pci_update_device was used to scan a device\nfor probing by PCI address.\nThis private function (and implementations) are unused\nsince such probing is removed.\n\nFixes: f3bac43b60da (\"bus/pci: remove unused function to probe by address\")\nCc: stable@dpdk.org\n\nSigned-off-by: Thomas Monjalon <thomas@monjalon.net>\n---\n drivers/bus/pci/bsd/pci.c     | 49 -----------------------------------\n drivers/bus/pci/linux/pci.c   | 12 ---------\n drivers/bus/pci/private.h     | 13 ----------\n drivers/bus/pci/windows/pci.c | 11 --------\n 4 files changed, 85 deletions(-)",
    "diff": "diff --git a/drivers/bus/pci/bsd/pci.c b/drivers/bus/pci/bsd/pci.c\nindex 97c611737a..4b8a208781 100644\n--- a/drivers/bus/pci/bsd/pci.c\n+++ b/drivers/bus/pci/bsd/pci.c\n@@ -401,55 +401,6 @@ pci_device_iova_mode(const struct rte_pci_driver *pdrv __rte_unused,\n \treturn RTE_IOVA_PA;\n }\n \n-int\n-pci_update_device(const struct rte_pci_addr *addr)\n-{\n-\tint fd;\n-\tstruct pci_conf matches[2];\n-\tstruct pci_match_conf match = {\n-\t\t.pc_sel = {\n-\t\t\t.pc_domain = addr->domain,\n-\t\t\t.pc_bus = addr->bus,\n-\t\t\t.pc_dev = addr->devid,\n-\t\t\t.pc_func = addr->function,\n-\t\t},\n-\t};\n-\tstruct pci_conf_io conf_io = {\n-\t\t.pat_buf_len = 0,\n-\t\t.num_patterns = 1,\n-\t\t.patterns = &match,\n-\t\t.match_buf_len = sizeof(matches),\n-\t\t.matches = &matches[0],\n-\t};\n-\n-\tfd = open(\"/dev/pci\", O_RDONLY);\n-\tif (fd < 0) {\n-\t\tRTE_LOG(ERR, EAL, \"%s(): error opening /dev/pci\\n\", __func__);\n-\t\tgoto error;\n-\t}\n-\n-\tif (ioctl(fd, PCIOCGETCONF, &conf_io) < 0) {\n-\t\tRTE_LOG(ERR, EAL, \"%s(): error with ioctl on /dev/pci: %s\\n\",\n-\t\t\t\t__func__, strerror(errno));\n-\t\tgoto error;\n-\t}\n-\n-\tif (conf_io.num_matches != 1)\n-\t\tgoto error;\n-\n-\tif (pci_scan_one(fd, &matches[0]) < 0)\n-\t\tgoto error;\n-\n-\tclose(fd);\n-\n-\treturn 0;\n-\n-error:\n-\tif (fd >= 0)\n-\t\tclose(fd);\n-\treturn -1;\n-}\n-\n /* Read PCI config space. */\n int rte_pci_read_config(const struct rte_pci_device *dev,\n \t\tvoid *buf, size_t len, off_t offset)\ndiff --git a/drivers/bus/pci/linux/pci.c b/drivers/bus/pci/linux/pci.c\nindex 619d209ad2..2e1808b902 100644\n--- a/drivers/bus/pci/linux/pci.c\n+++ b/drivers/bus/pci/linux/pci.c\n@@ -397,18 +397,6 @@ pci_scan_one(const char *dirname, const struct rte_pci_addr *addr)\n \treturn 0;\n }\n \n-int\n-pci_update_device(const struct rte_pci_addr *addr)\n-{\n-\tchar filename[PATH_MAX];\n-\n-\tsnprintf(filename, sizeof(filename), \"%s/\" PCI_PRI_FMT,\n-\t\t rte_pci_get_sysfs_path(), addr->domain, addr->bus, addr->devid,\n-\t\t addr->function);\n-\n-\treturn pci_scan_one(filename, addr);\n-}\n-\n /*\n  * split up a pci address into its constituent parts.\n  */\ndiff --git a/drivers/bus/pci/private.h b/drivers/bus/pci/private.h\nindex 16f997c701..f566943f5e 100644\n--- a/drivers/bus/pci/private.h\n+++ b/drivers/bus/pci/private.h\n@@ -66,19 +66,6 @@ void rte_pci_add_device(struct rte_pci_device *pci_dev);\n void rte_pci_insert_device(struct rte_pci_device *exist_pci_dev,\n \t\tstruct rte_pci_device *new_pci_dev);\n \n-/**\n- * Update a pci device object by asking the kernel for the latest information.\n- *\n- * This function is private to EAL.\n- *\n- * @param addr\n- *\tThe PCI Bus-Device-Function address to look for\n- * @return\n- *   - 0 on success.\n- *   - negative on error.\n- */\n-int pci_update_device(const struct rte_pci_addr *addr);\n-\n /**\n  * A structure describing a PCI mapping.\n  */\ndiff --git a/drivers/bus/pci/windows/pci.c b/drivers/bus/pci/windows/pci.c\nindex 2cd010a09b..09db65456b 100644\n--- a/drivers/bus/pci/windows/pci.c\n+++ b/drivers/bus/pci/windows/pci.c\n@@ -49,17 +49,6 @@ rte_pci_unmap_device(struct rte_pci_device *dev __rte_unused)\n \t */\n }\n \n-int\n-pci_update_device(const struct rte_pci_addr *addr __rte_unused)\n-{\n-\t/* This function is not implemented on Windows.\n-\t * We really should short-circuit the call to these functions by\n-\t * clearing the RTE_PCI_DRV_NEED_MAPPING flag\n-\t * in the rte_pci_driver flags.\n-\t */\n-\treturn 0;\n-}\n-\n /* Read PCI config space. */\n int\n rte_pci_read_config(const struct rte_pci_device *dev __rte_unused,\n",
    "prefixes": []
}