Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d69e1164 authored by Thierry Reding's avatar Thierry Reding Committed by Jassi Brar
Browse files

mailbox: tegra-hsp: Use device-managed registration API



In order to get rid of a lot of cleanup boilerplate code, use the
device-managed registration API.

Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
Signed-off-by: default avatarJassi Brar <jaswinder.singh@linaro.org>
parent a54d03ed
Loading
Loading
Loading
Loading
+6 −24
Original line number Diff line number Diff line
@@ -721,7 +721,7 @@ static int tegra_hsp_probe(struct platform_device *pdev)
		}
	}

	err = mbox_controller_register(&hsp->mbox_db);
	err = devm_mbox_controller_register(&pdev->dev, &hsp->mbox_db);
	if (err < 0) {
		dev_err(&pdev->dev, "failed to register doorbell mailbox: %d\n",
			err);
@@ -745,15 +745,15 @@ static int tegra_hsp_probe(struct platform_device *pdev)
		if (err < 0) {
			dev_err(&pdev->dev, "failed to add mailboxes: %d\n",
			        err);
			goto unregister_mbox_db;
			return err;
		}
	}

	err = mbox_controller_register(&hsp->mbox_sm);
	err = devm_mbox_controller_register(&pdev->dev, &hsp->mbox_sm);
	if (err < 0) {
		dev_err(&pdev->dev, "failed to register shared mailbox: %d\n",
			err);
		goto unregister_mbox_db;
		return err;
	}

	platform_set_drvdata(pdev, hsp);
@@ -766,33 +766,16 @@ static int tegra_hsp_probe(struct platform_device *pdev)
			dev_err(&pdev->dev,
			        "failed to request doorbell IRQ#%u: %d\n",
				hsp->doorbell_irq, err);
			goto unregister_mbox_sm;
			return err;
		}
	}

	if (hsp->shared_irqs) {
		err = tegra_hsp_request_shared_irq(hsp);
		if (err < 0)
			goto unregister_mbox_sm;
	}

	return 0;

unregister_mbox_sm:
	mbox_controller_unregister(&hsp->mbox_sm);
unregister_mbox_db:
	mbox_controller_unregister(&hsp->mbox_db);

			return err;
	}

static int tegra_hsp_remove(struct platform_device *pdev)
{
	struct tegra_hsp *hsp = platform_get_drvdata(pdev);

	mbox_controller_unregister(&hsp->mbox_sm);
	mbox_controller_unregister(&hsp->mbox_db);

	return 0;
}

@@ -842,7 +825,6 @@ static struct platform_driver tegra_hsp_driver = {
		.pm = &tegra_hsp_pm_ops,
	},
	.probe = tegra_hsp_probe,
	.remove = tegra_hsp_remove,
};

static int __init tegra_hsp_init(void)