Commit ac73d4bf authored by Jiri Pirko's avatar Jiri Pirko Committed by Jakub Kicinski
Browse files

net: make drivers to use SET_NETDEV_DEVLINK_PORT to set devlink_port



Benefit from the previously implemented tracking of netdev events in
devlink code and instead of calling  devlink_port_type_eth_set() and
devlink_port_type_clear() to set devlink port type and link to related
netdev, use SET_NETDEV_DEVLINK_PORT() macro to assign devlink_port
pointer to netdevice which is about to be registered.

Signed-off-by: default avatarJiri Pirko <jiri@nvidia.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 02a68a47
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -13122,9 +13122,6 @@ static void bnxt_remove_one(struct pci_dev *pdev)
	if (BNXT_PF(bp))
		bnxt_sriov_disable(bp);

	if (BNXT_PF(bp))
		devlink_port_type_clear(&bp->dl_port);

	bnxt_ptp_clear(bp);
	pci_disable_pcie_error_reporting(pdev);
	unregister_netdev(dev);
@@ -13537,6 +13534,7 @@ static int bnxt_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
		return -ENOMEM;

	bp = netdev_priv(dev);
	SET_NETDEV_DEVLINK_PORT(dev, &bp->dl_port);
	bp->board_idx = ent->driver_data;
	bp->msg_enable = BNXT_DEF_MSG_ENABLE;
	bnxt_set_max_func_irqs(bp, max_irqs);
@@ -13712,8 +13710,6 @@ static int bnxt_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
	if (rc)
		goto init_err_cleanup;

	if (BNXT_PF(bp))
		devlink_port_type_eth_set(&bp->dl_port, bp->dev);
	bnxt_dl_fw_reporters_create(bp);

	bnxt_print_device_info(bp);
+1 −10
Original line number Diff line number Diff line
@@ -226,25 +226,16 @@ int dpaa2_eth_dl_port_add(struct dpaa2_eth_priv *priv)
{
	struct devlink_port *devlink_port = &priv->devlink_port;
	struct devlink_port_attrs attrs = {};
	int err;

	attrs.flavour = DEVLINK_PORT_FLAVOUR_PHYSICAL;
	devlink_port_attrs_set(devlink_port, &attrs);

	err = devlink_port_register(priv->devlink, devlink_port, 0);
	if (err)
		return err;

	devlink_port_type_eth_set(devlink_port, priv->net_dev);

	return 0;
	return devlink_port_register(priv->devlink, devlink_port, 0);
}

void dpaa2_eth_dl_port_del(struct dpaa2_eth_priv *priv)
{
	struct devlink_port *devlink_port = &priv->devlink_port;

	devlink_port_type_clear(devlink_port);
	devlink_port_unregister(devlink_port);
}

+1 −0
Original line number Diff line number Diff line
@@ -4791,6 +4791,7 @@ static int dpaa2_eth_probe(struct fsl_mc_device *dpni_dev)

	priv = netdev_priv(net_dev);
	priv->net_dev = net_dev;
	SET_NETDEV_DEVLINK_PORT(net_dev, &priv->devlink_port);

	priv->iommu_domain = iommu_get_domain_for_dev(dev);

+1 −4
Original line number Diff line number Diff line
@@ -1760,6 +1760,7 @@ static int fun_create_netdev(struct fun_ethdev *ed, unsigned int portid)
		goto free_rss;

	SET_NETDEV_DEV(netdev, fdev->dev);
	SET_NETDEV_DEVLINK_PORT(netdev, &fp->dl_port);
	netdev->netdev_ops = &fun_netdev_ops;

	netdev->hw_features = NETIF_F_SG | NETIF_F_RXHASH | NETIF_F_RXCSUM;
@@ -1800,9 +1801,6 @@ static int fun_create_netdev(struct fun_ethdev *ed, unsigned int portid)
	rc = register_netdev(netdev);
	if (rc)
		goto unreg_devlink;

	devlink_port_type_eth_set(&fp->dl_port, netdev);

	return 0;

unreg_devlink:
@@ -1827,7 +1825,6 @@ static void fun_destroy_netdev(struct net_device *netdev)
	struct funeth_priv *fp;

	fp = netdev_priv(netdev);
	devlink_port_type_clear(&fp->dl_port);
	unregister_netdev(netdev);
	devlink_port_unregister(&fp->dl_port);
	fun_ktls_cleanup(fp);
+2 −12
Original line number Diff line number Diff line
@@ -1033,12 +1033,7 @@ int ice_devlink_create_pf_port(struct ice_pf *pf)
 */
void ice_devlink_destroy_pf_port(struct ice_pf *pf)
{
	struct devlink_port *devlink_port;

	devlink_port = &pf->devlink_port;

	devlink_port_type_clear(devlink_port);
	devlink_port_unregister(devlink_port);
	devlink_port_unregister(&pf->devlink_port);
}

/**
@@ -1094,12 +1089,7 @@ int ice_devlink_create_vf_port(struct ice_vf *vf)
 */
void ice_devlink_destroy_vf_port(struct ice_vf *vf)
{
	struct devlink_port *devlink_port;

	devlink_port = &vf->devlink_port;

	devlink_port_type_clear(devlink_port);
	devlink_port_unregister(devlink_port);
	devlink_port_unregister(&vf->devlink_port);
}

#define ICE_DEVLINK_READ_BLK_SIZE (1024 * 1024)
Loading