v5: - Add documentation for exported symbols. (Alison) - Create 'struct cxl_fwctl' as object under cxl_memdev. (Dan) - Make command prep common code. (Alison) - Rename fwctl.c to cxl-features-control.c. (Alison) - See individual commits for specific changes from v4.
v4: - Adjust to kernel changes of input/output structs - Fixup skip/pass/fail logic - Added new kernel headers detection and dependency in meson.build v3: - Update test to use opcode instead of command id. v2: - Drop features device enumeration - Add discovery of char device under memdev The series provides support of libcxl enumerating FWCTL character device under the cxl_memdev device. It discovers the char device major and minor numbers for the CXL features device in order to allow issuing of ioctls to the device. A unit test is added to locate cxl_memdev exported by the cxl_test kernel module and issue all the supported ioctls to the associated FWCTL char device to verify that all the ioctl paths are working as expected. Kernel series: https://lore.kernel.org/linux-cxl/20250207233914.2375110-1-dave.ji...@intel.com/T/#t Dave Jiang (3): cxl: Add cxl_bus_get_by_provider() cxl: Enumerate major/minor of FWCTL char device cxl/test: Add test for cxl features device Documentation/cxl/lib/libcxl.txt | 23 ++++ cxl/lib/libcxl.c | 89 ++++++++++++ cxl/lib/libcxl.sym | 8 ++ cxl/lib/private.h | 8 ++ cxl/libcxl.h | 7 + test/cxl-features-control.c | 439 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ test/cxl-features.sh | 31 +++++ test/cxl-topology.sh | 4 + test/meson.build | 45 ++++++ 9 files changed, 654 insertions(+)