get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 55176,
    "url": "https://patches.dpdk.org/api/patches/55176/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20190621155659.29297-5-bruce.richardson@intel.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": "<20190621155659.29297-5-bruce.richardson@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190621155659.29297-5-bruce.richardson@intel.com",
    "date": "2019-06-21T15:56:59",
    "name": "[v2,4/4] rawdev: pass device id as parameter to selftest",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "49270b404fcf776f03bafcbcb114541969d948a7",
    "submitter": {
        "id": 20,
        "url": "https://patches.dpdk.org/api/people/20/?format=api",
        "name": "Bruce Richardson",
        "email": "bruce.richardson@intel.com"
    },
    "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/20190621155659.29297-5-bruce.richardson@intel.com/mbox/",
    "series": [
        {
            "id": 5120,
            "url": "https://patches.dpdk.org/api/series/5120/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=5120",
            "date": "2019-06-21T15:56:55",
            "name": "fixes and improvements for rawdev",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/5120/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/55176/comments/",
    "check": "fail",
    "checks": "https://patches.dpdk.org/api/patches/55176/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 [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id D502E1D582;\n\tFri, 21 Jun 2019 17:57:26 +0200 (CEST)",
            "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n\tby dpdk.org (Postfix) with ESMTP id 73BB41D556\n\tfor <dev@dpdk.org>; Fri, 21 Jun 2019 17:57:25 +0200 (CEST)",
            "from fmsmga004.fm.intel.com ([10.253.24.48])\n\tby orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t21 Jun 2019 08:57:25 -0700",
            "from silpixa00399126.ir.intel.com (HELO\n\tsilpixa00399126.ger.corp.intel.com) ([10.237.223.2])\n\tby fmsmga004.fm.intel.com with ESMTP; 21 Jun 2019 08:57:24 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.63,400,1557212400\"; d=\"scan'208\";a=\"183441182\"",
        "From": "Bruce Richardson <bruce.richardson@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "Bruce Richardson <bruce.richardson@intel.com>,\n\tshreyansh.jain@nxp.com",
        "Date": "Fri, 21 Jun 2019 16:56:59 +0100",
        "Message-Id": "<20190621155659.29297-5-bruce.richardson@intel.com>",
        "X-Mailer": "git-send-email 2.21.0",
        "In-Reply-To": "<20190621155659.29297-1-bruce.richardson@intel.com>",
        "References": "<20190619170802.7691-1-bruce.richardson@intel.com>\n\t<20190621155659.29297-1-bruce.richardson@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v2 4/4] rawdev: pass device id as parameter to\n\tselftest",
        "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "When running self-tests, the driver needs to know the device on which to\nrun the tests, so we need to take the device ID as parameter. Only the\nskeleton driver is providing this selftest capability right now, so we can\neasily update it for this change.\n\nCc: shreyansh.jain@nxp.com\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\n---\n\nSince this change only affects the internals of the drivers, it's not an\nABI or API change\n\n---\n\n drivers/raw/skeleton_rawdev/skeleton_rawdev.c      | 8 +++++---\n drivers/raw/skeleton_rawdev/skeleton_rawdev.h      | 2 +-\n drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c | 3 ++-\n lib/librte_rawdev/rte_rawdev.c                     | 2 +-\n lib/librte_rawdev/rte_rawdev_pmd.h                 | 2 +-\n 5 files changed, 10 insertions(+), 7 deletions(-)",
    "diff": "diff --git a/drivers/raw/skeleton_rawdev/skeleton_rawdev.c b/drivers/raw/skeleton_rawdev/skeleton_rawdev.c\nindex 709be7691..42471fbd1 100644\n--- a/drivers/raw/skeleton_rawdev/skeleton_rawdev.c\n+++ b/drivers/raw/skeleton_rawdev/skeleton_rawdev.c\n@@ -583,6 +583,8 @@ skeleton_rawdev_create(const char *name,\n \t\tgoto cleanup;\n \t}\n \n+\tret = rawdev->dev_id; /* return the rawdev id of new device */\n+\n \trawdev->dev_ops = &skeleton_rawdev_ops;\n \trawdev->device = &vdev->device;\n \n@@ -720,19 +722,19 @@ skeleton_rawdev_probe(struct rte_vdev_device *vdev)\n \t/* In case of invalid argument, selftest != 1; ignore other values */\n \n \tret = skeleton_rawdev_create(name, vdev, rte_socket_id());\n-\tif (!ret) {\n+\tif (ret >= 0) {\n \t\t/* In case command line argument for 'selftest' was passed;\n \t\t * if invalid arguments were passed, execution continues but\n \t\t * without selftest.\n \t\t */\n \t\tif (selftest == 1)\n-\t\t\ttest_rawdev_skeldev();\n+\t\t\ttest_rawdev_skeldev(ret);\n \t}\n \n \t/* Device instance created; Second instance not possible */\n \tskeldev_init_once = 1;\n \n-\treturn ret;\n+\treturn ret < 0 ? ret : 0;\n }\n \n static int\ndiff --git a/drivers/raw/skeleton_rawdev/skeleton_rawdev.h b/drivers/raw/skeleton_rawdev/skeleton_rawdev.h\nindex 5045b5922..c3f92e72a 100644\n--- a/drivers/raw/skeleton_rawdev/skeleton_rawdev.h\n+++ b/drivers/raw/skeleton_rawdev/skeleton_rawdev.h\n@@ -131,6 +131,6 @@ skeleton_rawdev_get_priv(const struct rte_rawdev *rawdev)\n \treturn rawdev->dev_private;\n }\n \n-int test_rawdev_skeldev(void);\n+int test_rawdev_skeldev(uint16_t dev_id);\n \n #endif /* __SKELETON_RAWDEV_H__ */\ndiff --git a/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c b/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c\nindex d7177ea75..ad700e21c 100644\n--- a/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c\n+++ b/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c\n@@ -427,8 +427,9 @@ static void skeldev_test_run(int (*setup)(void),\n }\n \n int\n-test_rawdev_skeldev(void)\n+test_rawdev_skeldev(uint16_t dev_id)\n {\n+\ttest_dev_id = dev_id;\n \ttestsuite_setup();\n \n \tSKELDEV_TEST_RUN(NULL, NULL, test_rawdev_count);\ndiff --git a/lib/librte_rawdev/rte_rawdev.c b/lib/librte_rawdev/rte_rawdev.c\nindex 2b2f45d7c..15de2d413 100644\n--- a/lib/librte_rawdev/rte_rawdev.c\n+++ b/lib/librte_rawdev/rte_rawdev.c\n@@ -378,7 +378,7 @@ rte_rawdev_selftest(uint16_t dev_id)\n \tstruct rte_rawdev *dev = &rte_rawdevs[dev_id];\n \n \tRTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->dev_selftest, -ENOTSUP);\n-\treturn (*dev->dev_ops->dev_selftest)();\n+\treturn (*dev->dev_ops->dev_selftest)(dev_id);\n }\n \n int\ndiff --git a/lib/librte_rawdev/rte_rawdev_pmd.h b/lib/librte_rawdev/rte_rawdev_pmd.h\nindex 5e6cf1d16..aa6af4a37 100644\n--- a/lib/librte_rawdev/rte_rawdev_pmd.h\n+++ b/lib/librte_rawdev/rte_rawdev_pmd.h\n@@ -499,7 +499,7 @@ typedef int (*rawdev_firmware_unload_t)(struct rte_rawdev *dev);\n  * @return\n  *   Return 0 on success\n  */\n-typedef int (*rawdev_selftest_t)(void);\n+typedef int (*rawdev_selftest_t)(uint16_t dev_id);\n \n /** Rawdevice operations function pointer table */\n struct rte_rawdev_ops {\n",
    "prefixes": [
        "v2",
        "4/4"
    ]
}