[PATCH v10 5/8] platform/x86: int3472: tps68470: use a common always-on VIO regulator init_data

From: Thierry Chatard

Date: Mon Aug 31 2026 - 17:29:52 EST


The surface_go and intel_nvl board data define byte-identical VIO
regulator init_data (1.8006 V, apply_uV, always_on). Replace both with a
single shared common_tps68470_vio_reg_init_data so new boards with the
same requirement can reuse it instead of duplicating the definition.

No functional change.

Assisted-by: Claude Code:claude-opus-4-8
Signed-off-by: Thierry Chatard <tchatard@xxxxxxxxx>
---
.../x86/intel/int3472/tps68470_board_data.c | 21 +++++++------------
1 file changed, 8 insertions(+), 13 deletions(-)

diff --git a/drivers/platform/x86/intel/int3472/tps68470_board_data.c b/drivers/platform/x86/intel/int3472/tps68470_board_data.c
index c53542465..c2ec802fc 100644
--- a/drivers/platform/x86/intel/int3472/tps68470_board_data.c
+++ b/drivers/platform/x86/intel/int3472/tps68470_board_data.c
@@ -75,8 +75,12 @@ static const struct regulator_init_data surface_go_tps68470_vcm_reg_init_data =
.consumer_supplies = int347a_vcm_consumer_supplies,
};

-/* Ensure the always-on VIO regulator has the same voltage as VSIO */
-static const struct regulator_init_data surface_go_tps68470_vio_reg_init_data = {
+/*
+ * Common always-on VIO regulator init_data. Its voltage must match VSIO;
+ * boards using the TPS68470 I2C pass-through that need this exact setting
+ * can share this instead of defining their own.
+ */
+static const struct regulator_init_data common_tps68470_vio_reg_init_data = {
.constraints = {
.min_uV = 1800600,
.max_uV = 1800600,
@@ -123,7 +127,7 @@ static const struct tps68470_regulator_platform_data surface_go_tps68470_pdata =
[TPS68470_CORE] = &surface_go_tps68470_core_reg_init_data,
[TPS68470_ANA] = &surface_go_tps68470_ana_reg_init_data,
[TPS68470_VCM] = &surface_go_tps68470_vcm_reg_init_data,
- [TPS68470_VIO] = &surface_go_tps68470_vio_reg_init_data,
+ [TPS68470_VIO] = &common_tps68470_vio_reg_init_data,
[TPS68470_VSIO] = &surface_go_tps68470_vsio_reg_init_data,
[TPS68470_AUX1] = &surface_go_tps68470_aux1_reg_init_data,
[TPS68470_AUX2] = &surface_go_tps68470_aux2_reg_init_data,
@@ -339,15 +343,6 @@ static const struct regulator_init_data intel_nvl_tps68470_vcm_reg_init_data = {
.consumer_supplies = ovti13b1_vcm_consumer_supplies,
};

-/* Ensure the always-on VIO regulator has the same voltage as VSIO */
-static const struct regulator_init_data intel_nvl_tps68470_vio_reg_init_data = {
- .constraints = {
- .min_uV = 1800600,
- .max_uV = 1800600,
- .apply_uV = true,
- .always_on = true,
- },
-};
static const struct regulator_init_data intel_nvl_tps68470_vsio_reg_init_data = {
.constraints = {
.min_uV = 1800600,
@@ -364,7 +359,7 @@ static const struct tps68470_regulator_platform_data intel_nvl_tps68470_pdata =
[TPS68470_CORE] = &intel_nvl_tps68470_core_reg_init_data,
[TPS68470_ANA] = &intel_nvl_tps68470_ana_reg_init_data,
[TPS68470_VCM] = &intel_nvl_tps68470_vcm_reg_init_data,
- [TPS68470_VIO] = &intel_nvl_tps68470_vio_reg_init_data,
+ [TPS68470_VIO] = &common_tps68470_vio_reg_init_data,
[TPS68470_VSIO] = &intel_nvl_tps68470_vsio_reg_init_data,
},
};
--
2.53.0