]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
devlink: add devlink_dev_driver_name() helper and use it in trace events
authorJiri Pirko <jiri@nvidia.com>
Thu, 12 Mar 2026 10:04:02 +0000 (11:04 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sat, 14 Mar 2026 20:08:49 +0000 (13:08 -0700)
In preparation to dev-less devlinks, add devlink_dev_driver_name()
that returns the driver name stored in devlink struct, and use it in
all trace events.

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Link: https://patch.msgid.link/20260312100407.551173-9-jiri@resnulli.us
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/devlink.h
include/trace/events/devlink.h
net/devlink/core.c

index 0afb0958b910494cb3c7acd334cb181c8234605d..45dec7067a8e58300810ec1b6a60d9011404f907 100644 (file)
@@ -1613,6 +1613,7 @@ struct devlink *priv_to_devlink(void *priv);
 struct device *devlink_to_dev(const struct devlink *devlink);
 const char *devlink_bus_name(const struct devlink *devlink);
 const char *devlink_dev_name(const struct devlink *devlink);
+const char *devlink_dev_driver_name(const struct devlink *devlink);
 
 /* Devlink instance explicit locking */
 void devl_lock(struct devlink *devlink);
index 32304ce9ad15fac11434c8d1455413a665447418..4f8edf77dfbe8461a1800bff052e6643380fc16f 100644 (file)
@@ -23,7 +23,7 @@ TRACE_EVENT(devlink_hwmsg,
        TP_STRUCT__entry(
                __string(bus_name, devlink_bus_name(devlink))
                __string(dev_name, devlink_dev_name(devlink))
-               __string(driver_name, devlink_to_dev(devlink)->driver->name)
+               __string(driver_name, devlink_dev_driver_name(devlink))
                __field(bool, incoming)
                __field(unsigned long, type)
                __dynamic_array(u8, buf, len)
@@ -57,7 +57,7 @@ TRACE_EVENT(devlink_hwerr,
        TP_STRUCT__entry(
                __string(bus_name, devlink_bus_name(devlink))
                __string(dev_name, devlink_dev_name(devlink))
-               __string(driver_name, devlink_to_dev(devlink)->driver->name)
+               __string(driver_name, devlink_dev_driver_name(devlink))
                __field(int, err)
                __string(msg, msg)
                ),
@@ -87,7 +87,7 @@ TRACE_EVENT(devlink_health_report,
        TP_STRUCT__entry(
                __string(bus_name, devlink_bus_name(devlink))
                __string(dev_name, devlink_dev_name(devlink))
-               __string(driver_name, devlink_to_dev(devlink)->driver->name)
+               __string(driver_name, devlink_dev_driver_name(devlink))
                __string(reporter_name, reporter_name)
                __string(msg, msg)
        ),
@@ -118,7 +118,7 @@ TRACE_EVENT(devlink_health_recover_aborted,
        TP_STRUCT__entry(
                __string(bus_name, devlink_bus_name(devlink))
                __string(dev_name, devlink_dev_name(devlink))
-               __string(driver_name, devlink_to_dev(devlink)->driver->name)
+               __string(driver_name, devlink_dev_driver_name(devlink))
                __string(reporter_name, reporter_name)
                __field(bool, health_state)
                __field(u64, time_since_last_recover)
@@ -152,7 +152,7 @@ TRACE_EVENT(devlink_health_reporter_state_update,
        TP_STRUCT__entry(
                __string(bus_name, devlink_bus_name(devlink))
                __string(dev_name, devlink_dev_name(devlink))
-               __string(driver_name, devlink_to_dev(devlink)->driver->name)
+               __string(driver_name, devlink_dev_driver_name(devlink))
                __string(reporter_name, reporter_name)
                __field(u8, new_state)
        ),
@@ -183,7 +183,7 @@ TRACE_EVENT(devlink_trap_report,
        TP_STRUCT__entry(
                __string(bus_name, devlink_bus_name(devlink))
                __string(dev_name, devlink_dev_name(devlink))
-               __string(driver_name, devlink_to_dev(devlink)->driver->name)
+               __string(driver_name, devlink_dev_driver_name(devlink))
                __string(trap_name, metadata->trap_name)
                __string(trap_group_name, metadata->trap_group_name)
                __array(char, input_dev_name, IFNAMSIZ)
index fcb73d3e56aad322159ef18a492b552e4c4a4b69..34eb06d88544570083919a894a00d7531b90de8b 100644 (file)
@@ -260,6 +260,12 @@ const char *devlink_dev_name(const struct devlink *devlink)
 }
 EXPORT_SYMBOL_GPL(devlink_dev_name);
 
+const char *devlink_dev_driver_name(const struct devlink *devlink)
+{
+       return devlink->dev_driver->name;
+}
+EXPORT_SYMBOL_GPL(devlink_dev_driver_name);
+
 struct net *devlink_net(const struct devlink *devlink)
 {
        return read_pnet(&devlink->_net);