return 0;
 }
 
-static int amd_sdw_manager_remove(struct platform_device *pdev)
+static void amd_sdw_manager_remove(struct platform_device *pdev)
 {
        struct amd_sdw_manager *amd_manager = dev_get_drvdata(&pdev->dev);
+       int ret;
 
        pm_runtime_disable(&pdev->dev);
        cancel_work_sync(&amd_manager->probe_work);
        amd_disable_sdw_interrupts(amd_manager);
        sdw_bus_master_delete(&amd_manager->bus);
-       return amd_disable_sdw_manager(amd_manager);
+       ret = amd_disable_sdw_manager(amd_manager);
+       if (ret)
+               dev_err(&pdev->dev, "Failed to disable device (%pe)\n", ERR_PTR(ret));
 }
 
 static int amd_sdw_clock_stop(struct amd_sdw_manager *amd_manager)
 
 static struct platform_driver amd_sdw_driver = {
        .probe  = &amd_sdw_manager_probe,
-       .remove = &amd_sdw_manager_remove,
+       .remove_new = &amd_sdw_manager_remove,
        .driver = {
                .name   = "amd_sdw_manager",
                .pm = &amd_pm,