Skip to content
  • Matthew Wilcox's avatar
    idr: Add idr_alloc_u32 helper · e096f6a7
    Matthew Wilcox authored
    
    
    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: default avatarMatthew Wilcox <mawilcox@microsoft.com>
    e096f6a7