Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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: Thierry Reding <treding@nvidia.com>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>

authored by

Thierry Reding and committed by
Jassi Brar
d69e1164 a54d03ed

+6 -24
+6 -24
drivers/mailbox/tegra-hsp.c
··· 721 721 } 722 722 } 723 723 724 - err = mbox_controller_register(&hsp->mbox_db); 724 + err = devm_mbox_controller_register(&pdev->dev, &hsp->mbox_db); 725 725 if (err < 0) { 726 726 dev_err(&pdev->dev, "failed to register doorbell mailbox: %d\n", 727 727 err); ··· 745 745 if (err < 0) { 746 746 dev_err(&pdev->dev, "failed to add mailboxes: %d\n", 747 747 err); 748 - goto unregister_mbox_db; 748 + return err; 749 749 } 750 750 } 751 751 752 - err = mbox_controller_register(&hsp->mbox_sm); 752 + err = devm_mbox_controller_register(&pdev->dev, &hsp->mbox_sm); 753 753 if (err < 0) { 754 754 dev_err(&pdev->dev, "failed to register shared mailbox: %d\n", 755 755 err); 756 - goto unregister_mbox_db; 756 + return err; 757 757 } 758 758 759 759 platform_set_drvdata(pdev, hsp); ··· 766 766 dev_err(&pdev->dev, 767 767 "failed to request doorbell IRQ#%u: %d\n", 768 768 hsp->doorbell_irq, err); 769 - goto unregister_mbox_sm; 769 + return err; 770 770 } 771 771 } 772 772 773 773 if (hsp->shared_irqs) { 774 774 err = tegra_hsp_request_shared_irq(hsp); 775 775 if (err < 0) 776 - goto unregister_mbox_sm; 776 + return err; 777 777 } 778 - 779 - return 0; 780 - 781 - unregister_mbox_sm: 782 - mbox_controller_unregister(&hsp->mbox_sm); 783 - unregister_mbox_db: 784 - mbox_controller_unregister(&hsp->mbox_db); 785 - 786 - return err; 787 - } 788 - 789 - static int tegra_hsp_remove(struct platform_device *pdev) 790 - { 791 - struct tegra_hsp *hsp = platform_get_drvdata(pdev); 792 - 793 - mbox_controller_unregister(&hsp->mbox_sm); 794 - mbox_controller_unregister(&hsp->mbox_db); 795 778 796 779 return 0; 797 780 } ··· 825 842 .pm = &tegra_hsp_pm_ops, 826 843 }, 827 844 .probe = tegra_hsp_probe, 828 - .remove = tegra_hsp_remove, 829 845 }; 830 846 831 847 static int __init tegra_hsp_init(void)