get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 21465,
    "url": "https://patches.dpdk.org/api/patches/21465/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1488794430-25179-38-git-send-email-jblunck@infradead.org/",
    "project": {
        "id": 1,
        "url": "https://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": "<1488794430-25179-38-git-send-email-jblunck@infradead.org>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1488794430-25179-38-git-send-email-jblunck@infradead.org",
    "date": "2017-03-06T10:00:29",
    "name": "[dpdk-dev,37/38] ethdev: remove PCI specific helper from generic ethdev header",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "fbe4db329629270054701cf3ae884aeac47de817",
    "submitter": {
        "id": 249,
        "url": "https://patches.dpdk.org/api/people/249/?format=api",
        "name": "Jan Blunck",
        "email": "jblunck@infradead.org"
    },
    "delegate": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1488794430-25179-38-git-send-email-jblunck@infradead.org/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/21465/comments/",
    "check": "fail",
    "checks": "https://patches.dpdk.org/api/patches/21465/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 7FB0FFA86;\n\tMon,  6 Mar 2017 11:02:32 +0100 (CET)",
            "from mail-wr0-f195.google.com (mail-wr0-f195.google.com\n\t[209.85.128.195]) by dpdk.org (Postfix) with ESMTP id F116BD592\n\tfor <dev@dpdk.org>; Mon,  6 Mar 2017 11:01:27 +0100 (CET)",
            "by mail-wr0-f195.google.com with SMTP id u48so21047938wrc.1\n\tfor <dev@dpdk.org>; Mon, 06 Mar 2017 02:01:27 -0800 (PST)",
            "from weierstrass.local.net ([91.200.109.169])\n\tby smtp.gmail.com with ESMTPSA id\n\tu145sm3829237wmu.1.2017.03.06.02.01.26 for <dev@dpdk.org>\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tMon, 06 Mar 2017 02:01:26 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=sender:from:to:subject:date:message-id:in-reply-to:references;\n\tbh=80A1YNbK8o9cp9PTW94LU1+dCwTGaUoWePsdp5s5xsU=;\n\tb=GTlhvwq6gO5AJfZZ5DFgTrkq5FL3R74gsq9D5h6qdCbea7XtxTL3dtdbyFD7VQWXHO\n\tG75eEZlbGGwnc7/mdi0WLL9UqONyziKzLfZq0SjIy6gc7Jh8MmVpoc/DObdpp0PawWJn\n\tlAKhz+QMVyNCsdY49hW8bSRinrqggWBmKPxw1XrTwSd4LaCbWo38XUFhkwyq0mv2T4hS\n\tP1pZY756kgktHbkkihAh7lN3nP0ihVT6t2GkEa/0R3l301KYmXvtESpMVchS0oZV4g3v\n\t2d3/9eDJvxrsRaKZbLZm/HMnAJVlrK2rvGokwg/kfPShItVVkxPWOjTu5y7jHJ7SAlGJ\n\tI+IA==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:sender:from:to:subject:date:message-id\n\t:in-reply-to:references;\n\tbh=80A1YNbK8o9cp9PTW94LU1+dCwTGaUoWePsdp5s5xsU=;\n\tb=eVwkQclyY4Y03v+jbsurEbL4DGJoYq74SGxo6Zx6YuiKf/ouoI+VWQQSROdlMbttPq\n\tbUyviEHMGHSIL7a5dXym1gXmWUYpYjZtUWpTzXM+APdbGPYagyIIbrhUHLbyAAlBZXON\n\tXK/A0mIdnK2C3HTMKEEv36l5ZK+2z/GQrsd50lDoBvvyL94npozwvxuGDJB1fmDuHZXa\n\tx6OYQHjfGvG+Ah28/Lwaqu77sqoRvclMJj35jSWN6z6t2woIvab1ahBAjCpop4FtmgLT\n\tV1acTUwtOHcq1WTU4C6GJmasFq1AB9ty9kBUsImuRMTFdtxfFTo3VoB/wf3AC4oVvB7y\n\tNExg==",
        "X-Gm-Message-State": "AMke39kHiLC+vFX8HI6mzpgDM8Pe1NUFZWWX3k4f5ed/+5W6GuabdyHRGt/ayXZsknEfaQ==",
        "X-Received": "by 10.223.135.47 with SMTP id a44mr12179066wra.197.1488794487357;\n\tMon, 06 Mar 2017 02:01:27 -0800 (PST)",
        "From": "Jan Blunck <jblunck@infradead.org>",
        "To": "dev@dpdk.org",
        "Date": "Mon,  6 Mar 2017 11:00:29 +0100",
        "Message-Id": "<1488794430-25179-38-git-send-email-jblunck@infradead.org>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1488794430-25179-1-git-send-email-jblunck@infradead.org>",
        "References": "<1488794430-25179-1-git-send-email-jblunck@infradead.org>",
        "Subject": "[dpdk-dev] [PATCH 37/38] ethdev: remove PCI specific helper from\n\tgeneric ethdev header",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "This moves the rte_eth_copy_pci_info() into the PCI specific ethdev\nheader. As a side effect this also removes it from the list of symbols\nexported by the rte_ethdev library.\n\nSigned-off-by: Jan Blunck <jblunck@infradead.org>\n---\n drivers/net/cxgbe/cxgbe_main.c         |  1 +\n lib/librte_ether/rte_ethdev.c          | 20 --------------------\n lib/librte_ether/rte_ethdev.h          | 14 --------------\n lib/librte_ether/rte_ethdev_pci.h      | 32 ++++++++++++++++++++++++++++++++\n lib/librte_ether/rte_ether_version.map |  1 -\n 5 files changed, 33 insertions(+), 35 deletions(-)",
    "diff": "diff --git a/drivers/net/cxgbe/cxgbe_main.c b/drivers/net/cxgbe/cxgbe_main.c\nindex f895b18..1f230cd 100644\n--- a/drivers/net/cxgbe/cxgbe_main.c\n+++ b/drivers/net/cxgbe/cxgbe_main.c\n@@ -57,6 +57,7 @@\n #include <rte_alarm.h>\n #include <rte_ether.h>\n #include <rte_ethdev.h>\n+#include <rte_ethdev_pci.h>\n #include <rte_atomic.h>\n #include <rte_malloc.h>\n #include <rte_random.h>\ndiff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c\nindex 4669f80..80c2769 100644\n--- a/lib/librte_ether/rte_ethdev.c\n+++ b/lib/librte_ether/rte_ethdev.c\n@@ -3103,26 +3103,6 @@ rte_eth_dev_get_dcb_info(uint8_t port_id,\n \treturn (*dev->dev_ops->get_dcb_info)(dev, dcb_info);\n }\n \n-void\n-rte_eth_copy_pci_info(struct rte_eth_dev *eth_dev, struct rte_pci_device *pci_dev)\n-{\n-\tif ((eth_dev == NULL) || (pci_dev == NULL)) {\n-\t\tRTE_PMD_DEBUG_TRACE(\"NULL pointer eth_dev=%p pci_dev=%p\\n\",\n-\t\t\t\teth_dev, pci_dev);\n-\t\treturn;\n-\t}\n-\n-\teth_dev->intr_handle = &pci_dev->intr_handle;\n-\n-\teth_dev->data->dev_flags = 0;\n-\tif (pci_dev->driver->drv_flags & RTE_PCI_DRV_INTR_LSC)\n-\t\teth_dev->data->dev_flags |= RTE_ETH_DEV_INTR_LSC;\n-\n-\teth_dev->data->kdrv = pci_dev->kdrv;\n-\teth_dev->data->numa_node = pci_dev->device.numa_node;\n-\teth_dev->data->drv_name = pci_dev->driver->driver.name;\n-}\n-\n int\n rte_eth_dev_l2_tunnel_eth_type_conf(uint8_t port_id,\n \t\t\t\t    struct rte_eth_l2_tunnel_conf *l2_tunnel)\ndiff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h\nindex 87c33bb..7259cb8 100644\n--- a/lib/librte_ether/rte_ethdev.h\n+++ b/lib/librte_ether/rte_ethdev.h\n@@ -4233,20 +4233,6 @@ int rte_eth_timesync_read_time(uint8_t port_id, struct timespec *time);\n int rte_eth_timesync_write_time(uint8_t port_id, const struct timespec *time);\n \n /**\n- * Copy pci device info to the Ethernet device data.\n- *\n- * @param eth_dev\n- * The *eth_dev* pointer is the address of the *rte_eth_dev* structure.\n- * @param pci_dev\n- * The *pci_dev* pointer is the address of the *rte_pci_device* structure.\n- *\n- * @return\n- *   - 0 on success, negative on error\n- */\n-void rte_eth_copy_pci_info(struct rte_eth_dev *eth_dev,\n-\t\tstruct rte_pci_device *pci_dev);\n-\n-/**\n  * Create memzone for HW rings.\n  * malloc can't be used as the physical address is needed.\n  * If the memzone is already created, then this function returns a ptr\ndiff --git a/lib/librte_ether/rte_ethdev_pci.h b/lib/librte_ether/rte_ethdev_pci.h\nindex f85d26f..2953579 100644\n--- a/lib/librte_ether/rte_ethdev_pci.h\n+++ b/lib/librte_ether/rte_ethdev_pci.h\n@@ -39,6 +39,38 @@\n #include <rte_ethdev.h>\n \n /**\n+ * Copy pci device info to the Ethernet device data.\n+ *\n+ * @param eth_dev\n+ * The *eth_dev* pointer is the address of the *rte_eth_dev* structure.\n+ * @param pci_dev\n+ * The *pci_dev* pointer is the address of the *rte_pci_device* structure.\n+ *\n+ * @return\n+ *   - 0 on success, negative on error\n+ */\n+static inline void\n+rte_eth_copy_pci_info(struct rte_eth_dev *eth_dev,\n+\tstruct rte_pci_device *pci_dev)\n+{\n+\tif ((eth_dev == NULL) || (pci_dev == NULL)) {\n+\t\tRTE_PMD_DEBUG_TRACE(\"NULL pointer eth_dev=%p pci_dev=%p\\n\",\n+\t\t\t\teth_dev, pci_dev);\n+\t\treturn;\n+\t}\n+\n+\teth_dev->intr_handle = &pci_dev->intr_handle;\n+\n+\teth_dev->data->dev_flags = 0;\n+\tif (pci_dev->driver->drv_flags & RTE_PCI_DRV_INTR_LSC)\n+\t\teth_dev->data->dev_flags |= RTE_ETH_DEV_INTR_LSC;\n+\n+\teth_dev->data->kdrv = pci_dev->kdrv;\n+\teth_dev->data->numa_node = pci_dev->device.numa_node;\n+\teth_dev->data->drv_name = pci_dev->driver->driver.name;\n+}\n+\n+/**\n  * @internal\n  * Allocates a new ethdev slot for an ethernet device and returns the pointer\n  * to that slot for the driver to use.\ndiff --git a/lib/librte_ether/rte_ether_version.map b/lib/librte_ether/rte_ether_version.map\nindex e2b6d0e..a025119 100644\n--- a/lib/librte_ether/rte_ether_version.map\n+++ b/lib/librte_ether/rte_ether_version.map\n@@ -7,7 +7,6 @@ DPDK_2.2 {\n \trte_eth_allmulticast_disable;\n \trte_eth_allmulticast_enable;\n \trte_eth_allmulticast_get;\n-\trte_eth_copy_pci_info;\n \trte_eth_dev_allocate;\n \trte_eth_dev_allocated;\n \trte_eth_dev_attach;\n",
    "prefixes": [
        "dpdk-dev",
        "37/38"
    ]
}