Matthew Wilcox
6387ecd76c
idr: Add idr_alloc_u32 helper
...
All current users of idr_alloc_ext() actually want to allocate a u32
and idr_alloc_u32() fits their needs better.
Like idr_get_next(), it uses a 'nextid' argument which serves as both
a pointer to the start ID and the assigned ID (instead of a separate
minimum and pointer-to-assigned-ID argument). It uses a 'max' argument
rather than 'end' because the semantics that idr_alloc has for 'end'
don't work well for unsigned types.
Since idr_alloc_u32() returns an errno instead of the allocated ID, mark
it as __must_check to help callers use it correctly. Include copious
kernel-doc. Chris Mi <chrism@mellanox.com > has promised to contribute
test-cases for idr_alloc_u32.
Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com >
Change-Id: Id32ab4ba4c31d1ebb12945fffeb2b7ea7b146b4f
Signed-off-by: Naveen <133593113+elohim-etz@users.noreply.github.com >
2026-01-20 14:21:40 +00:00
..
2025-12-24 11:23:27 +00:00
2022-06-25 11:46:27 +02:00
2020-11-10 10:29:03 +01:00
2017-10-03 17:54:25 -07:00
2017-11-02 11:10:55 +01:00
2023-09-23 10:47:04 +02:00
2022-04-20 09:08:12 +02:00
2019-07-31 07:28:30 +02:00
2025-08-27 17:06:45 +05:30
2021-11-26 11:40:28 +01:00
2020-06-25 15:41:57 +02:00
2017-08-15 09:02:08 -07:00
2017-11-02 11:10:55 +01:00
2017-12-14 09:52:52 +01:00
2022-06-06 08:20:56 +02:00
2017-07-14 15:05:13 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2020-01-29 15:02:39 +01:00
2019-04-05 22:31:33 +02:00
2024-01-10 12:49:04 +00:00
2017-11-02 11:10:55 +01:00
2018-12-05 12:30:44 -08:00
2017-11-02 11:10:55 +01:00
2023-08-30 16:35:15 +02:00
2017-11-02 11:10:55 +01:00
2017-09-08 18:26:49 -07:00
2017-11-02 11:10:55 +01:00
2023-06-14 10:35:25 +02:00
2017-11-02 11:10:55 +01:00
2017-06-09 11:52:07 +02:00
2020-10-29 09:07:10 +01:00
2017-11-02 11:10:55 +01:00
2020-11-10 10:29:04 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2020-03-03 02:10:06 +08:00
2023-08-11 11:33:47 +02:00
2020-04-16 17:06:03 +08:00
2025-12-24 11:21:12 +00:00
2017-11-02 11:10:55 +01:00
2021-07-20 16:17:51 +02:00
2021-11-26 11:40:28 +01:00
2017-11-02 11:10:55 +01:00
2020-01-27 14:46:39 +01:00
2017-10-12 17:16:40 +01:00
2019-04-20 09:15:07 +02:00
2022-06-23 12:23:57 +05:30
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-11-12 19:18:01 +01:00
2025-12-24 11:20:22 +00:00
2025-12-24 11:23:48 +00:00
2025-12-24 11:35:28 +00:00
2018-05-09 09:51:54 +02:00
2017-07-10 16:32:35 -07:00
2017-08-10 15:54:06 -07:00
2020-04-24 08:00:31 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2021-01-12 20:09:06 +01:00
2022-05-12 12:17:06 +02:00
2017-11-02 11:10:55 +01:00
2026-01-20 14:21:40 +00:00
2017-11-02 11:10:55 +01:00
2019-04-05 22:31:24 +02:00
2018-12-17 09:28:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-08-17 21:01:11 +02:00
2022-02-23 11:57:35 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2022-03-23 09:01:34 +01:00
2025-12-24 11:49:41 +00:00
2020-08-27 23:59:38 +08:00
2017-05-16 08:44:22 -03:00
2020-08-01 00:47:04 +08:00
2020-01-27 14:46:44 +01:00
2018-10-03 17:00:48 -07:00
2021-05-22 10:57:41 +02:00
2023-11-11 12:32:52 +05:30
2021-07-20 16:17:33 +02:00
2021-07-20 16:17:33 +02:00
2017-06-08 17:36:03 +08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2025-12-24 11:35:28 +00:00
2021-12-25 18:07:04 +05:30
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2021-05-22 10:57:39 +02:00
2018-09-05 09:26:35 +02:00
2022-06-14 16:54:01 +02:00
2023-01-18 09:26:10 +01:00
2017-11-02 11:10:55 +01:00
2018-02-25 11:08:01 +01:00
2023-01-18 09:26:04 +01:00
2017-11-02 11:10:55 +01:00
2023-08-11 11:33:32 +02:00
2022-06-25 11:46:36 +02:00
2025-09-03 18:13:53 +00:00
2017-11-02 11:10:55 +01:00
2018-12-17 09:28:55 +01:00
2017-09-08 18:26:48 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-04-03 06:25:09 +02:00
2019-05-31 06:47:10 -07:00
2025-12-24 11:35:16 +00:00
2021-07-20 16:17:47 +02:00
2025-12-24 11:23:35 +00:00
2022-06-25 11:46:27 +02:00
2021-12-25 18:07:04 +05:30
2022-06-25 11:46:39 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2025-12-24 11:20:15 +00:00
2025-12-24 11:22:28 +00:00
2022-01-03 23:21:18 +05:30
2020-06-22 11:22:58 +02:00
2020-06-22 11:22:58 +02:00
2022-07-10 16:50:55 +05:30
2017-11-02 11:10:55 +01:00
2018-05-22 18:53:58 +02:00
2025-12-24 11:49:23 +00:00
2019-01-13 10:01:07 +01:00
2023-08-30 16:35:13 +02:00
2018-12-08 13:03:35 +01:00
2020-02-19 10:09:50 +01:00
2022-04-20 09:08:21 +02:00
2017-05-08 17:15:10 -07:00
2020-02-14 01:31:11 +01:00
2022-06-28 17:38:20 +00:00
2017-07-25 12:35:23 -07:00
2020-03-05 09:58:19 -08:00
2017-07-12 16:26:00 -07:00
2017-07-21 09:38:30 +02:00
2021-10-09 14:09:46 +02:00
2023-08-11 11:33:35 +02:00
2017-10-22 03:14:07 +01:00
2017-10-22 03:14:07 +01:00
2023-10-31 18:41:02 +05:30
2023-09-23 10:46:52 +02:00
2017-11-02 11:10:55 +01:00
2023-02-25 11:50:31 +01:00
2017-06-05 16:59:05 +02:00
2025-12-24 11:48:38 +00:00
2017-11-02 11:10:55 +01:00
2017-08-15 09:02:07 -07:00