get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 116285,
    "url": "https://patches.dpdk.org/api/patches/116285/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20220914075841.51555-16-david.marchand@redhat.com/",
    "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": "<20220914075841.51555-16-david.marchand@redhat.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220914075841.51555-16-david.marchand@redhat.com",
    "date": "2022-09-14T07:58:29",
    "name": "[v6,15/27] bus/ifpga: make driver-only headers private",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "89bca0330c4edde1c912ac9c2117790236356da6",
    "submitter": {
        "id": 1173,
        "url": "https://patches.dpdk.org/api/people/1173/?format=api",
        "name": "David Marchand",
        "email": "david.marchand@redhat.com"
    },
    "delegate": {
        "id": 24651,
        "url": "https://patches.dpdk.org/api/users/24651/?format=api",
        "username": "dmarchand",
        "first_name": "David",
        "last_name": "Marchand",
        "email": "david.marchand@redhat.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20220914075841.51555-16-david.marchand@redhat.com/mbox/",
    "series": [
        {
            "id": 24657,
            "url": "https://patches.dpdk.org/api/series/24657/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=24657",
            "date": "2022-09-14T07:58:14",
            "name": "Bus and device cleanup for 22.11",
            "version": 6,
            "mbox": "https://patches.dpdk.org/series/24657/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/116285/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/116285/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 mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id E6EC1A00C3;\n\tWed, 14 Sep 2022 10:00:41 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id E582E42847;\n\tWed, 14 Sep 2022 09:59:53 +0200 (CEST)",
            "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.129.124])\n by mails.dpdk.org (Postfix) with ESMTP id C6F5142B93\n for <dev@dpdk.org>; Wed, 14 Sep 2022 09:59:51 +0200 (CEST)",
            "from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com\n [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n us-mta-287-2KVRutU7OZGxRmp2rVZ-7Q-1; Wed, 14 Sep 2022 03:59:50 -0400",
            "from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com\n [10.11.54.3])\n (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n (No client certificate requested)\n by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C2CF9811E87;\n Wed, 14 Sep 2022 07:59:49 +0000 (UTC)",
            "from localhost.localdomain (unknown [10.40.194.61])\n by smtp.corp.redhat.com (Postfix) with ESMTP id 6892E1121314;\n Wed, 14 Sep 2022 07:59:48 +0000 (UTC)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1663142391;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=6ie02s0CQWA+tfhXyJpMeiBEGJSPW8781LkR2v0mOiI=;\n b=U+8HgdGqiRFgKVh4gfG/DlsqOKjd7VyyNRUiM/ZF26Tu+rdI7SYx5zeH7uV0TkXyUhHXt4\n h60239MP3UpECcPnoVZU0/JysMtUbI7Gw4xWxwXbyGTdgB4yqBheuO/T0gu2Jw7IHrDZoa\n YUJNJ/SXhGvhZDH8mic6PGvnt2pudsU=",
        "X-MC-Unique": "2KVRutU7OZGxRmp2rVZ-7Q-1",
        "From": "David Marchand <david.marchand@redhat.com>",
        "To": "dev@dpdk.org",
        "Cc": "thomas@monjalon.net, bruce.richardson@intel.com,\n Rosen Xu <rosen.xu@intel.com>, Ray Kinsella <mdr@ashroe.eu>,\n Tianfei zhang <tianfei.zhang@intel.com>",
        "Subject": "[PATCH v6 15/27] bus/ifpga: make driver-only headers private",
        "Date": "Wed, 14 Sep 2022 09:58:29 +0200",
        "Message-Id": "<20220914075841.51555-16-david.marchand@redhat.com>",
        "In-Reply-To": "<20220914075841.51555-1-david.marchand@redhat.com>",
        "References": "<20220628144643.1213026-1-david.marchand@redhat.com>\n <20220914075841.51555-1-david.marchand@redhat.com>",
        "MIME-Version": "1.0",
        "X-Scanned-By": "MIMEDefang 3.1 on 10.11.54.3",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-Originator": "redhat.com",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain; charset=\"US-ASCII\"; x-default=true",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "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"
    },
    "content": "The ifpga bus interface is for drivers only.\nMark as internal and move the header in the driver headers list.\n\nWhile at it, cleanup the code:\n- remove unneeded list head structure type,\n- reorder the definitions and macro manipulating the bus singleton object,\n- remove inclusion of rte_bus.h and fix the code that relied on implicit\n  inclusion,\n\nSigned-off-by: David Marchand <david.marchand@redhat.com>\nAcked-by: Rosen Xu <rosen.xu@intel.com>\n---\nChanges since RFC v2:                                                           \n- squashed cleanup for this bus code from other patches,\n- updated release notes,\n\n---\n doc/guides/rel_notes/release_22_11.rst         |  2 +-\n .../{rte_bus_ifpga.h => bus_ifpga_driver.h}    | 18 ++++++++----------\n drivers/bus/ifpga/ifpga_bus.c                  |  6 +++---\n drivers/bus/ifpga/ifpga_common.h               |  2 +-\n drivers/bus/ifpga/meson.build                  |  2 +-\n drivers/bus/ifpga/version.map                  |  2 +-\n drivers/net/ipn3ke/ipn3ke_ethdev.c             |  2 +-\n drivers/net/ipn3ke/ipn3ke_ethdev.h             |  2 +-\n drivers/net/ipn3ke/ipn3ke_flow.c               |  2 +-\n drivers/net/ipn3ke/ipn3ke_representor.c        |  2 +-\n drivers/net/ipn3ke/ipn3ke_tm.c                 |  2 +-\n drivers/raw/ifpga/afu_pmd_core.h               |  2 +-\n drivers/raw/ifpga/afu_pmd_he_hssi.c            |  2 +-\n drivers/raw/ifpga/afu_pmd_he_lpbk.c            |  2 +-\n drivers/raw/ifpga/afu_pmd_he_mem.c             |  2 +-\n drivers/raw/ifpga/afu_pmd_n3000.c              |  2 +-\n drivers/raw/ifpga/ifpga_rawdev.c               |  2 +-\n 17 files changed, 26 insertions(+), 28 deletions(-)\n rename drivers/bus/ifpga/{rte_bus_ifpga.h => bus_ifpga_driver.h} (91%)",
    "diff": "diff --git a/doc/guides/rel_notes/release_22_11.rst b/doc/guides/rel_notes/release_22_11.rst\nindex 9fd95e13dd..2f2bd2b086 100644\n--- a/doc/guides/rel_notes/release_22_11.rst\n+++ b/doc/guides/rel_notes/release_22_11.rst\n@@ -88,7 +88,7 @@ API Changes\n   in the future. Applications can use ``devtools/cocci/func_or_ret.cocci``\n   to update their code.\n \n-* drivers: Registering a driver on the ``auxiliary``,\n+* drivers: Registering a driver on the ``auxiliary``, ``ifpga``\n   buses has been marked as an internal API.\n   External users may still register their driver using the associated driver\n   headers (see ``enable_driver_sdk`` meson option).\ndiff --git a/drivers/bus/ifpga/rte_bus_ifpga.h b/drivers/bus/ifpga/bus_ifpga_driver.h\nsimilarity index 91%\nrename from drivers/bus/ifpga/rte_bus_ifpga.h\nrename to drivers/bus/ifpga/bus_ifpga_driver.h\nindex 007ad19875..7b75c2ddbc 100644\n--- a/drivers/bus/ifpga/rte_bus_ifpga.h\n+++ b/drivers/bus/ifpga/bus_ifpga_driver.h\n@@ -2,8 +2,8 @@\n  * Copyright(c) 2010-2018 Intel Corporation\n  */\n \n-#ifndef _RTE_BUS_IFPGA_H_\n-#define _RTE_BUS_IFPGA_H_\n+#ifndef BUS_IFPGA_DRIVER_H\n+#define BUS_IFPGA_DRIVER_H\n \n /**\n  * @file\n@@ -15,23 +15,17 @@\n extern \"C\" {\n #endif /* __cplusplus */\n \n-#include <rte_bus.h>\n+#include <rte_compat.h>\n #include <rte_pci.h>\n #include <rte_interrupts.h>\n #include <rte_spinlock.h>\n \n-/** Name of Intel FPGA Bus */\n #define IFPGA_BUS_NAME ifpga\n \n /* Forward declarations */\n struct rte_afu_device;\n struct rte_afu_driver;\n \n-/** Double linked list of Intel FPGA AFU device. */\n-RTE_TAILQ_HEAD(ifpga_afu_dev_list, rte_afu_device);\n-/** Double linked list of Intel FPGA AFU device drivers. */\n-RTE_TAILQ_HEAD(ifpga_afu_drv_list, rte_afu_driver);\n-\n #define IFPGA_BUS_BITSTREAM_PATH_MAX_LEN 256\n \n struct rte_afu_uuid {\n@@ -112,6 +106,7 @@ struct rte_afu_driver {\n \tconst struct rte_afu_uuid *id_table;    /**< AFU uuid within FPGA. */\n };\n \n+__rte_internal\n static inline const char *\n rte_ifpga_device_name(const struct rte_afu_device *afu)\n {\n@@ -126,6 +121,7 @@ rte_ifpga_device_name(const struct rte_afu_device *afu)\n  * @param name\n  *   A pointer to AFU name string.\n  */\n+__rte_internal\n struct rte_afu_device *\n rte_ifpga_find_afu_by_name(const char *name);\n \n@@ -136,6 +132,7 @@ rte_ifpga_find_afu_by_name(const char *name);\n  *   A pointer to a rte_afu_driver structure describing the driver\n  *   to be registered.\n  */\n+__rte_internal\n void rte_ifpga_driver_register(struct rte_afu_driver *driver);\n \n /**\n@@ -145,6 +142,7 @@ void rte_ifpga_driver_register(struct rte_afu_driver *driver);\n  *   A pointer to a rte_afu_driver structure describing the driver\n  *   to be unregistered.\n  */\n+__rte_internal\n void rte_ifpga_driver_unregister(struct rte_afu_driver *driver);\n \n #define RTE_PMD_REGISTER_AFU(nm, afudrv)\\\n@@ -164,4 +162,4 @@ static const char *afudrvinit_ ## nm ## _alias = RTE_STR(alias)\n }\n #endif /* __cplusplus */\n \n-#endif /* _RTE_BUS_IFPGA_H_ */\n+#endif /* BUS_IFPGA_DRIVER_H */\ndiff --git a/drivers/bus/ifpga/ifpga_bus.c b/drivers/bus/ifpga/ifpga_bus.c\nindex b1e9eb7cc4..27e2de7072 100644\n--- a/drivers/bus/ifpga/ifpga_bus.c\n+++ b/drivers/bus/ifpga/ifpga_bus.c\n@@ -28,7 +28,7 @@\n \n #include \"rte_rawdev.h\"\n #include \"rte_rawdev_pmd.h\"\n-#include \"rte_bus_ifpga.h\"\n+#include \"bus_ifpga_driver.h\"\n #include \"ifpga_logs.h\"\n #include \"ifpga_common.h\"\n \n@@ -37,9 +37,9 @@\n  */\n static struct rte_bus rte_ifpga_bus;\n \n-static struct ifpga_afu_dev_list ifpga_afu_dev_list =\n+static TAILQ_HEAD(, rte_afu_device) ifpga_afu_dev_list =\n \tTAILQ_HEAD_INITIALIZER(ifpga_afu_dev_list);\n-static struct ifpga_afu_drv_list ifpga_afu_drv_list =\n+static TAILQ_HEAD(, rte_afu_driver) ifpga_afu_drv_list =\n \tTAILQ_HEAD_INITIALIZER(ifpga_afu_drv_list);\n \n \ndiff --git a/drivers/bus/ifpga/ifpga_common.h b/drivers/bus/ifpga/ifpga_common.h\nindex bb6524030f..a41a1628f5 100644\n--- a/drivers/bus/ifpga/ifpga_common.h\n+++ b/drivers/bus/ifpga/ifpga_common.h\n@@ -9,7 +9,7 @@\n #include <stdlib.h>\n #include <string.h>\n \n-#include <rte_bus_ifpga.h>\n+#include <bus_ifpga_driver.h>\n #include <rte_common.h>\n \n static inline int\ndiff --git a/drivers/bus/ifpga/meson.build b/drivers/bus/ifpga/meson.build\nindex 9d56a4bb2b..dedc94db2d 100644\n--- a/drivers/bus/ifpga/meson.build\n+++ b/drivers/bus/ifpga/meson.build\n@@ -8,5 +8,5 @@ if is_windows\n endif\n \n deps += ['pci', 'kvargs', 'rawdev']\n-headers = files('rte_bus_ifpga.h')\n+driver_sdk_headers += files('bus_ifpga_driver.h')\n sources = files('ifpga_bus.c')\ndiff --git a/drivers/bus/ifpga/version.map b/drivers/bus/ifpga/version.map\nindex da7f92c2a0..3d1943afe4 100644\n--- a/drivers/bus/ifpga/version.map\n+++ b/drivers/bus/ifpga/version.map\n@@ -1,4 +1,4 @@\n-DPDK_23 {\n+INTERNAL {\n \tglobal:\n \n \trte_ifpga_driver_register;\ndiff --git a/drivers/net/ipn3ke/ipn3ke_ethdev.c b/drivers/net/ipn3ke/ipn3ke_ethdev.c\nindex 550a8b0466..2e39113941 100644\n--- a/drivers/net/ipn3ke/ipn3ke_ethdev.c\n+++ b/drivers/net/ipn3ke/ipn3ke_ethdev.c\n@@ -16,7 +16,7 @@\n #include <rte_io.h>\n #include <rte_rawdev.h>\n #include <rte_rawdev_pmd.h>\n-#include <rte_bus_ifpga.h>\n+#include <bus_ifpga_driver.h>\n #include <ifpga_common.h>\n #include <ifpga_logs.h>\n #include <ifpga_rawdev.h>\ndiff --git a/drivers/net/ipn3ke/ipn3ke_ethdev.h b/drivers/net/ipn3ke/ipn3ke_ethdev.h\nindex 58fcc50c57..dbf57f9ba8 100644\n--- a/drivers/net/ipn3ke/ipn3ke_ethdev.h\n+++ b/drivers/net/ipn3ke/ipn3ke_ethdev.h\n@@ -24,7 +24,7 @@\n #include <rte_spinlock.h>\n \n #include <rte_cycles.h>\n-#include <rte_bus_ifpga.h>\n+#include <bus_ifpga_driver.h>\n #include <rte_tm_driver.h>\n \n #define IPN3KE_TM_SCRATCH_RW 0\ndiff --git a/drivers/net/ipn3ke/ipn3ke_flow.c b/drivers/net/ipn3ke/ipn3ke_flow.c\nindex 66ae31a5a9..5b57ee9341 100644\n--- a/drivers/net/ipn3ke/ipn3ke_flow.c\n+++ b/drivers/net/ipn3ke/ipn3ke_flow.c\n@@ -20,7 +20,7 @@\n #include <rte_tailq.h>\n #include <rte_rawdev.h>\n #include <rte_rawdev_pmd.h>\n-#include <rte_bus_ifpga.h>\n+#include <bus_ifpga_driver.h>\n #include <ifpga_common.h>\n #include <ifpga_logs.h>\n #include <ifpga_rawdev.h>\ndiff --git a/drivers/net/ipn3ke/ipn3ke_representor.c b/drivers/net/ipn3ke/ipn3ke_representor.c\nindex abbecfdf2e..2f088d767f 100644\n--- a/drivers/net/ipn3ke/ipn3ke_representor.c\n+++ b/drivers/net/ipn3ke/ipn3ke_representor.c\n@@ -18,7 +18,7 @@\n #include <rte_io.h>\n #include <rte_rawdev.h>\n #include <rte_rawdev_pmd.h>\n-#include <rte_bus_ifpga.h>\n+#include <bus_ifpga_driver.h>\n #include <ifpga_logs.h>\n \n #include \"ipn3ke_rawdev_api.h\"\ndiff --git a/drivers/net/ipn3ke/ipn3ke_tm.c b/drivers/net/ipn3ke/ipn3ke_tm.c\nindex 6a9b98fd7f..2f242b678a 100644\n--- a/drivers/net/ipn3ke/ipn3ke_tm.c\n+++ b/drivers/net/ipn3ke/ipn3ke_tm.c\n@@ -19,7 +19,7 @@\n #include <rte_io.h>\n #include <rte_rawdev.h>\n #include <rte_rawdev_pmd.h>\n-#include <rte_bus_ifpga.h>\n+#include <bus_ifpga_driver.h>\n #include <ifpga_logs.h>\n \n #include \"ipn3ke_rawdev_api.h\"\ndiff --git a/drivers/raw/ifpga/afu_pmd_core.h b/drivers/raw/ifpga/afu_pmd_core.h\nindex 91118a19ab..ab5a228147 100644\n--- a/drivers/raw/ifpga/afu_pmd_core.h\n+++ b/drivers/raw/ifpga/afu_pmd_core.h\n@@ -15,7 +15,7 @@ extern \"C\" {\n \n #include <rte_spinlock.h>\n #include <rte_cycles.h>\n-#include <rte_bus_ifpga.h>\n+#include <bus_ifpga_driver.h>\n #include <rte_rawdev.h>\n \n #include \"ifpga_rawdev.h\"\ndiff --git a/drivers/raw/ifpga/afu_pmd_he_hssi.c b/drivers/raw/ifpga/afu_pmd_he_hssi.c\nindex 102de50812..eca1edc270 100644\n--- a/drivers/raw/ifpga/afu_pmd_he_hssi.c\n+++ b/drivers/raw/ifpga/afu_pmd_he_hssi.c\n@@ -19,7 +19,7 @@\n #include <rte_io.h>\n #include <rte_vfio.h>\n #include <rte_bus_pci.h>\n-#include <rte_bus_ifpga.h>\n+#include <bus_ifpga_driver.h>\n #include <rte_rawdev.h>\n \n #include \"afu_pmd_core.h\"\ndiff --git a/drivers/raw/ifpga/afu_pmd_he_lpbk.c b/drivers/raw/ifpga/afu_pmd_he_lpbk.c\nindex 8b2c85b5f8..da0aba6e00 100644\n--- a/drivers/raw/ifpga/afu_pmd_he_lpbk.c\n+++ b/drivers/raw/ifpga/afu_pmd_he_lpbk.c\n@@ -19,7 +19,7 @@\n #include <rte_io.h>\n #include <rte_vfio.h>\n #include <rte_bus_pci.h>\n-#include <rte_bus_ifpga.h>\n+#include <bus_ifpga_driver.h>\n #include <rte_rawdev.h>\n \n #include \"afu_pmd_core.h\"\ndiff --git a/drivers/raw/ifpga/afu_pmd_he_mem.c b/drivers/raw/ifpga/afu_pmd_he_mem.c\nindex 0f57a03b0e..3c41aa9ee8 100644\n--- a/drivers/raw/ifpga/afu_pmd_he_mem.c\n+++ b/drivers/raw/ifpga/afu_pmd_he_mem.c\n@@ -18,7 +18,7 @@\n #include <rte_io.h>\n #include <rte_vfio.h>\n #include <rte_bus_pci.h>\n-#include <rte_bus_ifpga.h>\n+#include <bus_ifpga_driver.h>\n #include <rte_rawdev.h>\n \n #include \"afu_pmd_core.h\"\ndiff --git a/drivers/raw/ifpga/afu_pmd_n3000.c b/drivers/raw/ifpga/afu_pmd_n3000.c\nindex 5120df5f77..b7438bd372 100644\n--- a/drivers/raw/ifpga/afu_pmd_n3000.c\n+++ b/drivers/raw/ifpga/afu_pmd_n3000.c\n@@ -19,7 +19,7 @@\n #include <rte_io.h>\n #include <rte_vfio.h>\n #include <rte_bus_pci.h>\n-#include <rte_bus_ifpga.h>\n+#include <bus_ifpga_driver.h>\n #include <rte_rawdev.h>\n \n #include \"afu_pmd_core.h\"\ndiff --git a/drivers/raw/ifpga/ifpga_rawdev.c b/drivers/raw/ifpga/ifpga_rawdev.c\nindex 153203a42f..32de5ff0ce 100644\n--- a/drivers/raw/ifpga/ifpga_rawdev.c\n+++ b/drivers/raw/ifpga/ifpga_rawdev.c\n@@ -35,7 +35,7 @@\n #include \"base/ifpga_api.h\"\n #include \"rte_rawdev.h\"\n #include \"rte_rawdev_pmd.h\"\n-#include \"rte_bus_ifpga.h\"\n+#include \"bus_ifpga_driver.h\"\n #include \"ifpga_common.h\"\n #include \"ifpga_logs.h\"\n #include \"ifpga_rawdev.h\"\n",
    "prefixes": [
        "v6",
        "15/27"
    ]
}