[Accel-config] [PATCH 2/3] accel-config: Add deprecated attribute and warnings
Ramesh Thomas <ramesh.thomas at intel.com> Thu, 16 Dec 2021 10:01:13 -0800
| Newsgroups | dev.linux.lists.accel-config |
|---|---|
| Message-ID | <[email protected]> |
Add __attribute((deprecated)) to API functions and data structures to
generate compile time warnings. Add a one time warning if "token"
attribute is found in configuration files.
Signed-off-by: Ramesh Thomas <ramesh.thomas(a)intel.com>
---
accfg/config.c | 6 ++++++
accfg/libaccel_config.h | 35 ++++++++++++++++++++++-------------
2 files changed, 28 insertions(+), 13 deletions(-)
diff --git a/accfg/config.c b/accfg/config.c
index 41c2a34..1038b80 100644
--- a/accfg/config.c
+++ b/accfg/config.c
@@ -24,6 +24,7 @@ static bool verbose;
static bool enable;
static bool forced;
static struct util_filter_params util_param;
+static bool warn_once = true;
static LIST_HEAD(activate_dev_list);
static LIST_HEAD(activate_wq_list);
@@ -630,6 +631,11 @@ static int configure_json_value(struct accfg_ctx *ctx,
if (!parent)
return 0;
+ if (warn_once && strstr(key, "token")) {
+ fprintf(stderr, "Warning: \"token\" attributes are deprecated\n");
+ warn_once = false;
+ }
+
if (dev && dev_state != ACCFG_DEVICE_ENABLED) {
rc = device_json_set_val(dev, jobj, key);
if (rc < 0) {
diff --git a/accfg/libaccel_config.h b/accfg/libaccel_config.h
index 5d346d5..8bd6dda 100644
--- a/accfg/libaccel_config.h
+++ b/accfg/libaccel_config.h
@@ -90,7 +90,7 @@ struct accfg_op_cap {
/* parameters read from sysfs of accfg driver */
struct dev_parameters {
- unsigned int token_limit;
+ unsigned int token_limit __attribute((deprecated));
unsigned int read_buffer_limit;
};
@@ -98,9 +98,9 @@ extern char *accfg_basenames[];
extern char *accfg_mdev_basenames[];
struct group_parameters {
- unsigned int tokens_reserved;
- unsigned int tokens_allowed;
- unsigned int use_token_limit;
+ unsigned int tokens_reserved __attribute((deprecated));
+ unsigned int tokens_allowed __attribute((deprecated));
+ unsigned int use_token_limit __attribute((deprecated));
unsigned int read_buffers_reserved;
unsigned int read_buffers_allowed;
unsigned int use_read_buffer_limit;
@@ -190,15 +190,18 @@ bool accfg_device_get_pasid_enabled(struct accfg_device *device);
bool accfg_device_get_mdev_enabled(struct accfg_device *device);
int accfg_device_get_errors(struct accfg_device *device, struct accfg_error *error);
enum accfg_device_state accfg_device_get_state(struct accfg_device *device);
-unsigned int accfg_device_get_max_tokens(struct accfg_device *device);
+unsigned int accfg_device_get_max_tokens(struct accfg_device *device)
+ __attribute((deprecated));
unsigned int accfg_device_get_max_read_buffers(struct accfg_device *device);
unsigned int accfg_device_get_max_batch_size(struct accfg_device *device);
-unsigned int accfg_device_get_token_limit(struct accfg_device *device);
+unsigned int accfg_device_get_token_limit(struct accfg_device *device)
+ __attribute((deprecated));
unsigned int accfg_device_get_read_buffer_limit(struct accfg_device *device);
unsigned int accfg_device_get_cdev_major(struct accfg_device *device);
unsigned int accfg_device_get_version(struct accfg_device *device);
int accfg_device_get_clients(struct accfg_device *device);
-int accfg_device_set_token_limit(struct accfg_device *dev, int val);
+int accfg_device_set_token_limit(struct accfg_device *dev, int val)
+ __attribute((deprecated));
int accfg_device_set_read_buffer_limit(struct accfg_device *dev, int val);
int accfg_device_is_active(struct accfg_device *device);
unsigned int accfg_device_get_cmd_status(struct accfg_device *device);
@@ -240,19 +243,25 @@ uint64_t accfg_group_get_size(struct accfg_group *group);
uint64_t accfg_group_get_available_size(struct accfg_group *group);
struct accfg_device *accfg_group_get_device(struct accfg_group *group);
struct accfg_ctx *accfg_group_get_ctx(struct accfg_group *group);
-int accfg_group_get_tokens_reserved(struct accfg_group *group);
+int accfg_group_get_tokens_reserved(struct accfg_group *group)
+ __attribute((deprecated));
int accfg_group_get_read_buffers_reserved(struct accfg_group *group);
-int accfg_group_get_tokens_allowed(struct accfg_group *group);
+int accfg_group_get_tokens_allowed(struct accfg_group *group)
+ __attribute((deprecated));
int accfg_group_get_read_buffers_allowed(struct accfg_group *group);
-int accfg_group_get_use_token_limit(struct accfg_group *group);
+int accfg_group_get_use_token_limit(struct accfg_group *group)
+ __attribute((deprecated));
int accfg_group_get_use_read_buffer_limit(struct accfg_group *group);
int accfg_group_get_traffic_class_a(struct accfg_group *group);
int accfg_group_get_traffic_class_b(struct accfg_group *group);
-int accfg_group_set_tokens_reserved(struct accfg_group *group, int val);
+int accfg_group_set_tokens_reserved(struct accfg_group *group, int val)
+ __attribute((deprecated));
int accfg_group_set_read_buffers_reserved(struct accfg_group *group, int val);
-int accfg_group_set_tokens_allowed(struct accfg_group *group, int val);
+int accfg_group_set_tokens_allowed(struct accfg_group *group, int val)
+ __attribute((deprecated));
int accfg_group_set_read_buffers_allowed(struct accfg_group *group, int val);
-int accfg_group_set_use_token_limit(struct accfg_group *group, int val);
+int accfg_group_set_use_token_limit(struct accfg_group *group, int val)
+ __attribute((deprecated));
int accfg_group_set_use_read_buffer_limit(struct accfg_group *group, int val);
int accfg_group_set_traffic_class_a(struct accfg_group *group, int val);
int accfg_group_set_traffic_class_b(struct accfg_group *group, int val);
--
2.31.1