iio_device_detach_buffers(indio_dev);
 
-       ida_simple_remove(&iio_ida, iio_dev_opaque->id);
+       ida_free(&iio_ida, iio_dev_opaque->id);
        kfree(iio_dev_opaque);
 }
 
        mutex_init(&iio_dev_opaque->info_exist_lock);
        INIT_LIST_HEAD(&iio_dev_opaque->channel_attr_list);
 
-       iio_dev_opaque->id = ida_simple_get(&iio_ida, 0, 0, GFP_KERNEL);
+       iio_dev_opaque->id = ida_alloc(&iio_ida, GFP_KERNEL);
        if (iio_dev_opaque->id < 0) {
                /* cannot use a dev_err as the name isn't available */
                pr_err("failed to get device id\n");
        }
 
        if (dev_set_name(&indio_dev->dev, "iio:device%d", iio_dev_opaque->id)) {
-               ida_simple_remove(&iio_ida, iio_dev_opaque->id);
+               ida_free(&iio_ida, iio_dev_opaque->id);
                kfree(iio_dev_opaque);
                return NULL;
        }
 
 
        trig_info->owner = this_mod;
 
-       trig_info->id = ida_simple_get(&iio_trigger_ida, 0, 0, GFP_KERNEL);
+       trig_info->id = ida_alloc(&iio_trigger_ida, GFP_KERNEL);
        if (trig_info->id < 0)
                return trig_info->id;
 
        mutex_unlock(&iio_trigger_list_lock);
        device_del(&trig_info->dev);
 error_unregister_id:
-       ida_simple_remove(&iio_trigger_ida, trig_info->id);
+       ida_free(&iio_trigger_ida, trig_info->id);
        return ret;
 }
 EXPORT_SYMBOL(__iio_trigger_register);
        list_del(&trig_info->list);
        mutex_unlock(&iio_trigger_list_lock);
 
-       ida_simple_remove(&iio_trigger_ida, trig_info->id);
+       ida_free(&iio_trigger_ida, trig_info->id);
        /* Possible issue in here */
        device_del(&trig_info->dev);
 }