ipmi_destroy_user(data->ipmi.user);
        platform_set_drvdata(data->pdev, NULL);
        platform_device_unregister(data->pdev);
-       ida_simple_remove(&aem_ida, data->id);
+       ida_free(&aem_ida, data->id);
        kfree(data);
 }
 
                data->power_period[i] = AEM_DEFAULT_POWER_INTERVAL;
 
        /* Create sub-device for this fw instance */
-       data->id = ida_simple_get(&aem_ida, 0, 0, GFP_KERNEL);
+       data->id = ida_alloc(&aem_ida, GFP_KERNEL);
        if (data->id < 0)
                goto id_err;
 
        platform_set_drvdata(data->pdev, NULL);
        platform_device_unregister(data->pdev);
 dev_err:
-       ida_simple_remove(&aem_ida, data->id);
+       ida_free(&aem_ida, data->id);
 id_err:
        kfree(data);
 
                data->power_period[i] = AEM_DEFAULT_POWER_INTERVAL;
 
        /* Create sub-device for this fw instance */
-       data->id = ida_simple_get(&aem_ida, 0, 0, GFP_KERNEL);
+       data->id = ida_alloc(&aem_ida, GFP_KERNEL);
        if (data->id < 0)
                goto id_err;
 
        platform_set_drvdata(data->pdev, NULL);
        platform_device_unregister(data->pdev);
 dev_err:
-       ida_simple_remove(&aem_ida, data->id);
+       ida_free(&aem_ida, data->id);
 id_err:
        kfree(data);