}
 
 static int
-mlxsw_sp_span_entry_phys_parms(const struct net_device *to_dev,
+mlxsw_sp_span_entry_phys_parms(struct mlxsw_sp *mlxsw_sp,
+                              const struct net_device *to_dev,
                               struct mlxsw_sp_span_parms *sparmsp)
 {
        sparmsp->dest_port = netdev_priv(to_dev);
 }
 
 static int
-mlxsw_sp_span_entry_gretap4_parms(const struct net_device *to_dev,
+mlxsw_sp_span_entry_gretap4_parms(struct mlxsw_sp *mlxsw_sp,
+                                 const struct net_device *to_dev,
                                  struct mlxsw_sp_span_parms *sparmsp)
 {
        struct ip_tunnel_parm tparm = mlxsw_sp_ipip_netdev_parms4(to_dev);
 }
 
 static int
-mlxsw_sp_span_entry_gretap6_parms(const struct net_device *to_dev,
+mlxsw_sp_span_entry_gretap6_parms(struct mlxsw_sp *mlxsw_sp,
+                                 const struct net_device *to_dev,
                                  struct mlxsw_sp_span_parms *sparmsp)
 {
        struct __ip6_tnl_parm tparm = mlxsw_sp_ipip_netdev_parms6(to_dev);
 }
 
 static int
-mlxsw_sp_span_entry_vlan_parms(const struct net_device *to_dev,
+mlxsw_sp_span_entry_vlan_parms(struct mlxsw_sp *mlxsw_sp,
+                              const struct net_device *to_dev,
                               struct mlxsw_sp_span_parms *sparmsp)
 {
        struct net_device *real_dev;
 };
 
 static int
-mlxsw_sp_span_entry_nop_parms(const struct net_device *to_dev,
+mlxsw_sp_span_entry_nop_parms(struct mlxsw_sp *mlxsw_sp,
+                             const struct net_device *to_dev,
                              struct mlxsw_sp_span_parms *sparmsp)
 {
        return mlxsw_sp_span_entry_unoffloadable(sparmsp);
                if (!refcount_read(&curr->ref_count))
                        continue;
 
-               err = curr->ops->parms_set(curr->to_dev, &sparms);
+               err = curr->ops->parms_set(mlxsw_sp, curr->to_dev, &sparms);
                if (err)
                        continue;
 
        }
 
        memset(&sparms, 0, sizeof(sparms));
-       err = ops->parms_set(to_dev, &sparms);
+       err = ops->parms_set(mlxsw_sp, to_dev, &sparms);
        if (err)
                return err;
 
 
 
 struct mlxsw_sp_span_entry_ops {
        bool (*can_handle)(const struct net_device *to_dev);
-       int (*parms_set)(const struct net_device *to_dev,
+       int (*parms_set)(struct mlxsw_sp *mlxsw_sp,
+                        const struct net_device *to_dev,
                         struct mlxsw_sp_span_parms *sparmsp);
        int (*configure)(struct mlxsw_sp_span_entry *span_entry,
                         struct mlxsw_sp_span_parms sparms);