From: Ira Weiny <ira.weiny@xxxxxxxxx> This is submitted RFC for 2 reasons. First I'm not quite sure where to place the call in the headers. Second the use of the new call is dependent on some CXL code which was just been submitted.[0] I want to get opinions on if this new call seems useful or just more confusing to the XArray interface. If useful I'll respin after the CXL stuff lands and perhaps it can go through Dan's tree. While converting some CXL code to XArray a pattern emerged which seemed useful to codify. In two different situations[1][2] an XArray was initialized in such a way that using devm_add_action() could be used to call xa_destroy() automatically. In the first situation[1] the XArray was storing long values directly and in the other situation the pointers were allocated using device managed functions (devm_*). In these situations it seems that a device managed xa_init() would be useful. [0] https://lore.kernel.org/linux-cxl/20220705154932.2141021-1-ira.weiny@xxxxxxxxx/ [1] https://lore.kernel.org/linux-cxl/20220705154932.2141021-4-ira.weiny@xxxxxxxxx/ [2] https://lore.kernel.org/linux-cxl/20220705154932.2141021-5-ira.weiny@xxxxxxxxx/ Ira Weiny (3): xarray: Introduce devm_xa_init() pci/doe: Use devm_xa_init() CXL/doe: Use devm_xa_init() drivers/base/core.c | 20 ++++++++++++++++++++ drivers/cxl/pci.c | 8 +------- drivers/pci/doe.c | 14 ++------------ include/linux/device.h | 3 +++ 4 files changed, 26 insertions(+), 19 deletions(-) -- 2.35.3