include/uapi/linux/cxl_mem.h | 4 ++++ 1 file changed, 4 insertions(+)
From: Ira Weiny <ira.weiny@intel.com>
The CXL command enum is exported to user space and must maintain
backwards compatibility.
Add comment that new defines must be added to the end of the list.
Suggested-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
---
include/uapi/linux/cxl_mem.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/include/uapi/linux/cxl_mem.h b/include/uapi/linux/cxl_mem.h
index c71021a2a9ed..459a3f7f764b 100644
--- a/include/uapi/linux/cxl_mem.h
+++ b/include/uapi/linux/cxl_mem.h
@@ -19,6 +19,10 @@
#define CXL_MEM_QUERY_COMMANDS _IOR(0xCE, 1, struct cxl_mem_query_commands)
#define CXL_MEM_SEND_COMMAND _IOWR(0xCE, 2, struct cxl_send_command)
+/*
+ * NOTE: New defines must be added to the end of the list to preserve
+ * compatibility because this enum is exported to user space.
+ */
#define CXL_CMDS \
___C(INVALID, "Invalid Command"), \
___C(IDENTIFY, "Identify Command"), \
base-commit: acb704099642bc822ef2aed223a0b8db1f7ea76e
--
2.37.2
On 12/7/2022 5:01 PM, ira.weiny@intel.com wrote: > From: Ira Weiny <ira.weiny@intel.com> > > The CXL command enum is exported to user space and must maintain > backwards compatibility. > > Add comment that new defines must be added to the end of the list. > > Suggested-by: Dan Williams <dan.j.williams@intel.com> > Signed-off-by: Ira Weiny <ira.weiny@intel.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> > --- > include/uapi/linux/cxl_mem.h | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/include/uapi/linux/cxl_mem.h b/include/uapi/linux/cxl_mem.h > index c71021a2a9ed..459a3f7f764b 100644 > --- a/include/uapi/linux/cxl_mem.h > +++ b/include/uapi/linux/cxl_mem.h > @@ -19,6 +19,10 @@ > #define CXL_MEM_QUERY_COMMANDS _IOR(0xCE, 1, struct cxl_mem_query_commands) > #define CXL_MEM_SEND_COMMAND _IOWR(0xCE, 2, struct cxl_send_command) > > +/* > + * NOTE: New defines must be added to the end of the list to preserve > + * compatibility because this enum is exported to user space. > + */ > #define CXL_CMDS \ > ___C(INVALID, "Invalid Command"), \ > ___C(IDENTIFY, "Identify Command"), \ > > base-commit: acb704099642bc822ef2aed223a0b8db1f7ea76e
On Wed, 7 Dec 2022 17:27:18 -0700 Dave Jiang <dave.jiang@intel.com> wrote: > On 12/7/2022 5:01 PM, ira.weiny@intel.com wrote: > > From: Ira Weiny <ira.weiny@intel.com> > > > > The CXL command enum is exported to user space and must maintain > > backwards compatibility. > > > > Add comment that new defines must be added to the end of the list. > > > > Suggested-by: Dan Williams <dan.j.williams@intel.com> > > Signed-off-by: Ira Weiny <ira.weiny@intel.com> > > Reviewed-by: Dave Jiang <dave.jiang@intel.com> Good to have. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > > > --- > > include/uapi/linux/cxl_mem.h | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/include/uapi/linux/cxl_mem.h b/include/uapi/linux/cxl_mem.h > > index c71021a2a9ed..459a3f7f764b 100644 > > --- a/include/uapi/linux/cxl_mem.h > > +++ b/include/uapi/linux/cxl_mem.h > > @@ -19,6 +19,10 @@ > > #define CXL_MEM_QUERY_COMMANDS _IOR(0xCE, 1, struct cxl_mem_query_commands) > > #define CXL_MEM_SEND_COMMAND _IOWR(0xCE, 2, struct cxl_send_command) > > > > +/* > > + * NOTE: New defines must be added to the end of the list to preserve > > + * compatibility because this enum is exported to user space. > > + */ > > #define CXL_CMDS \ > > ___C(INVALID, "Invalid Command"), \ > > ___C(IDENTIFY, "Identify Command"), \ > > > > base-commit: acb704099642bc822ef2aed223a0b8db1f7ea76e
© 2016 - 2025 Red Hat, Inc.