These are patches responding to my comments for Magnus's patch (https://patchwork.ozlabs.org/patch/1032848/). The goal is to make pr_* macros available to other C files than libbpf.c, and to simplify API function libbpf_set_print().
Specifically, Patch #1 used global functions to facilitate pr_* macros in the header files so they are available in different C files. Patch #2 removes the global function libbpf_print_level_available() which is added in Patch 1. Patch #3 simplified libbpf_set_print() which takes only one print function with a debug level argument among others. Changelogs: v3 -> v4: . rename libbpf internal header util.h to libbpf_util.h . rename libbpf internal function libbpf_debug_print() to libbpf_print() v2 -> v3: . bailed out earlier in libbpf_debug_print() if __libbpf_pr is NULL . added missing LIBBPF_DEBUG level check in libbpf.c __base_pr(). v1 -> v2: . Renamed global function libbpf_dprint() to libbpf_debug_print() to be more expressive. . Removed libbpf_dprint_level_available() as it is used only once in btf.c and we can remove it by optimizing for common cases. Yonghong Song (3): tools/bpf: move libbpf pr_* debug print functions to headers tools/bpf: print out btf log at LIBBPF_WARN level tools/bpf: simplify libbpf API function libbpf_set_print() tools/lib/bpf/btf.c | 110 +++++++++--------- tools/lib/bpf/btf.h | 7 +- tools/lib/bpf/libbpf.c | 47 ++++---- tools/lib/bpf/libbpf.h | 20 ++-- tools/lib/bpf/libbpf_util.h | 30 +++++ tools/lib/bpf/test_libbpf.cpp | 4 +- tools/perf/util/bpf-loader.c | 32 ++--- tools/testing/selftests/bpf/test_btf.c | 7 +- .../testing/selftests/bpf/test_libbpf_open.c | 36 +++--- tools/testing/selftests/bpf/test_progs.c | 20 +++- 10 files changed, 171 insertions(+), 142 deletions(-) create mode 100644 tools/lib/bpf/libbpf_util.h -- 2.17.1