This series starts off (1-2/5) by creating stringifiers for common switchdev objects. This will primarily be used by the tracepoints for decoding switchdev notifications, but drivers could also make use of them to provide richer debug/error messages. Then follows two refactoring commits (3-4/5), with no (intended) functional changes: - 3/5: Wrap all replay callbacks in br_switchdev.c in a switchdev function to make it easy to trace all of these. - 4/5: Instead of using a different format for deferred items, reuse the existing notification structures when enqueuing. This lets us share a bit more code, and it unifies the data presented by the tracepoints. Finally, add the tracepoints. Tobias Waldekranz (5): net: switchdev: Wrap enums in mapper macros net: switchdev: Add helpers to display switchdev objects as strings net: switchdev: Relay all replay messages through a central function net: switchdev: Prepare deferred notifications before enqueuing them net: switchdev: Add tracepoints include/net/switchdev.h | 130 ++++++++---- include/trace/events/switchdev.h | 89 ++++++++ net/bridge/br_switchdev.c | 10 +- net/switchdev/Makefile | 2 +- net/switchdev/switchdev-str.c | 278 +++++++++++++++++++++++++ net/switchdev/switchdev.c | 346 +++++++++++++++++-------------- 6 files changed, 650 insertions(+), 205 deletions(-) create mode 100644 include/trace/events/switchdev.h create mode 100644 net/switchdev/switchdev-str.c -- 2.34.1