net: dsa: Add helper to convert from devlink to ds

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>
This commit is contained in:
Andrew Lunn 2020-09-18 21:11:03 +02:00 коммит произвёл David S. Miller
Родитель d4602a9f47
Коммит ccc3e6b019
2 изменённых файлов: 9 добавлений и 10 удалений

Просмотреть файл

@ -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;

Просмотреть файл

@ -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;