if (ddev->mmio_res.parent)
                release_resource(&ddev->mmio_res);
 
-       ida_simple_remove(&dfl_device_ida, ddev->id);
+       ida_free(&dfl_device_ida, ddev->id);
        kfree(ddev->irqs);
        kfree(ddev);
 }
        if (!ddev)
                return ERR_PTR(-ENOMEM);
 
-       id = ida_simple_get(&dfl_device_ida, 0, 0, GFP_KERNEL);
+       id = ida_alloc(&dfl_device_ida, GFP_KERNEL);
        if (id < 0) {
                dev_err(&pdev->dev, "unable to get id\n");
                kfree(ddev);
 
        if (!bridge)
                return ERR_PTR(-ENOMEM);
 
-       id = ida_simple_get(&fpga_bridge_ida, 0, 0, GFP_KERNEL);
+       id = ida_alloc(&fpga_bridge_ida, GFP_KERNEL);
        if (id < 0) {
                ret = id;
                goto error_kfree;
        return bridge;
 
 error_device:
-       ida_simple_remove(&fpga_bridge_ida, id);
+       ida_free(&fpga_bridge_ida, id);
 error_kfree:
        kfree(bridge);
 
 {
        struct fpga_bridge *bridge = to_fpga_bridge(dev);
 
-       ida_simple_remove(&fpga_bridge_ida, bridge->dev.id);
+       ida_free(&fpga_bridge_ida, bridge->dev.id);
        kfree(bridge);
 }
 
 
        if (!mgr)
                return ERR_PTR(-ENOMEM);
 
-       id = ida_simple_get(&fpga_mgr_ida, 0, 0, GFP_KERNEL);
+       id = ida_alloc(&fpga_mgr_ida, GFP_KERNEL);
        if (id < 0) {
                ret = id;
                goto error_kfree;
        return mgr;
 
 error_device:
-       ida_simple_remove(&fpga_mgr_ida, id);
+       ida_free(&fpga_mgr_ida, id);
 error_kfree:
        kfree(mgr);
 
 {
        struct fpga_manager *mgr = to_fpga_manager(dev);
 
-       ida_simple_remove(&fpga_mgr_ida, mgr->dev.id);
+       ida_free(&fpga_mgr_ida, mgr->dev.id);
        kfree(mgr);
 }
 
 
        if (!region)
                return ERR_PTR(-ENOMEM);
 
-       id = ida_simple_get(&fpga_region_ida, 0, 0, GFP_KERNEL);
+       id = ida_alloc(&fpga_region_ida, GFP_KERNEL);
        if (id < 0) {
                ret = id;
                goto err_free;
        return region;
 
 err_remove:
-       ida_simple_remove(&fpga_region_ida, id);
+       ida_free(&fpga_region_ida, id);
 err_free:
        kfree(region);
 
 {
        struct fpga_region *region = to_fpga_region(dev);
 
-       ida_simple_remove(&fpga_region_ida, region->dev.id);
+       ida_free(&fpga_region_ida, region->dev.id);
        kfree(region);
 }