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@xxxxxxx> Signed-off-by: Naveen Krishna Chatradhi <nchatrad@xxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> --- Changes since v4: None Changes since v3: None Changes since v2: 1. Add "Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>" Changes since v1: 1. Replace -1 with PLATFORM_DEVID_NONE in platform_device_alloc() 2. Add "Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx>" drivers/platform/x86/amd/hsmp.c | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/drivers/platform/x86/amd/hsmp.c b/drivers/platform/x86/amd/hsmp.c index 1a2abe4460f9..e3354683b138 100644 --- a/drivers/platform/x86/amd/hsmp.c +++ b/drivers/platform/x86/amd/hsmp.c @@ -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; } -- 2.25.1