The auxiliary device creation of this driver is simple enough to
use the available auxiliary device creation helper.

Use it and remove some boilerplate code.

Acked-by: Conor Dooley <conor.doo...@microchip.com>
Signed-off-by: Jerome Brunet <jbru...@baylibre.com>
---
 drivers/reset/reset-mpfs.c | 56 +++++-----------------------------------------
 1 file changed, 5 insertions(+), 51 deletions(-)

diff --git a/drivers/reset/reset-mpfs.c b/drivers/reset/reset-mpfs.c
index 
574e59db83a4fcf30b60cb5f638607a2ec7b0580..f6fa10e03ea889e5434110156f7bece808a6ae92
 100644
--- a/drivers/reset/reset-mpfs.c
+++ b/drivers/reset/reset-mpfs.c
@@ -155,62 +155,16 @@ static int mpfs_reset_probe(struct auxiliary_device *adev,
        return devm_reset_controller_register(dev, rcdev);
 }
 
-static void mpfs_reset_unregister_adev(void *_adev)
-{
-       struct auxiliary_device *adev = _adev;
-
-       auxiliary_device_delete(adev);
-       auxiliary_device_uninit(adev);
-}
-
-static void mpfs_reset_adev_release(struct device *dev)
-{
-       struct auxiliary_device *adev = to_auxiliary_dev(dev);
-
-       kfree(adev);
-}
-
-static struct auxiliary_device *mpfs_reset_adev_alloc(struct device *clk_dev)
-{
-       struct auxiliary_device *adev;
-       int ret;
-
-       adev = kzalloc(sizeof(*adev), GFP_KERNEL);
-       if (!adev)
-               return ERR_PTR(-ENOMEM);
-
-       adev->name = "reset-mpfs";
-       adev->dev.parent = clk_dev;
-       adev->dev.release = mpfs_reset_adev_release;
-       adev->id = 666u;
-
-       ret = auxiliary_device_init(adev);
-       if (ret) {
-               kfree(adev);
-               return ERR_PTR(ret);
-       }
-
-       return adev;
-}
-
 int mpfs_reset_controller_register(struct device *clk_dev, void __iomem *base)
 {
        struct auxiliary_device *adev;
-       int ret;
 
-       adev = mpfs_reset_adev_alloc(clk_dev);
-       if (IS_ERR(adev))
-               return PTR_ERR(adev);
-
-       ret = auxiliary_device_add(adev);
-       if (ret) {
-               auxiliary_device_uninit(adev);
-               return ret;
-       }
-
-       adev->dev.platform_data = (__force void *)base;
+       adev = devm_auxiliary_device_create(clk_dev, "reset-mpfs",
+                                           (__force void *)base);
+       if (!adev)
+               return -ENODEV;
 
-       return devm_add_action_or_reset(clk_dev, mpfs_reset_unregister_adev, 
adev);
+       return 0;
 }
 EXPORT_SYMBOL_NS_GPL(mpfs_reset_controller_register, "MCHP_CLK_MPFS");
 

-- 
2.47.2

Reply via email to