ida 504 arch/powerpc/platforms/powernv/vas-window.c static void vas_release_window_id(struct ida *ida, int winid) ida 506 arch/powerpc/platforms/powernv/vas-window.c ida_free(ida, winid); ida 509 arch/powerpc/platforms/powernv/vas-window.c static int vas_assign_window_id(struct ida *ida) ida 511 arch/powerpc/platforms/powernv/vas-window.c int winid = ida_alloc_max(ida, VAS_WINDOWS_PER_CHIP - 1, GFP_KERNEL); ida 532 arch/powerpc/platforms/powernv/vas-window.c vas_release_window_id(&vinst->ida, winid); ida 540 arch/powerpc/platforms/powernv/vas-window.c winid = vas_assign_window_id(&vinst->ida); ida 560 arch/powerpc/platforms/powernv/vas-window.c vas_release_window_id(&vinst->ida, winid); ida 50 arch/powerpc/platforms/powernv/vas.c ida_init(&vinst->ida); ida 307 arch/powerpc/platforms/powernv/vas.h struct ida ida; ida 39 block/blk.h extern struct ida blk_queue_ida; ida 21 drivers/base/swnode.c struct ida child_ids; ida 69 drivers/gpu/drm/drm_connector.c struct ida ida; ida 103 drivers/gpu/drm/drm_connector.c ida_init(&drm_connector_enum_list[i].ida); ida 111 drivers/gpu/drm/drm_connector.c ida_destroy(&drm_connector_enum_list[i].ida); ida 201 drivers/gpu/drm/drm_connector.c struct ida *connector_ida = ida 202 drivers/gpu/drm/drm_connector.c &drm_connector_enum_list[connector_type].ida; ida 453 drivers/gpu/drm/drm_connector.c ida_simple_remove(&drm_connector_enum_list[connector->connector_type].ida, ida 49 drivers/gpu/drm/i915/gt/uc/intel_guc.h struct ida stage_ids; ida 1544 drivers/gpu/drm/i915/i915_drv.h struct ida hw_ida; ida 42 drivers/gpu/drm/nouveau/nouveau_backlight.c static struct ida bl_ida; ida 192 drivers/gpu/drm/virtio/virtgpu_drv.h struct ida resource_ida; ida 201 drivers/gpu/drm/virtio/virtgpu_drv.h struct ida ctx_id_ida; ida 41 drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c struct ida gmr_ida; ida 492 drivers/greybus/es2.c struct ida *id_map = &hd->cport_id_map; ida 22 drivers/greybus/hd.c static struct ida gb_hd_bus_id_map; ida 50 drivers/greybus/hd.c struct ida *id_map = &hd->cport_id_map; ida 65 drivers/greybus/hd.c struct ida *id_map = &hd->cport_id_map; ida 75 drivers/greybus/hd.c struct ida *id_map = &hd->cport_id_map; ida 459 drivers/infiniband/core/device.c struct ida inuse; ida 40 drivers/iommu/virtio-iommu.c struct ida domain_ids; ida 2415 drivers/media/platform/coda/coda-common.c idx = ida_alloc_max(&dev->ida, max, GFP_KERNEL); ida 2528 drivers/media/platform/coda/coda-common.c ida_free(&dev->ida, ctx->idx); ida 2565 drivers/media/platform/coda/coda-common.c ida_free(&dev->ida, ctx->idx); ida 3027 drivers/media/platform/coda/coda-common.c ida_init(&dev->ida); ida 3115 drivers/media/platform/coda/coda-common.c ida_destroy(&dev->ida); ida 94 drivers/media/platform/coda/coda.h struct ida ida; ida 20 drivers/misc/mic/cosm/cosm_main.c static struct ida g_cosm_ida; ida 74 drivers/misc/mic/host/mic_intr.h struct ida cb_ida; ida 46 drivers/misc/mic/host/mic_main.c static struct ida g_mic_ida; ida 83 drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h struct ida halloc; ida 237 drivers/net/ethernet/mellanox/mlx5/core/fs_core.h struct ida fte_allocator; ida 43 drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c ida_init(&dev->roce.reserved_gids.ida); ida 50 drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c WARN_ON(!ida_is_empty(&dev->roce.reserved_gids.ida)); ida 53 drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c ida_destroy(&dev->roce.reserved_gids.ida); ida 99 drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c index = ida_simple_get(&dev->roce.reserved_gids.ida, ida 113 drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c ida_simple_remove(&dev->roce.reserved_gids.ida, gid_index); ida 77 drivers/net/ethernet/netronome/nfp/flower/main.h struct ida mac_off_ids; ida 114 drivers/net/ethernet/netronome/nfp/flower/main.h struct ida ida_handle; ida 100 drivers/net/ipvlan/ipvlan.h struct ida ida; ida 77 drivers/net/ipvlan/ipvlan_main.c ida_init(&port->ida); ida 105 drivers/net/ipvlan/ipvlan_main.c ida_destroy(&port->ida); ida 584 drivers/net/ipvlan/ipvlan_main.c err = ida_simple_get(&port->ida, port->dev_id_start, 0xFFFE, ida 587 drivers/net/ipvlan/ipvlan_main.c err = ida_simple_get(&port->ida, 0x1, port->dev_id_start, ida 620 drivers/net/ipvlan/ipvlan_main.c ida_simple_remove(&port->ida, dev->dev_id); ida 640 drivers/net/ipvlan/ipvlan_main.c ida_simple_remove(&ipvlan->port->ida, dev->dev_id); ida 140 drivers/nvdimm/nd.h struct ida ns_ida; ida 141 drivers/nvdimm/nd.h struct ida btt_ida; ida 142 drivers/nvdimm/nd.h struct ida pfn_ida; ida 143 drivers/nvdimm/nd.h struct ida dax_ida; ida 105 drivers/nvme/host/fc.c struct ida endp_cnt; ida 311 drivers/nvme/host/nvme.h struct ida ns_ida; ida 98 drivers/nvme/target/fc.c struct ida assoc_cnt; ida 16 drivers/pnp/driver.c static int compare_func(const char *ida, const char *idb) ida 22 drivers/pnp/driver.c if (ida[i] != 'X' && ida 23 drivers/pnp/driver.c idb[i] != 'X' && toupper(ida[i]) != toupper(idb[i])) ida 407 drivers/slimbus/slimbus.h struct ida laddr_ida; ida 40 drivers/staging/greybus/fw-download.c struct ida id_map; ida 30 drivers/staging/greybus/fw-management.c struct ida id_map; ida 25 drivers/staging/most/cdev/cdev.c struct ida minor_id; ida 29 drivers/staging/most/core.c static struct ida mdev_id; ida 57 drivers/target/iscsi/iscsi_target.h extern struct ida sess_ida; ida 731 drivers/thermal/thermal_core.c result = ida_simple_get(&tz->ida, 0, 0, GFP_KERNEL); ida 785 drivers/thermal/thermal_core.c ida_simple_remove(&tz->ida, dev->id); ida 832 drivers/thermal/thermal_core.c ida_simple_remove(&tz->ida, pos->id); ida 1277 drivers/thermal/thermal_core.c ida_init(&tz->ida); ida 1423 drivers/thermal/thermal_core.c ida_destroy(&tz->ida); ida 682 drivers/thunderbolt/switch.c struct ida *ida; ida 686 drivers/thunderbolt/switch.c ida = &port->in_hopids; ida 689 drivers/thunderbolt/switch.c ida = &port->out_hopids; ida 699 drivers/thunderbolt/switch.c return ida_simple_get(ida, min_hopid, max_hopid + 1, GFP_KERNEL); ida 147 drivers/thunderbolt/tb.h struct ida in_hopids; ida 148 drivers/thunderbolt/tb.h struct ida out_hopids; ida 20 drivers/usb/typec/class.c struct ida mode_ids; ida 35 drivers/usb/typec/class.c struct ida mode_ids; ida 41 drivers/usb/typec/class.c struct ida mode_ids; ida 438 drivers/usb/typec/class.c struct ida *ids; ida 452 drivers/usb/typec/class.c struct ida *ids; ida 120 fs/devpts/inode.c struct ida allocated_ptys; ida 435 include/drm/drm_mode_config.h struct ida connector_ida; ida 51 include/linux/greybus/hd.h struct ida cport_id_map; ida 45 include/linux/greybus/svc.h struct ida device_id_map; ida 253 include/linux/idr.h #define DEFINE_IDA(name) struct ida name = IDA_INIT(name) ida 255 include/linux/idr.h int ida_alloc_range(struct ida *, unsigned int min, unsigned int max, gfp_t); ida 256 include/linux/idr.h void ida_free(struct ida *, unsigned int id); ida 257 include/linux/idr.h void ida_destroy(struct ida *ida); ida 270 include/linux/idr.h static inline int ida_alloc(struct ida *ida, gfp_t gfp) ida 272 include/linux/idr.h return ida_alloc_range(ida, 0, ~0, gfp); ida 287 include/linux/idr.h static inline int ida_alloc_min(struct ida *ida, unsigned int min, gfp_t gfp) ida 289 include/linux/idr.h return ida_alloc_range(ida, min, ~0, gfp); ida 304 include/linux/idr.h static inline int ida_alloc_max(struct ida *ida, unsigned int max, gfp_t gfp) ida 306 include/linux/idr.h return ida_alloc_range(ida, 0, max, gfp); ida 309 include/linux/idr.h static inline void ida_init(struct ida *ida) ida 311 include/linux/idr.h xa_init_flags(&ida->xa, IDA_INIT_FLAGS); ida 314 include/linux/idr.h #define ida_simple_get(ida, start, end, gfp) \ ida 315 include/linux/idr.h ida_alloc_range(ida, start, (end) - 1, gfp) ida 316 include/linux/idr.h #define ida_simple_remove(ida, id) ida_free(ida, id) ida 318 include/linux/idr.h static inline bool ida_is_empty(const struct ida *ida) ida 320 include/linux/idr.h return xa_empty(&ida->xa); ida 639 include/linux/mlx5/driver.h struct ida ida; ida 218 include/linux/nfs_fs_sb.h struct ida openowner_id; ida 219 include/linux/nfs_fs_sb.h struct ida lockowner_id; ida 217 include/linux/thermal.h struct ida ida; ida 233 include/linux/thunderbolt.h struct ida service_ids; ida 450 include/linux/thunderbolt.h struct ida msix_ida; ida 20 include/media/media-device.h struct ida; ida 158 include/media/media-device.h struct ida entity_internal_idx; ida 173 kernel/workqueue.c struct ida worker_ida; /* worker IDs for task name */ ida 379 lib/idr.c int ida_alloc_range(struct ida *ida, unsigned int min, unsigned int max, ida 382 lib/idr.c XA_STATE(xas, &ida->xa, min / IDA_BITMAP_BITS); ida 484 lib/idr.c void ida_free(struct ida *ida, unsigned int id) ida 486 lib/idr.c XA_STATE(xas, &ida->xa, id / IDA_BITMAP_BITS); ida 536 lib/idr.c void ida_destroy(struct ida *ida) ida 538 lib/idr.c XA_STATE(xas, &ida->xa, 0); ida 587 lib/idr.c static void ida_dump(struct ida *ida) ida 589 lib/idr.c struct xarray *xa = &ida->xa; ida 590 lib/idr.c pr_debug("ida: %p node %p free %d\n", ida, xa->xa_head, ida 50 lib/objagg.c struct ida root_ida; ida 16 lib/test_ida.c void ida_dump(struct ida *ida) { } ida 18 lib/test_ida.c #define IDA_BUG_ON(ida, x) do { \ ida 21 lib/test_ida.c ida_dump(ida); \ ida 31 lib/test_ida.c static void ida_check_alloc(struct ida *ida) ida 36 lib/test_ida.c IDA_BUG_ON(ida, ida_alloc(ida, GFP_KERNEL) != i); ida 38 lib/test_ida.c ida_free(ida, 20); ida 39 lib/test_ida.c ida_free(ida, 21); ida 41 lib/test_ida.c id = ida_alloc(ida, GFP_KERNEL); ida 42 lib/test_ida.c IDA_BUG_ON(ida, id < 0); ida 44 lib/test_ida.c IDA_BUG_ON(ida, id != 10000); ida 48 lib/test_ida.c ida_free(ida, i); ida 50 lib/test_ida.c IDA_BUG_ON(ida, ida_alloc_min(ida, 5000, GFP_KERNEL) != 10001); ida 51 lib/test_ida.c ida_destroy(ida); ida 53 lib/test_ida.c IDA_BUG_ON(ida, !ida_is_empty(ida)); ida 57 lib/test_ida.c static void ida_check_destroy_1(struct ida *ida, unsigned int base) ida 59 lib/test_ida.c IDA_BUG_ON(ida, ida_alloc_min(ida, base, GFP_KERNEL) != base); ida 60 lib/test_ida.c IDA_BUG_ON(ida, ida_is_empty(ida)); ida 61 lib/test_ida.c ida_destroy(ida); ida 62 lib/test_ida.c IDA_BUG_ON(ida, !ida_is_empty(ida)); ida 66 lib/test_ida.c static void ida_check_destroy(struct ida *ida) ida 69 lib/test_ida.c IDA_BUG_ON(ida, !ida_is_empty(ida)); ida 70 lib/test_ida.c ida_destroy(ida); ida 71 lib/test_ida.c IDA_BUG_ON(ida, !ida_is_empty(ida)); ida 73 lib/test_ida.c ida_check_destroy_1(ida, 0); ida 74 lib/test_ida.c ida_check_destroy_1(ida, 1); ida 75 lib/test_ida.c ida_check_destroy_1(ida, 1023); ida 76 lib/test_ida.c ida_check_destroy_1(ida, 1024); ida 77 lib/test_ida.c ida_check_destroy_1(ida, 12345678); ida 84 lib/test_ida.c static void ida_check_leaf(struct ida *ida, unsigned int base) ida 89 lib/test_ida.c IDA_BUG_ON(ida, ida_alloc_min(ida, base, GFP_KERNEL) != ida 93 lib/test_ida.c ida_destroy(ida); ida 94 lib/test_ida.c IDA_BUG_ON(ida, !ida_is_empty(ida)); ida 96 lib/test_ida.c IDA_BUG_ON(ida, ida_alloc(ida, GFP_KERNEL) != 0); ida 97 lib/test_ida.c IDA_BUG_ON(ida, ida_is_empty(ida)); ida 98 lib/test_ida.c ida_free(ida, 0); ida 99 lib/test_ida.c IDA_BUG_ON(ida, !ida_is_empty(ida)); ida 107 lib/test_ida.c static void ida_check_max(struct ida *ida) ida 114 lib/test_ida.c IDA_BUG_ON(ida, ida_alloc_min(ida, base, GFP_KERNEL) != ida 117 lib/test_ida.c IDA_BUG_ON(ida, ida_alloc_min(ida, base, GFP_KERNEL) != ida 119 lib/test_ida.c ida_destroy(ida); ida 120 lib/test_ida.c IDA_BUG_ON(ida, !ida_is_empty(ida)); ida 127 lib/test_ida.c static void ida_check_conv(struct ida *ida) ida 132 lib/test_ida.c IDA_BUG_ON(ida, ida_alloc_min(ida, i + 1, GFP_KERNEL) != i + 1); ida 133 lib/test_ida.c IDA_BUG_ON(ida, ida_alloc_min(ida, i + BITS_PER_LONG, ida 135 lib/test_ida.c ida_free(ida, i + 1); ida 136 lib/test_ida.c ida_free(ida, i + BITS_PER_LONG); ida 137 lib/test_ida.c IDA_BUG_ON(ida, !ida_is_empty(ida)); ida 141 lib/test_ida.c IDA_BUG_ON(ida, ida_alloc(ida, GFP_KERNEL) != i); ida 143 lib/test_ida.c ida_free(ida, i - 1); ida 144 lib/test_ida.c IDA_BUG_ON(ida, !ida_is_empty(ida)); ida 147 lib/test_ida.c IDA_BUG_ON(ida, ida_alloc(ida, GFP_KERNEL) != i); ida 149 lib/test_ida.c ida_free(ida, i - 1); ida 150 lib/test_ida.c IDA_BUG_ON(ida, !ida_is_empty(ida)); ida 153 lib/test_ida.c static DEFINE_IDA(ida); ida 157 lib/test_ida.c IDA_BUG_ON(&ida, !ida_is_empty(&ida)); ida 158 lib/test_ida.c ida_check_alloc(&ida); ida 159 lib/test_ida.c ida_check_destroy(&ida); ida 160 lib/test_ida.c ida_check_leaf(&ida, 0); ida 161 lib/test_ida.c ida_check_leaf(&ida, 1024); ida 162 lib/test_ida.c ida_check_leaf(&ida, 1024 * 64); ida 163 lib/test_ida.c ida_check_max(&ida); ida 164 lib/test_ida.c ida_check_conv(&ida); ida 416 tools/testing/radix-tree/idr-test.c void ida_dump(struct ida *); ida 428 tools/testing/radix-tree/idr-test.c DEFINE_IDA(ida); ida 431 tools/testing/radix-tree/idr-test.c id = ida_alloc_min(&ida, 256, GFP_NOWAIT); ida 432 tools/testing/radix-tree/idr-test.c IDA_BUG_ON(&ida, id != -ENOMEM); ida 433 tools/testing/radix-tree/idr-test.c id = ida_alloc_min(&ida, 1UL << 30, GFP_NOWAIT); ida 434 tools/testing/radix-tree/idr-test.c IDA_BUG_ON(&ida, id != -ENOMEM); ida 435 tools/testing/radix-tree/idr-test.c IDA_BUG_ON(&ida, !ida_is_empty(&ida)); ida 443 tools/testing/radix-tree/idr-test.c DEFINE_IDA(ida); ida 447 tools/testing/radix-tree/idr-test.c int id = ida_alloc(&ida, GFP_NOWAIT); ida 449 tools/testing/radix-tree/idr-test.c IDA_BUG_ON(&ida, ((i % IDA_BITMAP_BITS) != ida 452 tools/testing/radix-tree/idr-test.c id = ida_alloc(&ida, GFP_KERNEL); ida 454 tools/testing/radix-tree/idr-test.c IDA_BUG_ON(&ida, (i % IDA_BITMAP_BITS) == ida 457 tools/testing/radix-tree/idr-test.c IDA_BUG_ON(&ida, id != i); ida 459 tools/testing/radix-tree/idr-test.c ida_destroy(&ida); ida 464 tools/testing/radix-tree/idr-test.c DEFINE_IDA(ida); ida 476 tools/testing/radix-tree/idr-test.c ida_free(&ida, bit); ida 479 tools/testing/radix-tree/idr-test.c IDA_BUG_ON(&ida, ida_alloc_min(&ida, bit, GFP_KERNEL) ida 483 tools/testing/radix-tree/idr-test.c ida_destroy(&ida); ida 490 tools/testing/radix-tree/idr-test.c DEFINE_IDA(ida); ida 494 tools/testing/radix-tree/idr-test.c assert(ida_simple_get(&ida, 0, 20000, GFP_KERNEL) == i); ida 496 tools/testing/radix-tree/idr-test.c assert(ida_simple_get(&ida, 5, 30, GFP_KERNEL) < 0); ida 499 tools/testing/radix-tree/idr-test.c ida_simple_remove(&ida, i); ida 501 tools/testing/radix-tree/idr-test.c assert(ida_is_empty(&ida)); ida 503 tools/testing/radix-tree/idr-test.c ida_destroy(&ida);