Change devlink_reload_supported() function to get devlink_ops pointer
param instead of devlink pointer param.
This change will be used in the next patch to check if devlink reload is
supported before devlink instance is allocated.

Signed-off-by: Moshe Shemesh <mo...@mellanox.com>
---
RFCv5 -> v1:
- New patch
---
 net/core/devlink.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/net/core/devlink.c b/net/core/devlink.c
index 6f2863e717a9..722a9431ff60 100644
--- a/net/core/devlink.c
+++ b/net/core/devlink.c
@@ -2946,9 +2946,9 @@ static void devlink_reload_netns_change(struct devlink 
*devlink,
                                     DEVLINK_CMD_PARAM_NEW);
 }
 
-static bool devlink_reload_supported(const struct devlink *devlink)
+static bool devlink_reload_supported(const struct devlink_ops *ops)
 {
-       return devlink->ops->reload_down && devlink->ops->reload_up;
+       return ops->reload_down && ops->reload_up;
 }
 
 static void devlink_reload_failed_set(struct devlink *devlink,
@@ -2992,7 +2992,7 @@ static int devlink_nl_cmd_reload(struct sk_buff *skb, 
struct genl_info *info)
        struct net *dest_net = NULL;
        int err;
 
-       if (!devlink_reload_supported(devlink))
+       if (!devlink_reload_supported(devlink->ops))
                return -EOPNOTSUPP;
 
        err = devlink_resources_validate(devlink, NULL, info);
@@ -7516,7 +7516,7 @@ EXPORT_SYMBOL_GPL(devlink_register);
 void devlink_unregister(struct devlink *devlink)
 {
        mutex_lock(&devlink_mutex);
-       WARN_ON(devlink_reload_supported(devlink) &&
+       WARN_ON(devlink_reload_supported(devlink->ops) &&
                devlink->reload_enabled);
        devlink_notify(devlink, DEVLINK_CMD_DEL);
        list_del(&devlink->list);
@@ -8553,7 +8553,7 @@ __devlink_param_driverinit_value_set(struct devlink 
*devlink,
 int devlink_param_driverinit_value_get(struct devlink *devlink, u32 param_id,
                                       union devlink_param_value *init_val)
 {
-       if (!devlink_reload_supported(devlink))
+       if (!devlink_reload_supported(devlink->ops))
                return -EOPNOTSUPP;
 
        return __devlink_param_driverinit_value_get(&devlink->param_list,
@@ -8600,7 +8600,7 @@ int devlink_port_param_driverinit_value_get(struct 
devlink_port *devlink_port,
 {
        struct devlink *devlink = devlink_port->devlink;
 
-       if (!devlink_reload_supported(devlink))
+       if (!devlink_reload_supported(devlink->ops))
                return -EOPNOTSUPP;
 
        return __devlink_param_driverinit_value_get(&devlink_port->param_list,
@@ -9733,7 +9733,7 @@ static void __net_exit devlink_pernet_pre_exit(struct net 
*net)
        mutex_lock(&devlink_mutex);
        list_for_each_entry(devlink, &devlink_list, list) {
                if (net_eq(devlink_net(devlink), net)) {
-                       if (WARN_ON(!devlink_reload_supported(devlink)))
+                       if (WARN_ON(!devlink_reload_supported(devlink->ops)))
                                continue;
                        err = devlink_reload(devlink, &init_net, NULL);
                        if (err && err != -EOPNOTSUPP)
-- 
2.18.2

Reply via email to