[Accel-config] [PATCH v3 2/4] accel-config: Add compatibility mode detection

ramesh.thomas at intel.com
Newsgroups dev.linux.lists.accel-config
Message-ID <[email protected]>
From: Ramesh Thomas <ramesh.thomas(a)intel.com>

Add a flag in accfg context to store commpatibility mode. Absence of
/sys/bus/dsa/drivers/idxd indicates compatibility mode.

Signed-off-by: Ramesh Thomas <ramesh.thomas(a)intel.com>
---
 accfg/lib/libaccfg.c | 4 ++++
 accfg/lib/private.h  | 1 +
 2 files changed, 5 insertions(+)

diff --git a/accfg/lib/libaccfg.c b/accfg/lib/libaccfg.c
index 450be4f..58ad97f 100644
--- a/accfg/lib/libaccfg.c
+++ b/accfg/lib/libaccfg.c
@@ -28,6 +28,7 @@
 #include "private.h"
 
 #define MDEV_POSTFIX "mdev_supported_types"
+#define IDXD_DRIVER_BIND_PATH "/sys/bus/dsa/drivers/idxd"
 
 const char *accfg_wq_mode_str[] = {
 	[ACCFG_WQ_SHARED]	= "shared",
@@ -310,6 +311,9 @@ ACCFG_EXPORT int accfg_new(struct accfg_ctx **ctx)
 	c->refcount = 1;
 	log_init(&c->ctx, "libaccfg", "ACCFG_LOG");
 	c->timeout = 5000;
+	if (access(IDXD_DRIVER_BIND_PATH, R_OK))
+		c->compat = true;
+
 	list_head_init(&c->devices);
 
 	info(c, "ctx %p created\n", c);
diff --git a/accfg/lib/private.h b/accfg/lib/private.h
index 0fdc5d5..f407643 100644
--- a/accfg/lib/private.h
+++ b/accfg/lib/private.h
@@ -146,6 +146,7 @@ struct accfg_ctx {
 	struct list_head devices;
 	uint64_t timeout;
 	void *private_data;
+	bool compat;
 };
 
 static inline int check_udev(struct udev *udev)
-- 
2.26.2
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.