bus/vdev: change log type
authorJianfeng Tan <jianfeng.tan@intel.com>
Tue, 7 Nov 2017 06:54:22 +0000 (06:54 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 7 Nov 2017 15:54:07 +0000 (16:54 +0100)
Use specialized dynamic log type for vdev bus logging.

Suggested-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Suggested-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
drivers/bus/vdev/vdev.c
drivers/bus/vdev/vdev_logs.h [new file with mode: 0644]

index 04ed49b..fd7736d 100644 (file)
@@ -47,6 +47,9 @@
 #include <rte_errno.h>
 
 #include "rte_bus_vdev.h"
+#include "vdev_logs.h"
+
+int vdev_logtype_bus;
 
 /* Forward declare to access virtual bus name */
 static struct rte_bus rte_vdev_bus;
@@ -103,7 +106,7 @@ vdev_probe_all_drivers(struct rte_vdev_device *dev)
 
        name = rte_vdev_device_name(dev);
 
-       RTE_LOG(DEBUG, EAL, "Search driver %s to probe device %s\n", name,
+       VDEV_LOG(DEBUG, "Search driver %s to probe device %s\n", name,
                rte_vdev_device_name(dev));
 
        if (vdev_parse(name, &driver))
@@ -190,7 +193,7 @@ rte_vdev_init(const char *name, const char *args)
        ret = vdev_probe_all_drivers(dev);
        if (ret) {
                if (ret > 0)
-                       RTE_LOG(ERR, EAL, "no driver found for %s\n", name);
+                       VDEV_LOG(ERR, "no driver found for %s\n", name);
                goto fail;
        }
 
@@ -213,7 +216,7 @@ vdev_remove_driver(struct rte_vdev_device *dev)
        const struct rte_vdev_driver *driver;
 
        if (!dev->device.driver) {
-               RTE_LOG(DEBUG, EAL, "no driver attach to device %s\n", name);
+               VDEV_LOG(DEBUG, "no driver attach to device %s\n", name);
                return 1;
        }
 
@@ -294,7 +297,7 @@ vdev_probe(void)
                        continue;
 
                if (vdev_probe_all_drivers(dev)) {
-                       RTE_LOG(ERR, EAL, "failed to initialize %s device\n",
+                       VDEV_LOG(ERR, "failed to initialize %s device\n",
                                rte_vdev_device_name(dev));
                        return -1;
                }
@@ -342,3 +345,10 @@ static struct rte_bus rte_vdev_bus = {
 };
 
 RTE_REGISTER_BUS(vdev, rte_vdev_bus);
+
+RTE_INIT(vdev_init_log)
+{
+       vdev_logtype_bus = rte_log_register("bus.vdev");
+       if (vdev_logtype_bus >= 0)
+               rte_log_set_level(vdev_logtype_bus, RTE_LOG_NOTICE);
+}
diff --git a/drivers/bus/vdev/vdev_logs.h b/drivers/bus/vdev/vdev_logs.h
new file mode 100644 (file)
index 0000000..43b0ab8
--- /dev/null
@@ -0,0 +1,45 @@
+/*-
+ *   BSD LICENSE
+ *
+ *   Copyright(c) 2017 Intel Corporation. All rights reserved.
+ *   All rights reserved.
+ *
+ *   Redistribution and use in source and binary forms, with or without
+ *   modification, are permitted provided that the following conditions
+ *   are met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in
+ *       the documentation and/or other materials provided with the
+ *       distribution.
+ *     * Neither the name of Intel Corporation nor the names of its
+ *       contributors may be used to endorse or promote products derived
+ *       from this software without specific prior written permission.
+ *
+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _VDEV_LOGS_H_
+#define _VDEV_LOGS_H_
+
+#include <rte_log.h>
+
+extern int vdev_logtype_bus;
+
+#define VDEV_LOG(level, fmt, args...) \
+       rte_log(RTE_LOG_ ## level, vdev_logtype_bus, "%s(): " fmt "\n", \
+               __func__, ##args)
+
+#endif /* _VDEV_LOGS_H_ */