net: dsa: Add helper for converting devlink port to ds and port
authorAndrew Lunn <andrew@lunn.ch>
Sun, 4 Oct 2020 16:12:56 +0000 (18:12 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 4 Oct 2020 21:38:53 +0000 (14:38 -0700)
Hide away from DSA drivers how devlink works.

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

index ca426cf..c018566 100644 (file)
@@ -701,6 +701,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;