get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 76889,
    "url": "http://patches.dpdk.org/api/patches/76889/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1599556475-27820-9-git-send-email-arybchenko@solarflare.com/",
    "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": "<1599556475-27820-9-git-send-email-arybchenko@solarflare.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1599556475-27820-9-git-send-email-arybchenko@solarflare.com",
    "date": "2020-09-08T09:14:28",
    "name": "[07/14] net/sfc: use own logging helper macros",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "9833f557b8b7e6970284a412f82b42b766e5519d",
    "submitter": {
        "id": 607,
        "url": "http://patches.dpdk.org/api/people/607/?format=api",
        "name": "Andrew Rybchenko",
        "email": "arybchenko@solarflare.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1599556475-27820-9-git-send-email-arybchenko@solarflare.com/mbox/",
    "series": [
        {
            "id": 12014,
            "url": "http://patches.dpdk.org/api/series/12014/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=12014",
            "date": "2020-09-08T09:14:20",
            "name": "net/sfc: factor out common driver library",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/12014/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/76889/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/76889/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 8843DA04AA;\n\tTue,  8 Sep 2020 11:16:34 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 254BE1C11D;\n\tTue,  8 Sep 2020 11:15:52 +0200 (CEST)",
            "from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com\n [67.231.154.164]) by dpdk.org (Postfix) with ESMTP id F3FD61C114\n for <dev@dpdk.org>; Tue,  8 Sep 2020 11:15:49 +0200 (CEST)",
            "from mx1-us1.ppe-hosted.com (unknown [10.110.50.150])\n by dispatch1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id\n 9DF3320055 for <dev@dpdk.org>; Tue,  8 Sep 2020 09:15:49 +0000 (UTC)",
            "from us4-mdac16-15.at1.mdlocal (unknown [10.110.49.197])\n by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id 793F5800D9\n for <dev@dpdk.org>; Tue,  8 Sep 2020 09:15:48 +0000 (UTC)",
            "from mx1-us1.ppe-hosted.com (unknown [10.110.50.12])\n by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id\n 7374A100108\n for <dev@dpdk.org>; Tue,  8 Sep 2020 09:14:54 +0000 (UTC)",
            "from webmail.solarflare.com (uk.solarflare.com [193.34.186.16])\n (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))\n (No client certificate requested)\n by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id 270AB40075\n for <dev@dpdk.org>; Tue,  8 Sep 2020 09:14:54 +0000 (UTC)",
            "from ukex01.SolarFlarecom.com (10.17.10.4) by\n ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id\n 15.0.1497.2; Tue, 8 Sep 2020 10:14:49 +0100",
            "from opal.uk.solarflarecom.com (10.17.10.1) by\n ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server id\n 15.0.1497.2 via Frontend Transport; Tue, 8 Sep 2020 10:14:49 +0100",
            "from ukv-loginhost.uk.solarflarecom.com\n (ukv-loginhost.uk.solarflarecom.com [10.17.10.39])\n by opal.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id 0889EnNf032422\n for <dev@dpdk.org>; Tue, 8 Sep 2020 10:14:49 +0100",
            "from ukv-loginhost.uk.solarflarecom.com (localhost [127.0.0.1])\n by ukv-loginhost.uk.solarflarecom.com (Postfix) with ESMTP id 7EE521613A9\n for <dev@dpdk.org>; Tue,  8 Sep 2020 10:14:49 +0100 (BST)"
        ],
        "X-Virus-Scanned": "Proofpoint Essentials engine",
        "From": "Andrew Rybchenko <arybchenko@solarflare.com>",
        "To": "<dev@dpdk.org>",
        "Date": "Tue, 8 Sep 2020 10:14:28 +0100",
        "Message-ID": "<1599556475-27820-9-git-send-email-arybchenko@solarflare.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1599556475-27820-1-git-send-email-arybchenko@solarflare.com>",
        "References": "<1599556475-27820-1-git-send-email-arybchenko@solarflare.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-TM-AS-Product-Ver": "SMEX-12.5.0.1300-8.6.1012-25652.003",
        "X-TM-AS-Result": "No-15.476000-8.000000-10",
        "X-TMASE-MatchedRID": "q1pm6qPPK/2bX4K/DqV0NcXfQl57nu/GlSphlGf1p5FwkdIrVt8X1ciT\n Wug2C4DNaBlE1XNBqpjE2B1VA3GwSiHhSBQfglfsA9lly13c/gHAmOfzKotToo+Ixb7djOSCfVU\n ABWHMm0s+FZALrdQw27VYhmmQ16xDEGrGKgXI3I8dt2/pSR7zwIZ6Q5tE4bB0x5B+7qLBJ+z6O4\n 3MfdK6t+8wp+H295Osy/h3/XXam+iqJxP8CL5wCW6HurDH4PpP8gryAriuOnIRQQ4kFqjjJACJT\n p5CwDqKGSUXbuI5f3+Jkhd2ZcbBKHnYsjCinlm920204SCJw/qnLZXtX62Wm3S7//lqxurTHXPt\n gR0gN1zSJsMPesp+yyYRyYlpEhDLENHwxbanitm2+eU4nrUrehdoyFlJ5UUMFBQ5IKls/A7PR1u\n d0AS9ADhME59DakTsbMYatN9zEWEiRWw1gHaWS6IBnfMCFBiCLPSJu5jov2YUZ5IS2TgivU2p3Z\n j/R/ne4vM1YF6AJbbCCfuIMF6xLbxAi7jPoeEQftwZ3X11IV0=",
        "X-TM-AS-User-Approved-Sender": "Yes",
        "X-TM-AS-User-Blocked-Sender": "No",
        "X-TMASE-Result": "10--15.476000-8.000000",
        "X-TMASE-Version": "SMEX-12.5.0.1300-8.6.1012-25652.003",
        "X-MDID": "1599556548-hxEu16sd2n1s",
        "Subject": "[dpdk-dev] [PATCH 07/14] net/sfc: use own logging helper macros",
        "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": "Network driver logging macros depends on sfc_adapter which is\nspecific to the driver and cannot be used in common code.\n\nSigned-off-by: Andrew Rybchenko <arybchenko@solarflare.com>\nReviewed-by: Andy Moreton <amoreton@xilinx.com>\n---\n drivers/net/sfc/sfc.h        |  2 +\n drivers/net/sfc/sfc_ethdev.c | 13 ++++++\n drivers/net/sfc/sfc_log.h    | 12 ++---\n drivers/net/sfc/sfc_mcdi.c   | 86 +++++++++++++++++++++++-------------\n drivers/net/sfc/sfc_mcdi.h   |  1 +\n 5 files changed, 75 insertions(+), 39 deletions(-)",
    "diff": "diff --git a/drivers/net/sfc/sfc.h b/drivers/net/sfc/sfc.h\nindex b3ac752334..b20fecb4f8 100644\n--- a/drivers/net/sfc/sfc.h\n+++ b/drivers/net/sfc/sfc.h\n@@ -22,6 +22,7 @@\n #include \"efx.h\"\n \n #include \"sfc_debug.h\"\n+#include \"sfc_log.h\"\n #include \"sfc_filter.h\"\n #include \"sfc_mcdi.h\"\n \n@@ -170,6 +171,7 @@ struct sfc_adapter_shared {\n \tboolean_t\t\t\tisolated;\n \tuint32_t\t\t\ttunnel_encaps;\n \n+\tchar\t\t\t\tlog_prefix[SFC_LOG_PREFIX_MAX];\n \tstruct rte_pci_addr\t\tpci_addr;\n \tuint16_t\t\t\tport_id;\n \ndiff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c\nindex acee3e48e4..085f020a4c 100644\n--- a/drivers/net/sfc/sfc_ethdev.c\n+++ b/drivers/net/sfc/sfc_ethdev.c\n@@ -2136,6 +2136,7 @@ sfc_eth_dev_init(struct rte_eth_dev *dev)\n \tint rc;\n \tconst efx_nic_cfg_t *encp;\n \tconst struct rte_ether_addr *from;\n+\tint ret;\n \n \tsfc_register_dp();\n \n@@ -2147,6 +2148,18 @@ sfc_eth_dev_init(struct rte_eth_dev *dev)\n \t\treturn -sfc_eth_dev_secondary_init(dev, logtype_main);\n \n \t/* Required for logging */\n+\tret = snprintf(sas->log_prefix, sizeof(sas->log_prefix),\n+\t\t\t\"PMD: sfc_efx \" PCI_PRI_FMT \" #%\" PRIu16 \": \",\n+\t\t\tpci_dev->addr.domain, pci_dev->addr.bus,\n+\t\t\tpci_dev->addr.devid, pci_dev->addr.function,\n+\t\t\tdev->data->port_id);\n+\tif (ret < 0 || ret >= (int)sizeof(sas->log_prefix)) {\n+\t\tSFC_GENERIC_LOG(ERR,\n+\t\t\t\"reserved log prefix is too short for \" PCI_PRI_FMT,\n+\t\t\tpci_dev->addr.domain, pci_dev->addr.bus,\n+\t\t\tpci_dev->addr.devid, pci_dev->addr.function);\n+\t\treturn -EINVAL;\n+\t}\n \tsas->pci_addr = pci_dev->addr;\n \tsas->port_id = dev->data->port_id;\n \ndiff --git a/drivers/net/sfc/sfc_log.h b/drivers/net/sfc/sfc_log.h\nindex 4bf44b1f15..a2d714afb7 100644\n--- a/drivers/net/sfc/sfc_log.h\n+++ b/drivers/net/sfc/sfc_log.h\n@@ -28,20 +28,16 @@ extern uint32_t sfc_logtype_driver;\n /** Device MCDI log type name prefix */\n #define SFC_LOGTYPE_MCDI_STR\tSFC_LOGTYPE_PREFIX \"mcdi\"\n \n+#define SFC_LOG_PREFIX_MAX\t32\n+\n /* Log PMD message, automatically add prefix and \\n */\n #define SFC_LOG(sas, level, type, ...) \\\n \tdo {\t\t\t\t\t\t\t\t\\\n \t\tconst struct sfc_adapter_shared *_sas = (sas);\t\t\\\n \t\t\t\t\t\t\t\t\t\\\n \t\trte_log(level, type,\t\t\t\t\t\\\n-\t\t\tRTE_FMT(\"PMD: sfc_efx \"\t\t\t\t\\\n-\t\t\t\tPCI_PRI_FMT \" #%\" PRIu16\t\t\\\n-\t\t\t\t\": \" RTE_FMT_HEAD(__VA_ARGS__ ,) \"\\n\",\t\\\n-\t\t\t\t_sas->pci_addr.domain,\t\t\t\\\n-\t\t\t\t_sas->pci_addr.bus,\t\t\t\\\n-\t\t\t\t_sas->pci_addr.devid,\t\t\t\\\n-\t\t\t\t_sas->pci_addr.function,\t\t\\\n-\t\t\t\t_sas->port_id,\t\t\t\t\\\n+\t\t\tRTE_FMT(\"%s\" RTE_FMT_HEAD(__VA_ARGS__ ,) \"\\n\",\t\\\n+\t\t\t\t_sas->log_prefix,\t\t\t\\\n \t\t\t\tRTE_FMT_TAIL(__VA_ARGS__,)));\t\t\\\n \t} while (0)\n \ndiff --git a/drivers/net/sfc/sfc_mcdi.c b/drivers/net/sfc/sfc_mcdi.c\nindex 35e1f3940d..5f6ad0a4aa 100644\n--- a/drivers/net/sfc/sfc_mcdi.c\n+++ b/drivers/net/sfc/sfc_mcdi.c\n@@ -23,21 +23,37 @@\n #define SFC_EFX_MCDI_POLL_INTERVAL_MAX_US\t(US_PER_S / 10)\t/* 100ms */\n #define SFC_EFX_MCDI_WATCHDOG_INTERVAL_US\t(10 * US_PER_S)\t/* 10s */\n \n-/** Level value used by MCDI log statements */\n-#define SFC_EFX_LOG_LEVEL_MCDI\tRTE_LOG_INFO\n-\n-#define sfc_efx_log_mcdi(sa, ...) \\\n+#define sfc_efx_mcdi_log(mcdi, level, ...) \\\n \tdo {\t\t\t\t\t\t\t\t\\\n-\t\tconst struct sfc_adapter *_sa = (sa);\t\t\t\\\n+\t\tconst struct sfc_efx_mcdi *_mcdi = (mcdi);\t\t\\\n \t\t\t\t\t\t\t\t\t\\\n-\t\tSFC_LOG(_sa->priv.shared, SFC_EFX_LOG_LEVEL_MCDI,\t\\\n-\t\t\t_sa->mcdi.logtype, __VA_ARGS__);\t\t\\\n+\t\trte_log(level, _mcdi->logtype,\t\t\t\t\\\n+\t\t\tRTE_FMT(\"%s\" RTE_FMT_HEAD(__VA_ARGS__ ,) \"\\n\",\t\\\n+\t\t\t\t_mcdi->log_prefix,\t\t\t\\\n+\t\t\t\tRTE_FMT_TAIL(__VA_ARGS__,)));\t\t\\\n \t} while (0)\n \n+#define sfc_efx_mcdi_err(mcdi, ...) \\\n+\tsfc_efx_mcdi_log(mcdi, RTE_LOG_ERR, __VA_ARGS__)\n+\n+#define sfc_efx_mcdi_warn(mcdi, ...) \\\n+\tsfc_efx_mcdi_log(mcdi, RTE_LOG_WARNING, __VA_ARGS__)\n+\n+#define sfc_efx_mcdi_info(mcdi, ...) \\\n+\tsfc_efx_mcdi_log(mcdi, RTE_LOG_INFO, __VA_ARGS__)\n+\n+/** Level value used by MCDI log statements */\n+#define SFC_EFX_LOG_LEVEL_MCDI\tRTE_LOG_INFO\n+\n+#define sfc_efx_log_mcdi(mcdi, ...) \\\n+\tsfc_efx_mcdi_log(mcdi, SFC_EFX_LOG_LEVEL_MCDI, __VA_ARGS__)\n+\n static void\n sfc_efx_mcdi_timeout(struct sfc_adapter *sa)\n {\n-\tsfc_warn(sa, \"MC TIMEOUT\");\n+\tstruct sfc_efx_mcdi *mcdi = &sa->mcdi;\n+\n+\tsfc_efx_mcdi_warn(mcdi, \"MC TIMEOUT\");\n \n \tsfc_panic(sa, \"MCDI timeout handling is not implemented\\n\");\n }\n@@ -125,7 +141,7 @@ sfc_efx_mcdi_execute(void *arg, efx_mcdi_req_t *emrp)\n \n \t\tif ((mcdi->proxy_handle != 0) &&\n \t\t    (mcdi->proxy_handle != proxy_handle)) {\n-\t\t\tsfc_err(sa, \"Unexpected MCDI proxy event\");\n+\t\t\tsfc_efx_mcdi_err(mcdi, \"Unexpected MCDI proxy event\");\n \t\t\temrp->emr_rc = EFAULT;\n \t\t} else if (mcdi->proxy_result == 0) {\n \t\t\t/*\n@@ -136,9 +152,9 @@ sfc_efx_mcdi_execute(void *arg, efx_mcdi_req_t *emrp)\n \t\t\tsfc_efx_mcdi_poll(sa, B_FALSE);\n \t\t} else {\n \t\t\temrp->emr_rc = mcdi->proxy_result;\n-\t\t\tsfc_err(sa, \"MCDI proxy authorization failed \"\n-\t\t\t\t    \"(handle=%08x, result=%d)\",\n-\t\t\t\t    proxy_handle, mcdi->proxy_result);\n+\t\t\tsfc_efx_mcdi_err(mcdi,\n+\t\t\t\t\"MCDI proxy authorization failed (handle=%08x, result=%d)\",\n+\t\t\t\tproxy_handle, mcdi->proxy_result);\n \t\t}\n \t}\n \n@@ -162,8 +178,9 @@ static void\n sfc_efx_mcdi_exception(void *arg, efx_mcdi_exception_t eme)\n {\n \tstruct sfc_adapter *sa = (struct sfc_adapter *)arg;\n+\tstruct sfc_efx_mcdi *mcdi  = &sa->mcdi;\n \n-\tsfc_warn(sa, \"MC %s\",\n+\tsfc_efx_mcdi_warn(mcdi, \"MC %s\",\n \t    (eme == EFX_MCDI_EXCEPTION_MC_REBOOT) ? \"REBOOT\" :\n \t    (eme == EFX_MCDI_EXCEPTION_MC_BADASSERT) ? \"BADASSERT\" : \"UNKNOWN\");\n \n@@ -173,7 +190,7 @@ sfc_efx_mcdi_exception(void *arg, efx_mcdi_exception_t eme)\n #define SFC_MCDI_LOG_BUF_SIZE\t128\n \n static size_t\n-sfc_efx_mcdi_do_log(const struct sfc_adapter *sa,\n+sfc_efx_mcdi_do_log(const struct sfc_efx_mcdi *mcdi,\n \t\tchar *buffer, void *data, size_t data_size,\n \t\tsize_t pfxsize, size_t position)\n {\n@@ -189,7 +206,7 @@ sfc_efx_mcdi_do_log(const struct sfc_adapter *sa,\n \t\t\t * at the end which is required by netlogdecode.\n \t\t\t */\n \t\t\tbuffer[position] = '\\0';\n-\t\t\tsfc_efx_log_mcdi(sa, \"%s \\\\\", buffer);\n+\t\t\tsfc_efx_log_mcdi(mcdi, \"%s \\\\\", buffer);\n \t\t\t/* Preserve prefix for the next log message */\n \t\t\tposition = pfxsize;\n \t\t}\n@@ -207,6 +224,7 @@ sfc_efx_mcdi_logger(void *arg, efx_log_msg_t type,\n \t\tvoid *data, size_t data_size)\n {\n \tstruct sfc_adapter *sa = (struct sfc_adapter *)arg;\n+\tstruct sfc_efx_mcdi *mcdi = &sa->mcdi;\n \tchar buffer[SFC_MCDI_LOG_BUF_SIZE];\n \tsize_t pfxsize;\n \tsize_t start;\n@@ -218,7 +236,7 @@ sfc_efx_mcdi_logger(void *arg, efx_log_msg_t type,\n \t *\n \t * To avoid wasting time, the actual level is examined in advance.\n \t */\n-\tif (rte_log_get_level(sa->mcdi.logtype) < (int)SFC_EFX_LOG_LEVEL_MCDI)\n+\tif (rte_log_get_level(mcdi->logtype) < (int)SFC_EFX_LOG_LEVEL_MCDI)\n \t\treturn;\n \n \t/* The format including prefix added by sfc_efx_log_mcdi() is the\n@@ -227,13 +245,13 @@ sfc_efx_mcdi_logger(void *arg, efx_log_msg_t type,\n \tpfxsize = snprintf(buffer, sizeof(buffer), \"MCDI RPC %s:\",\n \t\t\t   type == EFX_LOG_MCDI_REQUEST ? \"REQ\" :\n \t\t\t   type == EFX_LOG_MCDI_RESPONSE ? \"RESP\" : \"???\");\n-\tstart = sfc_efx_mcdi_do_log(sa, buffer, header, header_size,\n+\tstart = sfc_efx_mcdi_do_log(mcdi, buffer, header, header_size,\n \t\t\t\t    pfxsize, pfxsize);\n-\tstart = sfc_efx_mcdi_do_log(sa, buffer, data, data_size,\n+\tstart = sfc_efx_mcdi_do_log(mcdi, buffer, data, data_size,\n \t\t\t\t    pfxsize, start);\n \tif (start != pfxsize) {\n \t\tbuffer[start] = '\\0';\n-\t\tsfc_efx_log_mcdi(sa, \"%s\", buffer);\n+\t\tsfc_efx_log_mcdi(mcdi, \"%s\", buffer);\n \t}\n }\n \n@@ -248,30 +266,28 @@ sfc_efx_mcdi_ev_proxy_response(void *arg, uint32_t handle, efx_rc_t result)\n }\n \n static int\n-sfc_efx_mcdi_init(struct sfc_adapter *sa, struct sfc_efx_mcdi *mcdi)\n+sfc_efx_mcdi_init(struct sfc_adapter *sa, struct sfc_efx_mcdi *mcdi,\n+\t\t  uint32_t logtype, const char *log_prefix)\n {\n \tsize_t max_msg_size;\n \tefx_mcdi_transport_t *emtp;\n \tint rc;\n \n-\tsfc_log_init(sa, \"entry\");\n-\n \tSFC_ASSERT(mcdi->state == SFC_EFX_MCDI_UNINITIALIZED);\n \n \trte_spinlock_init(&mcdi->lock);\n \n \tmcdi->state = SFC_EFX_MCDI_INITIALIZED;\n \n+\tmcdi->logtype = logtype;\n+\tmcdi->log_prefix = log_prefix;\n+\n \tmax_msg_size = sizeof(uint32_t) + MCDI_CTL_SDU_LEN_MAX_V2;\n \trc = sfc_dma_alloc(sa, \"mcdi\", 0, max_msg_size, sa->socket_id,\n \t\t\t   &mcdi->mem);\n \tif (rc != 0)\n \t\tgoto fail_dma_alloc;\n \n-\tmcdi->logtype = sfc_register_logtype(&sa->priv.shared->pci_addr,\n-\t\t\t\t\t     SFC_LOGTYPE_MCDI_STR,\n-\t\t\t\t\t     RTE_LOG_NOTICE);\n-\n \temtp = &mcdi->transport;\n \temtp->emt_context = sa;\n \temtp->emt_dma_mem = &mcdi->mem;\n@@ -281,7 +297,7 @@ sfc_efx_mcdi_init(struct sfc_adapter *sa, struct sfc_efx_mcdi *mcdi)\n \temtp->emt_logger = sfc_efx_mcdi_logger;\n \temtp->emt_ev_proxy_response = sfc_efx_mcdi_ev_proxy_response;\n \n-\tsfc_log_init(sa, \"init MCDI\");\n+\tsfc_efx_mcdi_info(mcdi, \"init MCDI\");\n \trc = efx_mcdi_init(sa->nic, emtp);\n \tif (rc != 0)\n \t\tgoto fail_mcdi_init;\n@@ -302,8 +318,6 @@ sfc_efx_mcdi_fini(struct sfc_adapter *sa, struct sfc_efx_mcdi *mcdi)\n {\n \tefx_mcdi_transport_t *emtp;\n \n-\tsfc_log_init(sa, \"entry\");\n-\n \temtp = &mcdi->transport;\n \n \trte_spinlock_lock(&mcdi->lock);\n@@ -311,7 +325,7 @@ sfc_efx_mcdi_fini(struct sfc_adapter *sa, struct sfc_efx_mcdi *mcdi)\n \tSFC_ASSERT(mcdi->state == SFC_EFX_MCDI_INITIALIZED);\n \tmcdi->state = SFC_EFX_MCDI_UNINITIALIZED;\n \n-\tsfc_log_init(sa, \"fini MCDI\");\n+\tsfc_efx_mcdi_info(mcdi, \"fini MCDI\");\n \tefx_mcdi_fini(sa->nic);\n \tmemset(emtp, 0, sizeof(*emtp));\n \n@@ -323,11 +337,21 @@ sfc_efx_mcdi_fini(struct sfc_adapter *sa, struct sfc_efx_mcdi *mcdi)\n int\n sfc_mcdi_init(struct sfc_adapter *sa)\n {\n-\treturn sfc_efx_mcdi_init(sa, &sa->mcdi);\n+\tuint32_t logtype;\n+\n+\tsfc_log_init(sa, \"entry\");\n+\n+\tlogtype = sfc_register_logtype(&sa->priv.shared->pci_addr,\n+\t\t\t\t       SFC_LOGTYPE_MCDI_STR,\n+\t\t\t\t       RTE_LOG_NOTICE);\n+\n+\treturn sfc_efx_mcdi_init(sa, &sa->mcdi, logtype,\n+\t\t\t\t sa->priv.shared->log_prefix);\n }\n \n void\n sfc_mcdi_fini(struct sfc_adapter *sa)\n {\n+\tsfc_log_init(sa, \"entry\");\n \tsfc_efx_mcdi_fini(sa, &sa->mcdi);\n }\ndiff --git a/drivers/net/sfc/sfc_mcdi.h b/drivers/net/sfc/sfc_mcdi.h\nindex 10f5bab666..0194825bfa 100644\n--- a/drivers/net/sfc/sfc_mcdi.h\n+++ b/drivers/net/sfc/sfc_mcdi.h\n@@ -39,6 +39,7 @@ struct sfc_efx_mcdi {\n \tuint32_t\t\t\tlogtype;\n \tuint32_t\t\t\tproxy_handle;\n \tefx_rc_t\t\t\tproxy_result;\n+\tconst char\t\t\t*log_prefix;\n };\n \n #ifdef __cplusplus\n",
    "prefixes": [
        "07/14"
    ]
}