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);