v6:
- Rename cxl-features.control.c back to fwctl.c. (Dan)
- Move features behind a meson option. (Dan)
- See individual commits for specific changes from v5.

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 (4):
      cxl: Add cxl_bus_get_by_provider()
      cxl: Enumerate major/minor of FWCTL char device
      ndctl: Add features.h from kernel UAPI
      cxl/test: Add test for cxl features device

 Documentation/cxl/lib/libcxl.txt |  24 ++++
 cxl/fwctl/cxl.h                  |  56 ++++++++
 cxl/fwctl/features.h             | 179 ++++++++++++++++++++++++
 cxl/fwctl/fwctl.h                | 141 +++++++++++++++++++
 cxl/lib/libcxl.c                 |  90 ++++++++++++
 cxl/lib/libcxl.sym               |   8 ++
 cxl/lib/private.h                |   6 +
 cxl/libcxl.h                     |   7 +
 meson_options.txt                |   2 +
 test/cxl-features.sh             |  31 +++++
 test/fwctl.c                     | 439 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 test/meson.build                 |  19 +++
 12 files changed, 1002 insertions(+)


Reply via email to