Use the device lifecycle managed add function. This helps prevent mistakes
like deleting out of order in cleanup functions and forgetting to delete
on error paths.

Signed-off-by: Andrew Davis <a...@ti.com>
---
 drivers/remoteproc/keystone_remoteproc.c | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/drivers/remoteproc/keystone_remoteproc.c 
b/drivers/remoteproc/keystone_remoteproc.c
index ec8413ea78cf7..27ebe6661b0b7 100644
--- a/drivers/remoteproc/keystone_remoteproc.c
+++ b/drivers/remoteproc/keystone_remoteproc.c
@@ -463,22 +463,13 @@ static int keystone_rproc_probe(struct platform_device 
*pdev)
                keystone_rproc_dsp_reset(ksproc);
        }
 
-       ret = rproc_add(rproc);
+       ret = devm_rproc_add(dev, rproc);
        if (ret)
                return dev_err_probe(dev, ret, "failed to register device with 
remoteproc core\n");
 
-       platform_set_drvdata(pdev, ksproc);
-
        return 0;
 }
 
-static void keystone_rproc_remove(struct platform_device *pdev)
-{
-       struct keystone_rproc *ksproc = platform_get_drvdata(pdev);
-
-       rproc_del(ksproc->rproc);
-}
-
 static const struct of_device_id keystone_rproc_of_match[] = {
        { .compatible = "ti,k2hk-dsp", },
        { .compatible = "ti,k2l-dsp", },
@@ -490,7 +481,6 @@ MODULE_DEVICE_TABLE(of, keystone_rproc_of_match);
 
 static struct platform_driver keystone_rproc_driver = {
        .probe  = keystone_rproc_probe,
-       .remove = keystone_rproc_remove,
        .driver = {
                .name = "keystone-rproc",
                .of_match_table = keystone_rproc_of_match,
-- 
2.39.2


Reply via email to