net: dsa: Add helper to convert from devlink to ds
authorAndrew Lunn <andrew@lunn.ch>
Fri, 18 Sep 2020 19:11:03 +0000 (21:11 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 19 Sep 2020 01:17:45 +0000 (18:17 -0700)
Given a devlink instance, return the dsa switch it is associated to.

Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/dsa.h
net/dsa/dsa.c

index 75c8fac..42ae6d4 100644 (file)
@@ -664,6 +664,13 @@ struct dsa_devlink_priv {
        struct dsa_switch *ds;
 };
 
+static inline struct dsa_switch *dsa_devlink_to_ds(struct devlink *dl)
+{
+       struct dsa_devlink_priv *dl_priv = devlink_priv(dl);
+
+       return dl_priv->ds;
+}
+
 struct dsa_switch_driver {
        struct list_head        list;
        const struct dsa_switch_ops *ops;
index 1ce9ba8..9b7019d 100644 (file)
@@ -330,11 +330,7 @@ EXPORT_SYMBOL_GPL(call_dsa_notifiers);
 int dsa_devlink_param_get(struct devlink *dl, u32 id,
                          struct devlink_param_gset_ctx *ctx)
 {
-       struct dsa_devlink_priv *dl_priv;
-       struct dsa_switch *ds;
-
-       dl_priv = devlink_priv(dl);
-       ds = dl_priv->ds;
+       struct dsa_switch *ds = dsa_devlink_to_ds(dl);
 
        if (!ds->ops->devlink_param_get)
                return -EOPNOTSUPP;
@@ -346,11 +342,7 @@ EXPORT_SYMBOL_GPL(dsa_devlink_param_get);
 int dsa_devlink_param_set(struct devlink *dl, u32 id,
                          struct devlink_param_gset_ctx *ctx)
 {
-       struct dsa_devlink_priv *dl_priv;
-       struct dsa_switch *ds;
-
-       dl_priv = devlink_priv(dl);
-       ds = dl_priv->ds;
+       struct dsa_switch *ds = dsa_devlink_to_ds(dl);
 
        if (!ds->ops->devlink_param_set)
                return -EOPNOTSUPP;