Hide away from DSA drivers how devlink works.

Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
 include/net/dsa.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/include/net/dsa.h b/include/net/dsa.h
index f0bb64e5002f..24c925c192ec 100644
--- a/include/net/dsa.h
+++ b/include/net/dsa.h
@@ -686,6 +686,20 @@ static inline struct dsa_switch *dsa_devlink_to_ds(struct 
devlink *dl)
        return dl_priv->ds;
 }
 
+static inline
+struct dsa_switch *dsa_devlink_port_to_ds(struct devlink_port *port)
+{
+       struct devlink *dl = port->devlink;
+       struct dsa_devlink_priv *dl_priv = devlink_priv(dl);
+
+       return dl_priv->ds;
+}
+
+static inline int dsa_devlink_port_to_port(struct devlink_port *port)
+{
+       return port->index;
+}
+
 struct dsa_switch_driver {
        struct list_head        list;
        const struct dsa_switch_ops *ops;
-- 
2.28.0

Reply via email to