soc: qcom: socinfo: move SMEM item struct and defines to a header
authorRobert Marko <robimarko@gmail.com>
Fri, 26 May 2023 20:47:58 +0000 (22:47 +0200)
committerBjorn Andersson <andersson@kernel.org>
Sat, 27 May 2023 01:18:57 +0000 (18:18 -0700)
Move SMEM item struct and related defines to a header in order to be able
to reuse them in the SMEM driver instead of duplicating them.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230526204802.3081168-1-robimarko@gmail.com
drivers/soc/qcom/socinfo.c
include/linux/soc/qcom/socinfo.h [new file with mode: 0644]

index 0decf0a..dfd4330 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/random.h>
 #include <linux/slab.h>
 #include <linux/soc/qcom/smem.h>
+#include <linux/soc/qcom/socinfo.h>
 #include <linux/string.h>
 #include <linux/stringify.h>
 #include <linux/sys_soc.h>
 #define qcom_board_id(id) QCOM_ID_ ## id, __stringify(id)
 #define qcom_board_id_named(id, name) QCOM_ID_ ## id, (name)
 
-#define SMEM_SOCINFO_BUILD_ID_LENGTH           32
-#define SMEM_SOCINFO_CHIP_ID_LENGTH            32
-
-/*
- * SMEM item id, used to acquire handles to respective
- * SMEM region.
- */
-#define SMEM_HW_SW_BUILD_ID            137
-
 #ifdef CONFIG_DEBUG_FS
 #define SMEM_IMAGE_VERSION_BLOCKS_COUNT        32
 #define SMEM_IMAGE_VERSION_SIZE                4096
@@ -126,64 +118,7 @@ static const char *const pmic_models[] = {
        [58] = "PM8450",
        [65] = "PM8010",
 };
-#endif /* CONFIG_DEBUG_FS */
-
-/* Socinfo SMEM item structure */
-struct socinfo {
-       __le32 fmt;
-       __le32 id;
-       __le32 ver;
-       char build_id[SMEM_SOCINFO_BUILD_ID_LENGTH];
-       /* Version 2 */
-       __le32 raw_id;
-       __le32 raw_ver;
-       /* Version 3 */
-       __le32 hw_plat;
-       /* Version 4 */
-       __le32 plat_ver;
-       /* Version 5 */
-       __le32 accessory_chip;
-       /* Version 6 */
-       __le32 hw_plat_subtype;
-       /* Version 7 */
-       __le32 pmic_model;
-       __le32 pmic_die_rev;
-       /* Version 8 */
-       __le32 pmic_model_1;
-       __le32 pmic_die_rev_1;
-       __le32 pmic_model_2;
-       __le32 pmic_die_rev_2;
-       /* Version 9 */
-       __le32 foundry_id;
-       /* Version 10 */
-       __le32 serial_num;
-       /* Version 11 */
-       __le32 num_pmics;
-       __le32 pmic_array_offset;
-       /* Version 12 */
-       __le32 chip_family;
-       __le32 raw_device_family;
-       __le32 raw_device_num;
-       /* Version 13 */
-       __le32 nproduct_id;
-       char chip_id[SMEM_SOCINFO_CHIP_ID_LENGTH];
-       /* Version 14 */
-       __le32 num_clusters;
-       __le32 ncluster_array_offset;
-       __le32 num_defective_parts;
-       __le32 ndefective_parts_array_offset;
-       /* Version 15 */
-       __le32 nmodem_supported;
-       /* Version 16 */
-       __le32  feature_code;
-       __le32  pcode;
-       __le32  npartnamemap_offset;
-       __le32  nnum_partname_mapping;
-       /* Version 17 */
-       __le32 oem_variant;
-};
 
-#ifdef CONFIG_DEBUG_FS
 struct socinfo_params {
        u32 raw_device_family;
        u32 hw_plat_subtype;
diff --git a/include/linux/soc/qcom/socinfo.h b/include/linux/soc/qcom/socinfo.h
new file mode 100644 (file)
index 0000000..d1cbc49
--- /dev/null
@@ -0,0 +1,70 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef __QCOM_SOCINFO_H__
+#define __QCOM_SOCINFO_H__
+
+/*
+ * SMEM item id, used to acquire handles to respective
+ * SMEM region.
+ */
+#define SMEM_HW_SW_BUILD_ID            137
+
+#define SMEM_SOCINFO_BUILD_ID_LENGTH   32
+#define SMEM_SOCINFO_CHIP_ID_LENGTH    32
+
+/* Socinfo SMEM item structure */
+struct socinfo {
+       __le32 fmt;
+       __le32 id;
+       __le32 ver;
+       char build_id[SMEM_SOCINFO_BUILD_ID_LENGTH];
+       /* Version 2 */
+       __le32 raw_id;
+       __le32 raw_ver;
+       /* Version 3 */
+       __le32 hw_plat;
+       /* Version 4 */
+       __le32 plat_ver;
+       /* Version 5 */
+       __le32 accessory_chip;
+       /* Version 6 */
+       __le32 hw_plat_subtype;
+       /* Version 7 */
+       __le32 pmic_model;
+       __le32 pmic_die_rev;
+       /* Version 8 */
+       __le32 pmic_model_1;
+       __le32 pmic_die_rev_1;
+       __le32 pmic_model_2;
+       __le32 pmic_die_rev_2;
+       /* Version 9 */
+       __le32 foundry_id;
+       /* Version 10 */
+       __le32 serial_num;
+       /* Version 11 */
+       __le32 num_pmics;
+       __le32 pmic_array_offset;
+       /* Version 12 */
+       __le32 chip_family;
+       __le32 raw_device_family;
+       __le32 raw_device_num;
+       /* Version 13 */
+       __le32 nproduct_id;
+       char chip_id[SMEM_SOCINFO_CHIP_ID_LENGTH];
+       /* Version 14 */
+       __le32 num_clusters;
+       __le32 ncluster_array_offset;
+       __le32 num_defective_parts;
+       __le32 ndefective_parts_array_offset;
+       /* Version 15 */
+       __le32 nmodem_supported;
+       /* Version 16 */
+       __le32  feature_code;
+       __le32  pcode;
+       __le32  npartnamemap_offset;
+       __le32  nnum_partname_mapping;
+       /* Version 17 */
+       __le32 oem_variant;
+};
+
+#endif