perf: Add PMU_FORMAT_ATTR_SHOW
authorKan Liang <kan.liang@linux.intel.com>
Wed, 4 Jan 2023 20:13:41 +0000 (12:13 -0800)
committerIngo Molnar <mingo@kernel.org>
Mon, 9 Jan 2023 11:22:07 +0000 (12:22 +0100)
The macro PMU_FORMAT_ATTR facilitates the definition of both the "show"
function and "format_attr". But it only works for a non-hybrid platform.
For a hybrid platform, the name "format_attr_hybrid_" is used.

The definition of the "show" function can be shared between a non-hybrid
platform and a hybrid platform. Add a new macro PMU_FORMAT_ATTR_SHOW.

No functional change. The PMU_FORMAT_ATTR_SHOW will be used in the
following patch.

Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20230104201349.1451191-1-kan.liang@linux.intel.com
include/linux/perf_event.h

index c6a3bac..ad92ad3 100644 (file)
@@ -1724,7 +1724,7 @@ static struct perf_pmu_events_attr _var = {                                   \
                  .id = _id, }                                          \
        })[0].attr.attr)
 
-#define PMU_FORMAT_ATTR(_name, _format)                                        \
+#define PMU_FORMAT_ATTR_SHOW(_name, _format)                           \
 static ssize_t                                                         \
 _name##_show(struct device *dev,                                       \
                               struct device_attribute *attr,           \
@@ -1733,6 +1733,9 @@ _name##_show(struct device *dev,                                  \
        BUILD_BUG_ON(sizeof(_format) >= PAGE_SIZE);                     \
        return sprintf(page, _format "\n");                             \
 }                                                                      \
+
+#define PMU_FORMAT_ATTR(_name, _format)                                        \
+       PMU_FORMAT_ATTR_SHOW(_name, _format)                            \
                                                                        \
 static struct device_attribute format_attr_##_name = __ATTR_RO(_name)