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

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
...@@ -721,7 +721,7 @@ static int tegra_hsp_probe(struct platform_device *pdev) ...@@ -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) { if (err < 0) {
dev_err(&pdev->dev, "failed to register doorbell mailbox: %d\n", dev_err(&pdev->dev, "failed to register doorbell mailbox: %d\n",
err); err);
...@@ -745,15 +745,15 @@ static int tegra_hsp_probe(struct platform_device *pdev) ...@@ -745,15 +745,15 @@ static int tegra_hsp_probe(struct platform_device *pdev)
if (err < 0) { if (err < 0) {
dev_err(&pdev->dev, "failed to add mailboxes: %d\n", dev_err(&pdev->dev, "failed to add mailboxes: %d\n",
err); 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) { if (err < 0) {
dev_err(&pdev->dev, "failed to register shared mailbox: %d\n", dev_err(&pdev->dev, "failed to register shared mailbox: %d\n",
err); err);
goto unregister_mbox_db; return err;
} }
platform_set_drvdata(pdev, hsp); platform_set_drvdata(pdev, hsp);
...@@ -766,32 +766,15 @@ static int tegra_hsp_probe(struct platform_device *pdev) ...@@ -766,32 +766,15 @@ static int tegra_hsp_probe(struct platform_device *pdev)
dev_err(&pdev->dev, dev_err(&pdev->dev,
"failed to request doorbell IRQ#%u: %d\n", "failed to request doorbell IRQ#%u: %d\n",
hsp->doorbell_irq, err); hsp->doorbell_irq, err);
goto unregister_mbox_sm; return err;
} }
} }
if (hsp->shared_irqs) { if (hsp->shared_irqs) {
err = tegra_hsp_request_shared_irq(hsp); err = tegra_hsp_request_shared_irq(hsp);
if (err < 0) 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; 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; return 0;
} }
...@@ -842,7 +825,6 @@ static struct platform_driver tegra_hsp_driver = { ...@@ -842,7 +825,6 @@ static struct platform_driver tegra_hsp_driver = {
.pm = &tegra_hsp_pm_ops, .pm = &tegra_hsp_pm_ops,
}, },
.probe = tegra_hsp_probe, .probe = tegra_hsp_probe,
.remove = tegra_hsp_remove,
}; };
static int __init tegra_hsp_init(void) static int __init tegra_hsp_init(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment