Support getting devlink instance from a new NDO.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
 int nfp_app_nic_vnic_init_phy_port(struct nfp_pf *pf, struct nfp_app *app,
                                   struct nfp_net *nn, unsigned int id);
 
+struct devlink *nfp_devlink_get_devlink(struct net_device *netdev);
+
 #endif
 
 {
        devlink_port_unregister(&port->dl_port);
 }
+
+struct devlink *nfp_devlink_get_devlink(struct net_device *netdev)
+{
+       struct nfp_app *app;
+
+       app = nfp_app_from_netdev(netdev);
+       if (!app)
+               return NULL;
+
+       return priv_to_devlink(app->pf);
+}
 
        .ndo_udp_tunnel_del     = nfp_net_del_vxlan_port,
        .ndo_bpf                = nfp_net_xdp,
        .ndo_get_port_parent_id = nfp_port_get_port_parent_id,
+       .ndo_get_devlink        = nfp_devlink_get_devlink,
 };
 
 /**
 
        .ndo_set_features       = nfp_port_set_features,
        .ndo_set_mac_address    = eth_mac_addr,
        .ndo_get_port_parent_id = nfp_port_get_port_parent_id,
+       .ndo_get_devlink        = nfp_devlink_get_devlink,
 };
 
 void