Merge branch 'devlink-small-improvements'
Parav Pandit says: ==================== devlink small improvements This short series improves the devlink code for lock commment, simplifying checks and keeping the scope of mutex lock for necessary fields. Patch summary: Patch-1 Keep the devlink_mutex for only for necessary changes. Patch-2 Avoids duplicate check for reload flag Patch-3 Adds missing comment for the scope of devlink instance lock Patch-4 Constify devlink instance pointer ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
1fe4085f90
|
@ -40,7 +40,9 @@ struct devlink {
|
||||||
struct xarray snapshot_ids;
|
struct xarray snapshot_ids;
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
possible_net_t _net;
|
possible_net_t _net;
|
||||||
struct mutex lock;
|
struct mutex lock; /* Serializes access to devlink instance specific objects such as
|
||||||
|
* port, sb, dpipe, resource, params, region, traps and more.
|
||||||
|
*/
|
||||||
u8 reload_failed:1,
|
u8 reload_failed:1,
|
||||||
reload_enabled:1,
|
reload_enabled:1,
|
||||||
registered:1;
|
registered:1;
|
||||||
|
|
|
@ -2921,7 +2921,7 @@ static void devlink_reload_netns_change(struct devlink *devlink,
|
||||||
DEVLINK_CMD_PARAM_NEW);
|
DEVLINK_CMD_PARAM_NEW);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool devlink_reload_supported(struct devlink *devlink)
|
static bool devlink_reload_supported(const struct devlink *devlink)
|
||||||
{
|
{
|
||||||
return devlink->ops->reload_down && devlink->ops->reload_up;
|
return devlink->ops->reload_down && devlink->ops->reload_up;
|
||||||
}
|
}
|
||||||
|
@ -2967,7 +2967,7 @@ static int devlink_nl_cmd_reload(struct sk_buff *skb, struct genl_info *info)
|
||||||
struct net *dest_net = NULL;
|
struct net *dest_net = NULL;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
if (!devlink_reload_supported(devlink) || !devlink->reload_enabled)
|
if (!devlink_reload_supported(devlink))
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
err = devlink_resources_validate(devlink, NULL, info);
|
err = devlink_resources_validate(devlink, NULL, info);
|
||||||
|
@ -7421,9 +7421,9 @@ EXPORT_SYMBOL_GPL(devlink_alloc);
|
||||||
*/
|
*/
|
||||||
int devlink_register(struct devlink *devlink, struct device *dev)
|
int devlink_register(struct devlink *devlink, struct device *dev)
|
||||||
{
|
{
|
||||||
mutex_lock(&devlink_mutex);
|
|
||||||
devlink->dev = dev;
|
devlink->dev = dev;
|
||||||
devlink->registered = true;
|
devlink->registered = true;
|
||||||
|
mutex_lock(&devlink_mutex);
|
||||||
list_add_tail(&devlink->list, &devlink_list);
|
list_add_tail(&devlink->list, &devlink_list);
|
||||||
devlink_notify(devlink, DEVLINK_CMD_NEW);
|
devlink_notify(devlink, DEVLINK_CMD_NEW);
|
||||||
mutex_unlock(&devlink_mutex);
|
mutex_unlock(&devlink_mutex);
|
||||||
|
|
Loading…
Reference in New Issue