devlink: Add API to register and unregister single parameter
authorParav Pandit <parav@nvidia.com>
Tue, 10 Aug 2021 13:24:19 +0000 (16:24 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Aug 2021 13:34:21 +0000 (14:34 +0100)
commitb40c51efefbc4a3ddec682f118adefea1ccf70dc
tree82858b096959a9a4242ea15247c21d6e720ed086
parent699784f7b72861206e49679f485befbc48b05e53
devlink: Add API to register and unregister single parameter

Currently device configuration parameters can be registered as an array.
Due to this a constant array must be registered. A single driver
supporting multiple devices each with different device capabilities end
up registering all parameters even if it doesn't support it.

One possible workaround a driver can do is, it registers multiple single
entry arrays to overcome such limitation.

Better is to provide a API that enables driver to register/unregister a
single parameter. This also further helps in two ways.
(1) to reduce the memory of devlink_param_entry by avoiding in registering
parameters which are not supported by the device.
(2) avoid generating multiple parameter add, delete, publish, unpublish,
init value notifications for such unsupported parameters

Signed-off-by: Parav Pandit <parav@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/devlink.h
net/core/devlink.c