Commit db4278c5 authored by Leon Romanovsky's avatar Leon Romanovsky Committed by David S. Miller
Browse files

devlink: Make devlink_register to be void



devlink_register() can't fail and always returns success, but all drivers
are obligated to check returned status anyway. This adds a lot of boilerplate
code to handle impossible flow.

Make devlink_register() void and simplify the drivers that use that
API call.

Signed-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
Acked-by: default avatarSimon Horman <simon.horman@corigine.com>
Acked-by: Vladimir Oltean <olteanv@gmail.com> # dsa
Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 07b85562
Loading
Loading
Loading
Loading
+2 −9
Original line number Diff line number Diff line
@@ -802,12 +802,7 @@ int bnxt_dl_register(struct bnxt *bp)
	    bp->hwrm_spec_code > 0x10803)
		bp->eswitch_mode = DEVLINK_ESWITCH_MODE_LEGACY;

	rc = devlink_register(dl);
	if (rc) {
		netdev_warn(bp->dev, "devlink_register failed. rc=%d\n", rc);
		goto err_dl_free;
	}

	devlink_register(dl);
	if (!BNXT_PF(bp))
		return 0;

@@ -819,7 +814,7 @@ int bnxt_dl_register(struct bnxt *bp)
	rc = devlink_port_register(dl, &bp->dl_port, bp->pf.port_id);
	if (rc) {
		netdev_err(bp->dev, "devlink_port_register failed\n");
		goto err_dl_unreg;
		goto err_dl_free;
	}

	rc = bnxt_dl_params_register(bp);
@@ -830,8 +825,6 @@ int bnxt_dl_register(struct bnxt *bp)

err_dl_port_unreg:
	devlink_port_unregister(&bp->dl_port);
err_dl_unreg:
	devlink_unregister(dl);
err_dl_free:
	bnxt_link_bp_to_dl(bp, NULL);
	devlink_free(dl);
+1 −7
Original line number Diff line number Diff line
@@ -3760,13 +3760,7 @@ static int setup_nic_devices(struct octeon_device *octeon_dev)
	lio_devlink = devlink_priv(devlink);
	lio_devlink->oct = octeon_dev;

	if (devlink_register(devlink)) {
		devlink_free(devlink);
		dev_err(&octeon_dev->pci_dev->dev,
			"devlink registration failed\n");
		goto setup_nic_dev_free;
	}

	devlink_register(devlink);
	octeon_dev->devlink = devlink;
	octeon_dev->eswitch_mode = DEVLINK_ESWITCH_MODE_LEGACY;

+1 −12
Original line number Diff line number Diff line
@@ -194,7 +194,6 @@ int dpaa2_eth_dl_register(struct dpaa2_eth_priv *priv)
	struct net_device *net_dev = priv->net_dev;
	struct device *dev = net_dev->dev.parent;
	struct dpaa2_eth_devlink_priv *dl_priv;
	int err;

	priv->devlink =
		devlink_alloc(&dpaa2_eth_devlink_ops, sizeof(*dl_priv), dev);
@@ -205,18 +204,8 @@ int dpaa2_eth_dl_register(struct dpaa2_eth_priv *priv)
	dl_priv = devlink_priv(priv->devlink);
	dl_priv->dpaa2_priv = priv;

	err = devlink_register(priv->devlink);
	if (err) {
		dev_err(dev, "devlink_register() = %d\n", err);
		goto devlink_free;
	}

	devlink_register(priv->devlink);
	return 0;

devlink_free:
	devlink_free(priv->devlink);

	return err;
}

void dpaa2_eth_dl_unregister(struct dpaa2_eth_priv *priv)
+1 −13
Original line number Diff line number Diff line
@@ -109,7 +109,6 @@ int hclge_devlink_init(struct hclge_dev *hdev)
	struct pci_dev *pdev = hdev->pdev;
	struct hclge_devlink_priv *priv;
	struct devlink *devlink;
	int ret;

	devlink = devlink_alloc(&hclge_devlink_ops,
				sizeof(struct hclge_devlink_priv), &pdev->dev);
@@ -120,20 +119,9 @@ int hclge_devlink_init(struct hclge_dev *hdev)
	priv->hdev = hdev;
	hdev->devlink = devlink;

	ret = devlink_register(devlink);
	if (ret) {
		dev_err(&pdev->dev, "failed to register devlink, ret = %d\n",
			ret);
		goto out_reg_fail;
	}

	devlink_register(devlink);
	devlink_reload_enable(devlink);

	return 0;

out_reg_fail:
	devlink_free(devlink);
	return ret;
}

void hclge_devlink_uninit(struct hclge_dev *hdev)
+1 −13
Original line number Diff line number Diff line
@@ -110,7 +110,6 @@ int hclgevf_devlink_init(struct hclgevf_dev *hdev)
	struct pci_dev *pdev = hdev->pdev;
	struct hclgevf_devlink_priv *priv;
	struct devlink *devlink;
	int ret;

	devlink =
		devlink_alloc(&hclgevf_devlink_ops,
@@ -122,20 +121,9 @@ int hclgevf_devlink_init(struct hclgevf_dev *hdev)
	priv->hdev = hdev;
	hdev->devlink = devlink;

	ret = devlink_register(devlink);
	if (ret) {
		dev_err(&pdev->dev, "failed to register devlink, ret = %d\n",
			ret);
		goto out_reg_fail;
	}

	devlink_register(devlink);
	devlink_reload_enable(devlink);

	return 0;

out_reg_fail:
	devlink_free(devlink);
	return ret;
}

void hclgevf_devlink_uninit(struct hclgevf_dev *hdev)
Loading