platform/x86/amd/hsmp: Create static func to handle platdev
authorSuma Hegde <suma.hegde@amd.com>
Sat, 6 Jan 2024 02:25:24 +0000 (02:25 +0000)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Thu, 25 Jan 2024 12:51:17 +0000 (14:51 +0200)
Create a static function and call platform device alloc and add device,
which will simplify handling acpi and plat device probing.

Signed-off-by: Suma Hegde <suma.hegde@amd.com>
Signed-off-by: Naveen Krishna Chatradhi <nchatrad@amd.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20240106022532.1746932-3-suma.hegde@amd.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/amd/hsmp.c

index 1a2abe4460f9f1846543c2b271a0d31ee75fd93e..e3354683b138482502fb2567005ccb075f451fb0 100644 (file)
@@ -551,6 +551,21 @@ static struct platform_driver amd_hsmp_driver = {
 
 static struct platform_device *amd_hsmp_platdev;
 
+static int hsmp_plat_dev_register(void)
+{
+       int ret;
+
+       amd_hsmp_platdev = platform_device_alloc(DRIVER_NAME, PLATFORM_DEVID_NONE);
+       if (!amd_hsmp_platdev)
+               return -ENOMEM;
+
+       ret = platform_device_add(amd_hsmp_platdev);
+       if (ret)
+               platform_device_put(amd_hsmp_platdev);
+
+       return ret;
+}
+
 static int __init hsmp_plt_init(void)
 {
        int ret = -ENODEV;
@@ -573,22 +588,10 @@ static int __init hsmp_plt_init(void)
        if (ret)
                return ret;
 
-       amd_hsmp_platdev = platform_device_alloc(DRIVER_NAME, PLATFORM_DEVID_NONE);
-       if (!amd_hsmp_platdev) {
-               ret = -ENOMEM;
-               goto drv_unregister;
-       }
-
-       ret = platform_device_add(amd_hsmp_platdev);
-       if (ret) {
-               platform_device_put(amd_hsmp_platdev);
-               goto drv_unregister;
-       }
-
-       return 0;
+       ret = hsmp_plat_dev_register();
+       if (ret)
+               platform_driver_unregister(&amd_hsmp_driver);
 
-drv_unregister:
-       platform_driver_unregister(&amd_hsmp_driver);
        return ret;
 }