devlink: Delete obsolete parameters publish API
The change of devlink_register() to be last devlink command together with delayed notification logic made the publish API to be obsolete. Signed-off-by: Leon Romanovsky <leonro@nvidia.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
61e18ce734
commit
99ad92eff7
|
@ -468,7 +468,6 @@ struct devlink_param_item {
|
||||||
const struct devlink_param *param;
|
const struct devlink_param *param;
|
||||||
union devlink_param_value driverinit_value;
|
union devlink_param_value driverinit_value;
|
||||||
bool driverinit_value_valid;
|
bool driverinit_value_valid;
|
||||||
bool published;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum devlink_param_generic_id {
|
enum devlink_param_generic_id {
|
||||||
|
@ -1592,8 +1591,6 @@ int devlink_param_register(struct devlink *devlink,
|
||||||
const struct devlink_param *param);
|
const struct devlink_param *param);
|
||||||
void devlink_param_unregister(struct devlink *devlink,
|
void devlink_param_unregister(struct devlink *devlink,
|
||||||
const struct devlink_param *param);
|
const struct devlink_param *param);
|
||||||
void devlink_params_publish(struct devlink *devlink);
|
|
||||||
void devlink_params_unpublish(struct devlink *devlink);
|
|
||||||
int devlink_param_driverinit_value_get(struct devlink *devlink, u32 param_id,
|
int devlink_param_driverinit_value_get(struct devlink *devlink, u32 param_id,
|
||||||
union devlink_param_value *init_val);
|
union devlink_param_value *init_val);
|
||||||
int devlink_param_driverinit_value_set(struct devlink *devlink, u32 param_id,
|
int devlink_param_driverinit_value_set(struct devlink *devlink, u32 param_id,
|
||||||
|
|
|
@ -4600,8 +4600,6 @@ static int devlink_nl_param_fill(struct sk_buff *msg, struct devlink *devlink,
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
param_value[i] = param_item->driverinit_value;
|
param_value[i] = param_item->driverinit_value;
|
||||||
} else {
|
} else {
|
||||||
if (!param_item->published)
|
|
||||||
continue;
|
|
||||||
ctx.cmode = i;
|
ctx.cmode = i;
|
||||||
err = devlink_param_get(devlink, param, &ctx);
|
err = devlink_param_get(devlink, param, &ctx);
|
||||||
if (err)
|
if (err)
|
||||||
|
@ -9076,6 +9074,7 @@ static void devlink_notify_register(struct devlink *devlink)
|
||||||
{
|
{
|
||||||
struct devlink_trap_policer_item *policer_item;
|
struct devlink_trap_policer_item *policer_item;
|
||||||
struct devlink_trap_group_item *group_item;
|
struct devlink_trap_group_item *group_item;
|
||||||
|
struct devlink_param_item *param_item;
|
||||||
struct devlink_trap_item *trap_item;
|
struct devlink_trap_item *trap_item;
|
||||||
struct devlink_port *devlink_port;
|
struct devlink_port *devlink_port;
|
||||||
struct devlink_rate *rate_node;
|
struct devlink_rate *rate_node;
|
||||||
|
@ -9102,19 +9101,24 @@ static void devlink_notify_register(struct devlink *devlink)
|
||||||
list_for_each_entry(region, &devlink->region_list, list)
|
list_for_each_entry(region, &devlink->region_list, list)
|
||||||
devlink_nl_region_notify(region, NULL, DEVLINK_CMD_REGION_NEW);
|
devlink_nl_region_notify(region, NULL, DEVLINK_CMD_REGION_NEW);
|
||||||
|
|
||||||
devlink_params_publish(devlink);
|
list_for_each_entry(param_item, &devlink->param_list, list)
|
||||||
|
devlink_param_notify(devlink, 0, param_item,
|
||||||
|
DEVLINK_CMD_PARAM_NEW);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void devlink_notify_unregister(struct devlink *devlink)
|
static void devlink_notify_unregister(struct devlink *devlink)
|
||||||
{
|
{
|
||||||
struct devlink_trap_policer_item *policer_item;
|
struct devlink_trap_policer_item *policer_item;
|
||||||
struct devlink_trap_group_item *group_item;
|
struct devlink_trap_group_item *group_item;
|
||||||
|
struct devlink_param_item *param_item;
|
||||||
struct devlink_trap_item *trap_item;
|
struct devlink_trap_item *trap_item;
|
||||||
struct devlink_port *devlink_port;
|
struct devlink_port *devlink_port;
|
||||||
struct devlink_rate *rate_node;
|
struct devlink_rate *rate_node;
|
||||||
struct devlink_region *region;
|
struct devlink_region *region;
|
||||||
|
|
||||||
devlink_params_unpublish(devlink);
|
list_for_each_entry_reverse(param_item, &devlink->param_list, list)
|
||||||
|
devlink_param_notify(devlink, 0, param_item,
|
||||||
|
DEVLINK_CMD_PARAM_DEL);
|
||||||
|
|
||||||
list_for_each_entry_reverse(region, &devlink->region_list, list)
|
list_for_each_entry_reverse(region, &devlink->region_list, list)
|
||||||
devlink_nl_region_notify(region, NULL, DEVLINK_CMD_REGION_DEL);
|
devlink_nl_region_notify(region, NULL, DEVLINK_CMD_REGION_DEL);
|
||||||
|
@ -10229,51 +10233,6 @@ void devlink_param_unregister(struct devlink *devlink,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(devlink_param_unregister);
|
EXPORT_SYMBOL_GPL(devlink_param_unregister);
|
||||||
|
|
||||||
/**
|
|
||||||
* devlink_params_publish - publish configuration parameters
|
|
||||||
*
|
|
||||||
* @devlink: devlink
|
|
||||||
*
|
|
||||||
* Publish previously registered configuration parameters.
|
|
||||||
*/
|
|
||||||
void devlink_params_publish(struct devlink *devlink)
|
|
||||||
{
|
|
||||||
struct devlink_param_item *param_item;
|
|
||||||
|
|
||||||
if (!xa_get_mark(&devlinks, devlink->index, DEVLINK_REGISTERED))
|
|
||||||
return;
|
|
||||||
|
|
||||||
list_for_each_entry(param_item, &devlink->param_list, list) {
|
|
||||||
if (param_item->published)
|
|
||||||
continue;
|
|
||||||
param_item->published = true;
|
|
||||||
devlink_param_notify(devlink, 0, param_item,
|
|
||||||
DEVLINK_CMD_PARAM_NEW);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL_GPL(devlink_params_publish);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* devlink_params_unpublish - unpublish configuration parameters
|
|
||||||
*
|
|
||||||
* @devlink: devlink
|
|
||||||
*
|
|
||||||
* Unpublish previously registered configuration parameters.
|
|
||||||
*/
|
|
||||||
void devlink_params_unpublish(struct devlink *devlink)
|
|
||||||
{
|
|
||||||
struct devlink_param_item *param_item;
|
|
||||||
|
|
||||||
list_for_each_entry(param_item, &devlink->param_list, list) {
|
|
||||||
if (!param_item->published)
|
|
||||||
continue;
|
|
||||||
param_item->published = false;
|
|
||||||
devlink_param_notify(devlink, 0, param_item,
|
|
||||||
DEVLINK_CMD_PARAM_DEL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL_GPL(devlink_params_unpublish);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* devlink_param_driverinit_value_get - get configuration parameter
|
* devlink_param_driverinit_value_get - get configuration parameter
|
||||||
* value for driver initializing
|
* value for driver initializing
|
||||||
|
|
Loading…
Reference in New Issue