@@ -20,16 +20,7 @@
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/mailbox_controller.h>
-
-#define QCOM_APCS_IPC_BITS 32
-
-struct qcom_apcs_ipc {
- struct mbox_controller mbox;
- struct mbox_chan mbox_chans[QCOM_APCS_IPC_BITS];
-
- struct regmap *regmap;
- unsigned long offset;
-};
+#include <linux/mailbox/qcom-apcs.h>
static const struct regmap_config apcs_regmap_config = {
.reg_bits = 32,
new file mode 100644
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2017, Linaro Limited
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _LINUX_QCOM_APCS_H_
+#define _LINUX_QCOM_APCS_H_
+
+#define QCOM_APCS_IPC_BITS 32
+
+/**
+ * struct qcom_apcs_ipc - APCS shared struct
+ *
+ * @mbox: mailbox controller
+ * @mbox_chans: array of the available communication channels
+ * @offset: mailbox IPC register offset
+ * @regmap: register map used to access APCS registers
+ */
+struct qcom_apcs_ipc {
+ struct mbox_controller mbox;
+ struct mbox_chan mbox_chans[QCOM_APCS_IPC_BITS];
+ unsigned long offset;
+ struct regmap *regmap;
+};
+
+#endif /* _LINUX_QCOM_APCS_H_ */
Move the structure shared by the APCS IPC device and its subdevices into a separate header file. Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org> --- drivers/mailbox/qcom-apcs-ipc-mailbox.c | 11 +---------- include/linux/mailbox/qcom-apcs.h | 34 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 10 deletions(-) create mode 100644 include/linux/mailbox/qcom-apcs.h