XArray: Add xa_limit_16b

A 16-bit limit is a more common limit than I had realised.  Make it
generally available.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
This commit is contained in:
Matthew Wilcox (Oracle) 2021-03-30 13:40:27 -04:00
parent 3012110d71
commit df59d0a461

View file

@ -229,9 +229,10 @@ static inline int xa_err(void *entry)
* *
* This structure is used either directly or via the XA_LIMIT() macro * This structure is used either directly or via the XA_LIMIT() macro
* to communicate the range of IDs that are valid for allocation. * to communicate the range of IDs that are valid for allocation.
* Two common ranges are predefined for you: * Three common ranges are predefined for you:
* * xa_limit_32b - [0 - UINT_MAX] * * xa_limit_32b - [0 - UINT_MAX]
* * xa_limit_31b - [0 - INT_MAX] * * xa_limit_31b - [0 - INT_MAX]
* * xa_limit_16b - [0 - USHRT_MAX]
*/ */
struct xa_limit { struct xa_limit {
u32 max; u32 max;
@ -242,6 +243,7 @@ struct xa_limit {
#define xa_limit_32b XA_LIMIT(0, UINT_MAX) #define xa_limit_32b XA_LIMIT(0, UINT_MAX)
#define xa_limit_31b XA_LIMIT(0, INT_MAX) #define xa_limit_31b XA_LIMIT(0, INT_MAX)
#define xa_limit_16b XA_LIMIT(0, USHRT_MAX)
typedef unsigned __bitwise xa_mark_t; typedef unsigned __bitwise xa_mark_t;
#define XA_MARK_0 ((__force xa_mark_t)0U) #define XA_MARK_0 ((__force xa_mark_t)0U)