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. v1 -> v2: - Fixup kernel-doc comment for switchdev_call_replay I know that there are still some warnings issued by checkpatch, but I'm not sure how to work around them, given the nature of the mapper macros. Please advise. 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