]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
soc: qcom: spm: remove driver-internal structures from the driver API
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tue, 2 Jan 2024 05:17:24 +0000 (07:17 +0200)
committerBjorn Andersson <andersson@kernel.org>
Fri, 16 Feb 2024 17:30:57 +0000 (11:30 -0600)
Move internal SPM driver structures to the driver itself, removing them
from the public API. The CPUidle driver doesn't use them at all.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240102-saw2-spm-regulator-v7-4-0472ec237f49@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/soc/qcom/spm.c
include/soc/qcom/spm.h

index 2f0b1bfe7658876b1337124415085d364a8fac0f..b15435f7cb0d4709aa2624900452047552347b39 100644 (file)
@@ -36,6 +36,26 @@ enum spm_reg {
        SPM_REG_NR,
 };
 
+#define MAX_PMIC_DATA          2
+#define MAX_SEQ_DATA           64
+
+struct spm_reg_data {
+       const u16 *reg_offset;
+       u32 spm_cfg;
+       u32 spm_dly;
+       u32 pmic_dly;
+       u32 pmic_data[MAX_PMIC_DATA];
+       u32 avs_ctl;
+       u32 avs_limit;
+       u8 seq[MAX_SEQ_DATA];
+       u8 start_index[PM_SLEEP_MODE_NR];
+};
+
+struct spm_driver_data {
+       void __iomem *reg_base;
+       const struct spm_reg_data *reg_data;
+};
+
 static const u16 spm_reg_offset_v4_1[SPM_REG_NR] = {
        [SPM_REG_AVS_CTL]       = 0x904,
        [SPM_REG_AVS_LIMIT]     = 0x908,
index 4951f9d8b0bdb810e2c2548003f13dc925e91c5c..5b263c6858127cd0cbd92603db6eada8dc3c6d17 100644 (file)
@@ -7,11 +7,6 @@
 #ifndef __SPM_H__
 #define __SPM_H__
 
-#include <linux/cpuidle.h>
-
-#define MAX_PMIC_DATA          2
-#define MAX_SEQ_DATA           64
-
 enum pm_sleep_mode {
        PM_SLEEP_MODE_STBY,
        PM_SLEEP_MODE_RET,
@@ -20,23 +15,7 @@ enum pm_sleep_mode {
        PM_SLEEP_MODE_NR,
 };
 
-struct spm_reg_data {
-       const u16 *reg_offset;
-       u32 spm_cfg;
-       u32 spm_dly;
-       u32 pmic_dly;
-       u32 pmic_data[MAX_PMIC_DATA];
-       u32 avs_ctl;
-       u32 avs_limit;
-       u8 seq[MAX_SEQ_DATA];
-       u8 start_index[PM_SLEEP_MODE_NR];
-};
-
-struct spm_driver_data {
-       void __iomem *reg_base;
-       const struct spm_reg_data *reg_data;
-};
-
+struct spm_driver_data;
 void spm_set_low_power_mode(struct spm_driver_data *drv,
                            enum pm_sleep_mode mode);