Message ID | 20231220165528.1351200-4-suma.hegde@amd.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Headers | show |
Series | platform/x86: Add ACPI probing support for HSMP | expand |
On Wed, 20 Dec 2023, Suma Hegde wrote: > 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> > > Changes since v1: > 1. Replace -1 with PLATFORM_DEVID_NONE in platform_device_alloc() > 2. Add "Reviewed-by: Hans de Goede <hdegoede@redhat.com>" > > --- > 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; > } > > Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
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; }