[PATCH 10/17] tools/arch/x86/pmtctl: Add libpmtctl usage sample
From: David E. Box
Date: Mon May 25 2026 - 21:52:07 EST
Add a small sample program under samples/ that demonstrates how an
out-of-tree consumer links against libpmtctl, plus the corresponding
'sample' Makefile target.
Assisted-by: GitHub-Copilot:claude-opus-4.7
Signed-off-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx>
---
.../x86/pmtctl/samples/libpmtctl_sample.c | 30 +++++++++++++++++++
1 file changed, 30 insertions(+)
create mode 100644 tools/arch/x86/pmtctl/samples/libpmtctl_sample.c
diff --git a/tools/arch/x86/pmtctl/samples/libpmtctl_sample.c b/tools/arch/x86/pmtctl/samples/libpmtctl_sample.c
new file mode 100644
index 000000000000..88a12d5c9ddb
--- /dev/null
+++ b/tools/arch/x86/pmtctl/samples/libpmtctl_sample.c
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: GPL-2.0-only
+#include <stdio.h>
+
+#include "pmtctl.h"
+
+int main(void)
+{
+ struct pmt_global_opts opts = {
+ .json_path = NULL,
+ .device_selector = NULL,
+ .quiet = false,
+ .debug = false,
+ };
+ int ret;
+
+ ret = pmtctl_init(&opts);
+ if (ret != 0) {
+ fprintf(stderr, "pmtctl_init failed: %d\n", ret);
+ return 1;
+ }
+
+ printf("devices=%d metrics=%d bindings=%d\n",
+ pmtctl_get_num_devices(),
+ pmtctl_get_num_metrics(),
+ pmtctl_get_num_bindings());
+
+ pmtctl_cleanup();
+
+ return 0;
+}
--
2.43.0