Hi, On 12/12/23 11:36, 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@xxxxxxx> > Co-developed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@xxxxxxx> > Signed-off-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@xxxxxxx> > --- > 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 62a274c84f25..f0db7a480ace 100644 > --- a/drivers/platform/x86/amd/hsmp.c > +++ b/drivers/platform/x86/amd/hsmp.c > @@ -552,6 +552,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, -1); Please use PLATFORM_DEVID_NONE instead of -1, like the code you are replacing did. With that fixed this is: Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Regards, Hans > + 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; > @@ -574,22 +589,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; > } >