bus: fsl-mc: move fsl_mc_command struct in a uapi header
authorIoana Ciornei <ioana.ciornei@nxp.com>
Thu, 14 Jan 2021 17:07:48 +0000 (19:07 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 Jan 2021 14:13:52 +0000 (15:13 +0100)
Define "struct fsl_mc_command" as a structure that can cross the
user/kernel boundary.

Acked-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Link: https://lore.kernel.org/r/20210114170752.2927915-2-ciorneiioana@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
MAINTAINERS
include/linux/fsl/mc.h
include/uapi/linux/fsl_mc.h [new file with mode: 0644]

index 23273a59da6f0beabb281994528c35d0fd5feb3d..128455811980903cb698b94c3bb4fd484f812445 100644 (file)
@@ -14652,6 +14652,7 @@ S:      Maintained
 F:     Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt
 F:     Documentation/networking/device_drivers/ethernet/freescale/dpaa2/overview.rst
 F:     drivers/bus/fsl-mc/
+F:     include/uapi/linux/fsl_mc.h
 
 QT1010 MEDIA DRIVER
 M:     Antti Palosaari <crope@iki.fi>
index db244874e83422625af8d835210232810b76b703..63b56aba925aec729447474dcb8015dc78d14e9a 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/device.h>
 #include <linux/mod_devicetable.h>
 #include <linux/interrupt.h>
+#include <uapi/linux/fsl_mc.h>
 
 #define FSL_MC_VENDOR_FREESCALE        0x1957
 
@@ -209,8 +210,6 @@ struct fsl_mc_device {
 #define to_fsl_mc_device(_dev) \
        container_of(_dev, struct fsl_mc_device, dev)
 
-#define MC_CMD_NUM_OF_PARAMS   7
-
 struct mc_cmd_header {
        u8 src_id;
        u8 flags_hw;
@@ -220,11 +219,6 @@ struct mc_cmd_header {
        __le16 cmd_id;
 };
 
-struct fsl_mc_command {
-       __le64 header;
-       __le64 params[MC_CMD_NUM_OF_PARAMS];
-};
-
 enum mc_cmd_status {
        MC_CMD_STATUS_OK = 0x0, /* Completed successfully */
        MC_CMD_STATUS_READY = 0x1, /* Ready to be processed */
diff --git a/include/uapi/linux/fsl_mc.h b/include/uapi/linux/fsl_mc.h
new file mode 100644 (file)
index 0000000..cf56d46
--- /dev/null
@@ -0,0 +1,25 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Management Complex (MC) userspace public interface
+ *
+ * Copyright 2021 NXP
+ *
+ */
+#ifndef _UAPI_FSL_MC_H_
+#define _UAPI_FSL_MC_H_
+
+#include <linux/types.h>
+
+#define MC_CMD_NUM_OF_PARAMS   7
+
+/**
+ * struct fsl_mc_command - Management Complex (MC) command structure
+ * @header: MC command header
+ * @params: MC command parameters
+ */
+struct fsl_mc_command {
+       __le64 header;
+       __le64 params[MC_CMD_NUM_OF_PARAMS];
+};
+
+#endif /* _UAPI_FSL_MC_H_ */