linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Add support for MediaTek PMIC MT6366
@ 2022-03-17  3:04 Johnson Wang
  2022-03-17  3:04 ` [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator Johnson Wang
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Johnson Wang @ 2022-03-17  3:04 UTC (permalink / raw)
  To: broonie, robh+dt
  Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
	Project_Global_Chrome_Upstream_Group, Johnson Wang

This patchset adds support for MediaTek PMIC MT6366.
MT6366 is the primary PMIC for MT8186 and probably other SOCs.

Changes in v2:
- rebase on Linux 5.17-rc8
- change subject line

Johnson Wang (2):
  regulator: mt6366: Add support for MT6366 regulator
  dt-bindings: regulator: Add BUCK and LDO document for MT6358 and
    MT6366

 .../bindings/regulator/mt6358-regulator.txt   |  22 +-
 drivers/regulator/mt6358-regulator.c          | 213 +++++++++++++++++-
 include/linux/regulator/mt6358-regulator.h    |  45 ++++
 3 files changed, 270 insertions(+), 10 deletions(-)

-- 
2.18.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
  2022-03-17  3:04 [PATCH v2 0/2] Add support for MediaTek PMIC MT6366 Johnson Wang
@ 2022-03-17  3:04 ` Johnson Wang
  2022-03-18 11:37   ` AngeloGioacchino Del Regno
  2022-03-18 20:06   ` Mark Brown
  2022-03-17  3:04 ` [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366 Johnson Wang
  2022-04-05  9:32 ` [PATCH v2 0/2] Add support for MediaTek PMIC MT6366 Mark Brown
  2 siblings, 2 replies; 8+ messages in thread
From: Johnson Wang @ 2022-03-17  3:04 UTC (permalink / raw)
  To: broonie, robh+dt
  Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
	Project_Global_Chrome_Upstream_Group, Johnson Wang

The MT6366 is a regulator found on boards based on MediaTek MT8186 and
probably other SoCs. It is a so called pmic and connects as a slave to
SoC using SPI, wrapped inside the pmic-wrapper.

Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
---
 drivers/regulator/mt6358-regulator.c       | 213 ++++++++++++++++++++-
 include/linux/regulator/mt6358-regulator.h |  45 +++++
 2 files changed, 253 insertions(+), 5 deletions(-)

diff --git a/drivers/regulator/mt6358-regulator.c b/drivers/regulator/mt6358-regulator.c
index eb8027813b99..8a5ce990f1bf 100644
--- a/drivers/regulator/mt6358-regulator.c
+++ b/drivers/regulator/mt6358-regulator.c
@@ -130,6 +130,102 @@ struct mt6358_regulator_info {
 	.qi = BIT(15),							\
 }
 
+#define MT6366_BUCK(match, vreg, min, max, step,		\
+	volt_ranges, vosel_mask, _da_vsel_reg, _da_vsel_mask,	\
+	_modeset_reg, _modeset_shift)		\
+[MT6366_ID_##vreg] = {	\
+	.desc = {	\
+		.name = #vreg,	\
+		.of_match = of_match_ptr(match),	\
+		.ops = &mt6358_volt_range_ops,	\
+		.type = REGULATOR_VOLTAGE,	\
+		.id = MT6366_ID_##vreg,		\
+		.owner = THIS_MODULE,		\
+		.n_voltages = ((max) - (min)) / (step) + 1,	\
+		.linear_ranges = volt_ranges,		\
+		.n_linear_ranges = ARRAY_SIZE(volt_ranges),	\
+		.vsel_reg = MT6358_BUCK_##vreg##_ELR0,	\
+		.vsel_mask = vosel_mask,	\
+		.enable_reg = MT6358_BUCK_##vreg##_CON0,	\
+		.enable_mask = BIT(0),	\
+		.of_map_mode = mt6358_map_mode,	\
+	},	\
+	.status_reg = MT6358_BUCK_##vreg##_DBG1,	\
+	.qi = BIT(0),	\
+	.da_vsel_reg = _da_vsel_reg,	\
+	.da_vsel_mask = _da_vsel_mask,	\
+	.modeset_reg = _modeset_reg,	\
+	.modeset_mask = BIT(_modeset_shift),	\
+}
+
+#define MT6366_LDO(match, vreg, ldo_volt_table,	\
+	ldo_index_table, enreg, enbit, vosel,	\
+	vosel_mask)	\
+[MT6366_ID_##vreg] = {	\
+	.desc = {	\
+		.name = #vreg,	\
+		.of_match = of_match_ptr(match),	\
+		.ops = &mt6358_volt_table_ops,	\
+		.type = REGULATOR_VOLTAGE,	\
+		.id = MT6366_ID_##vreg,	\
+		.owner = THIS_MODULE,	\
+		.n_voltages = ARRAY_SIZE(ldo_volt_table),	\
+		.volt_table = ldo_volt_table,	\
+		.vsel_reg = vosel,	\
+		.vsel_mask = vosel_mask,	\
+		.enable_reg = enreg,	\
+		.enable_mask = BIT(enbit),	\
+	},	\
+	.status_reg = MT6358_LDO_##vreg##_CON1,	\
+	.qi = BIT(15),	\
+	.index_table = ldo_index_table,	\
+	.n_table = ARRAY_SIZE(ldo_index_table),	\
+}
+
+#define MT6366_LDO1(match, vreg, min, max, step,	\
+	volt_ranges, _da_vsel_reg, _da_vsel_mask,	\
+	vosel, vosel_mask)	\
+[MT6366_ID_##vreg] = {	\
+	.desc = {	\
+		.name = #vreg,	\
+		.of_match = of_match_ptr(match),	\
+		.ops = &mt6358_volt_range_ops,	\
+		.type = REGULATOR_VOLTAGE,	\
+		.id = MT6366_ID_##vreg,	\
+		.owner = THIS_MODULE,	\
+		.n_voltages = ((max) - (min)) / (step) + 1,	\
+		.linear_ranges = volt_ranges,	\
+		.n_linear_ranges = ARRAY_SIZE(volt_ranges),	\
+		.vsel_reg = vosel,	\
+		.vsel_mask = vosel_mask,	\
+		.enable_reg = MT6358_LDO_##vreg##_CON0,	\
+		.enable_mask = BIT(0),	\
+	},	\
+	.da_vsel_reg = _da_vsel_reg,	\
+	.da_vsel_mask = _da_vsel_mask,	\
+	.status_reg = MT6358_LDO_##vreg##_DBG1,	\
+	.qi = BIT(0),	\
+}
+
+#define MT6366_REG_FIXED(match, vreg,	\
+	enreg, enbit, volt)	\
+[MT6366_ID_##vreg] = {	\
+	.desc = {	\
+		.name = #vreg,	\
+		.of_match = of_match_ptr(match),	\
+		.ops = &mt6358_volt_fixed_ops,	\
+		.type = REGULATOR_VOLTAGE,	\
+		.id = MT6366_ID_##vreg,	\
+		.owner = THIS_MODULE,	\
+		.n_voltages = 1,	\
+		.enable_reg = enreg,	\
+		.enable_mask = BIT(enbit),	\
+		.min_uV = volt,	\
+	},	\
+	.status_reg = MT6358_LDO_##vreg##_CON1,	\
+	.qi = BIT(15),							\
+}
+
 static const struct linear_range buck_volt_range1[] = {
 	REGULATOR_LINEAR_RANGE(500000, 0, 0x7f, 6250),
 };
@@ -409,6 +505,9 @@ static struct mt6358_regulator_info mt6358_regulators[] = {
 	MT6358_BUCK("buck_vcore", VCORE, 500000, 1293750, 6250,
 		    buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_DBG0, 0x7f,
 		    MT6358_VCORE_VGPU_ANA_CON0, 1),
+	MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
+		    buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
+		    MT6358_VCORE_VGPU_ANA_CON0, 1),
 	MT6358_BUCK("buck_vpa", VPA, 500000, 3650000, 50000,
 		    buck_volt_range3, 0x3f, MT6358_BUCK_VPA_DBG0, 0x3f,
 		    MT6358_VPA_ANA_CON0, 3),
@@ -488,6 +587,10 @@ static struct mt6358_regulator_info mt6358_regulators[] = {
 	MT6358_LDO1("ldo_vsram_others", VSRAM_OTHERS, 500000, 1293750, 6250,
 		    buck_volt_range1, MT6358_LDO_VSRAM_OTHERS_DBG0, 0x7f00,
 		    MT6358_LDO_VSRAM_CON2, 0x7f),
+	MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
+		    1293750, 6250, buck_volt_range1,
+		    MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
+		    MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
 	MT6358_LDO1("ldo_vsram_gpu", VSRAM_GPU, 500000, 1293750, 6250,
 		    buck_volt_range1, MT6358_LDO_VSRAM_GPU_DBG0, 0x7f00,
 		    MT6358_LDO_VSRAM_CON3, 0x7f),
@@ -496,24 +599,124 @@ static struct mt6358_regulator_info mt6358_regulators[] = {
 		    MT6358_LDO_VSRAM_CON1, 0x7f),
 };
 
+/* The array is indexed by id(MT6366_ID_XXX) */
+static struct mt6358_regulator_info mt6366_regulators[] = {
+	MT6366_BUCK("buck_vdram1", VDRAM1, 500000, 2087500, 12500,
+		    buck_volt_range2, 0x7f, MT6358_BUCK_VDRAM1_DBG0, 0x7f,
+		    MT6358_VDRAM1_ANA_CON0, 8),
+	MT6366_BUCK("buck_vcore", VCORE, 500000, 1293750, 6250,
+		    buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_DBG0, 0x7f,
+		    MT6358_VCORE_VGPU_ANA_CON0, 1),
+	MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
+		    buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
+		    MT6358_VCORE_VGPU_ANA_CON0, 1),
+	MT6366_BUCK("buck_vpa", VPA, 500000, 3650000, 50000,
+		    buck_volt_range3, 0x3f, MT6358_BUCK_VPA_DBG0, 0x3f,
+		    MT6358_VPA_ANA_CON0, 3),
+	MT6366_BUCK("buck_vproc11", VPROC11, 500000, 1293750, 6250,
+		    buck_volt_range1, 0x7f, MT6358_BUCK_VPROC11_DBG0, 0x7f,
+		    MT6358_VPROC_ANA_CON0, 1),
+	MT6366_BUCK("buck_vproc12", VPROC12, 500000, 1293750, 6250,
+		    buck_volt_range1, 0x7f, MT6358_BUCK_VPROC12_DBG0, 0x7f,
+		    MT6358_VPROC_ANA_CON0, 2),
+	MT6366_BUCK("buck_vgpu", VGPU, 500000, 1293750, 6250,
+		    buck_volt_range1, 0x7f, MT6358_BUCK_VGPU_ELR0, 0x7f,
+		    MT6358_VCORE_VGPU_ANA_CON0, 2),
+	MT6366_BUCK("buck_vs2", VS2, 500000, 2087500, 12500,
+		    buck_volt_range2, 0x7f, MT6358_BUCK_VS2_DBG0, 0x7f,
+		    MT6358_VS2_ANA_CON0, 8),
+	MT6366_BUCK("buck_vmodem", VMODEM, 500000, 1293750, 6250,
+		    buck_volt_range1, 0x7f, MT6358_BUCK_VMODEM_DBG0, 0x7f,
+		    MT6358_VMODEM_ANA_CON0, 8),
+	MT6366_BUCK("buck_vs1", VS1, 1000000, 2587500, 12500,
+		    buck_volt_range4, 0x7f, MT6358_BUCK_VS1_DBG0, 0x7f,
+		    MT6358_VS1_ANA_CON0, 8),
+	MT6366_REG_FIXED("ldo_vrf12", VRF12,
+			 MT6358_LDO_VRF12_CON0, 0, 1200000),
+	MT6366_REG_FIXED("ldo_vio18", VIO18,
+			 MT6358_LDO_VIO18_CON0, 0, 1800000),
+	MT6366_REG_FIXED("ldo_vcn18", VCN18, MT6358_LDO_VCN18_CON0, 0, 1800000),
+	MT6366_REG_FIXED("ldo_vfe28", VFE28, MT6358_LDO_VFE28_CON0, 0, 2800000),
+	MT6366_REG_FIXED("ldo_vcn28", VCN28, MT6358_LDO_VCN28_CON0, 0, 2800000),
+	MT6366_REG_FIXED("ldo_vxo22", VXO22, MT6358_LDO_VXO22_CON0, 0, 2200000),
+	MT6366_REG_FIXED("ldo_vaux18", VAUX18,
+			 MT6358_LDO_VAUX18_CON0, 0, 1800000),
+	MT6366_REG_FIXED("ldo_vbif28", VBIF28,
+			 MT6358_LDO_VBIF28_CON0, 0, 2800000),
+	MT6366_REG_FIXED("ldo_vio28", VIO28, MT6358_LDO_VIO28_CON0, 0, 2800000),
+	MT6366_REG_FIXED("ldo_va12", VA12, MT6358_LDO_VA12_CON0, 0, 1200000),
+	MT6366_REG_FIXED("ldo_vrf18", VRF18, MT6358_LDO_VRF18_CON0, 0, 1800000),
+	MT6366_REG_FIXED("ldo_vaud28", VAUD28,
+			 MT6358_LDO_VAUD28_CON0, 0, 2800000),
+	MT6366_LDO("ldo_vdram2", VDRAM2, vdram2_voltages, vdram2_idx,
+		   MT6358_LDO_VDRAM2_CON0, 0, MT6358_LDO_VDRAM2_ELR0, 0x10),
+	MT6366_LDO("ldo_vsim1", VSIM1, vsim_voltages, vsim_idx,
+		   MT6358_LDO_VSIM1_CON0, 0, MT6358_VSIM1_ANA_CON0, 0xf00),
+	MT6366_LDO("ldo_vibr", VIBR, vibr_voltages, vibr_idx,
+		   MT6358_LDO_VIBR_CON0, 0, MT6358_VIBR_ANA_CON0, 0xf00),
+	MT6366_LDO("ldo_vusb", VUSB, vusb_voltages, vusb_idx,
+		   MT6358_LDO_VUSB_CON0_0, 0, MT6358_VUSB_ANA_CON0, 0x700),
+	MT6366_LDO("ldo_vefuse", VEFUSE, vefuse_voltages, vefuse_idx,
+		   MT6358_LDO_VEFUSE_CON0, 0, MT6358_VEFUSE_ANA_CON0, 0xf00),
+	MT6366_LDO("ldo_vmch", VMCH, vmch_vemc_voltages, vmch_vemc_idx,
+		   MT6358_LDO_VMCH_CON0, 0, MT6358_VMCH_ANA_CON0, 0x700),
+	MT6366_LDO("ldo_vemc", VEMC, vmch_vemc_voltages, vmch_vemc_idx,
+		   MT6358_LDO_VEMC_CON0, 0, MT6358_VEMC_ANA_CON0, 0x700),
+	MT6366_LDO("ldo_vcn33_bt", VCN33_BT, vcn33_bt_wifi_voltages,
+		   vcn33_bt_wifi_idx, MT6358_LDO_VCN33_CON0_0,
+		   0, MT6358_VCN33_ANA_CON0, 0x300),
+	MT6366_LDO("ldo_vcn33_wifi", VCN33_WIFI, vcn33_bt_wifi_voltages,
+		   vcn33_bt_wifi_idx, MT6358_LDO_VCN33_CON0_1,
+		   0, MT6358_VCN33_ANA_CON0, 0x300),
+	MT6366_LDO("ldo_vmc", VMC, vmc_voltages, vmc_idx,
+		   MT6358_LDO_VMC_CON0, 0, MT6358_VMC_ANA_CON0, 0xf00),
+	MT6366_LDO("ldo_vsim2", VSIM2, vsim_voltages, vsim_idx,
+		   MT6358_LDO_VSIM2_CON0, 0, MT6358_VSIM2_ANA_CON0, 0xf00),
+	MT6366_LDO1("ldo_vsram_proc11", VSRAM_PROC11, 500000, 1293750, 6250,
+		    buck_volt_range1, MT6358_LDO_VSRAM_PROC11_DBG0, 0x7f00,
+		    MT6358_LDO_VSRAM_CON0, 0x7f),
+	MT6366_LDO1("ldo_vsram_others", VSRAM_OTHERS, 500000, 1293750, 6250,
+		    buck_volt_range1, MT6358_LDO_VSRAM_OTHERS_DBG0, 0x7f00,
+		    MT6358_LDO_VSRAM_CON2, 0x7f),
+	MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
+		    1293750, 6250, buck_volt_range1,
+		    MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
+		    MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
+	MT6366_LDO1("ldo_vsram_gpu", VSRAM_GPU, 500000, 1293750, 6250,
+		    buck_volt_range1, MT6358_LDO_VSRAM_GPU_DBG0, 0x7f00,
+		    MT6358_LDO_VSRAM_CON3, 0x7f),
+	MT6366_LDO1("ldo_vsram_proc12", VSRAM_PROC12, 500000, 1293750, 6250,
+		    buck_volt_range1, MT6358_LDO_VSRAM_PROC12_DBG0, 0x7f00,
+		    MT6358_LDO_VSRAM_CON1, 0x7f),
+};
+
 static int mt6358_regulator_probe(struct platform_device *pdev)
 {
 	struct mt6397_chip *mt6397 = dev_get_drvdata(pdev->dev.parent);
 	struct regulator_config config = {};
 	struct regulator_dev *rdev;
-	int i;
+	struct mt6358_regulator_info *mt6358_info;
+	int i, max_regulator;
+
+	if (mt6397->chip_id == MT6366_CHIP_ID) {
+		max_regulator = MT6366_MAX_REGULATOR;
+		mt6358_info = mt6366_regulators;
+	} else {
+		max_regulator = MT6358_MAX_REGULATOR;
+		mt6358_info = mt6358_regulators;
+	}
 
-	for (i = 0; i < MT6358_MAX_REGULATOR; i++) {
+	for (i = 0; i < max_regulator; i++) {
 		config.dev = &pdev->dev;
-		config.driver_data = &mt6358_regulators[i];
+		config.driver_data = &mt6358_info[i];
 		config.regmap = mt6397->regmap;
 
 		rdev = devm_regulator_register(&pdev->dev,
-					       &mt6358_regulators[i].desc,
+					       &mt6358_info[i].desc,
 					       &config);
 		if (IS_ERR(rdev)) {
 			dev_err(&pdev->dev, "failed to register %s\n",
-				mt6358_regulators[i].desc.name);
+				mt6358_info[i].desc.name);
 			return PTR_ERR(rdev);
 		}
 	}
diff --git a/include/linux/regulator/mt6358-regulator.h b/include/linux/regulator/mt6358-regulator.h
index 1cc304946d09..bdcf83cd719e 100644
--- a/include/linux/regulator/mt6358-regulator.h
+++ b/include/linux/regulator/mt6358-regulator.h
@@ -48,9 +48,54 @@ enum {
 	MT6358_ID_VLDO28,
 	MT6358_ID_VAUD28,
 	MT6358_ID_VSIM2,
+	MT6358_ID_VCORE_SSHUB,
+	MT6358_ID_VSRAM_OTHERS_SSHUB,
 	MT6358_ID_RG_MAX,
 };
 
+enum {
+	MT6366_ID_VDRAM1 = 0,
+	MT6366_ID_VCORE,
+	MT6366_ID_VPA,
+	MT6366_ID_VPROC11,
+	MT6366_ID_VPROC12,
+	MT6366_ID_VGPU,
+	MT6366_ID_VS2,
+	MT6366_ID_VMODEM,
+	MT6366_ID_VS1,
+	MT6366_ID_VDRAM2,
+	MT6366_ID_VSIM1,
+	MT6366_ID_VIBR,
+	MT6366_ID_VRF12,
+	MT6366_ID_VIO18,
+	MT6366_ID_VUSB,
+	MT6366_ID_VCN18,
+	MT6366_ID_VFE28,
+	MT6366_ID_VSRAM_PROC11,
+	MT6366_ID_VCN28,
+	MT6366_ID_VSRAM_OTHERS,
+	MT6366_ID_VSRAM_GPU,
+	MT6366_ID_VXO22,
+	MT6366_ID_VEFUSE,
+	MT6366_ID_VAUX18,
+	MT6366_ID_VMCH,
+	MT6366_ID_VBIF28,
+	MT6366_ID_VSRAM_PROC12,
+	MT6366_ID_VEMC,
+	MT6366_ID_VIO28,
+	MT6366_ID_VA12,
+	MT6366_ID_VRF18,
+	MT6366_ID_VCN33_BT,
+	MT6366_ID_VCN33_WIFI,
+	MT6366_ID_VMC,
+	MT6366_ID_VAUD28,
+	MT6366_ID_VSIM2,
+	MT6366_ID_VCORE_SSHUB,
+	MT6366_ID_VSRAM_OTHERS_SSHUB,
+	MT6366_ID_RG_MAX,
+};
+
 #define MT6358_MAX_REGULATOR	MT6358_ID_RG_MAX
+#define MT6366_MAX_REGULATOR	MT6366_ID_RG_MAX
 
 #endif /* __LINUX_REGULATOR_MT6358_H */
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366
  2022-03-17  3:04 [PATCH v2 0/2] Add support for MediaTek PMIC MT6366 Johnson Wang
  2022-03-17  3:04 ` [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator Johnson Wang
@ 2022-03-17  3:04 ` Johnson Wang
  2022-03-18 11:37   ` AngeloGioacchino Del Regno
  2022-04-05  9:32 ` [PATCH v2 0/2] Add support for MediaTek PMIC MT6366 Mark Brown
  2 siblings, 1 reply; 8+ messages in thread
From: Johnson Wang @ 2022-03-17  3:04 UTC (permalink / raw)
  To: broonie, robh+dt
  Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
	Project_Global_Chrome_Upstream_Group, Johnson Wang

Add buck_vcore_sshub and ldo_vsram_others_sshub
regulators to binding document for MT6358 and MT6366.

Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
---
 .../bindings/regulator/mt6358-regulator.txt   | 22 ++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/Documentation/devicetree/bindings/regulator/mt6358-regulator.txt b/Documentation/devicetree/bindings/regulator/mt6358-regulator.txt
index 9a90a92f2d7e..7034cdca54e0 100644
--- a/Documentation/devicetree/bindings/regulator/mt6358-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/mt6358-regulator.txt
@@ -8,14 +8,14 @@ Documentation/devicetree/bindings/regulator/regulator.txt.
 
 The valid names for regulators are::
 BUCK:
-  buck_vdram1, buck_vcore, buck_vpa, buck_vproc11, buck_vproc12, buck_vgpu,
-  buck_vs2, buck_vmodem, buck_vs1
+  buck_vdram1, buck_vcore, buck_vcore_sshub, buck_vpa, buck_vproc11,
+  buck_vproc12, buck_vgpu, buck_vs2, buck_vmodem, buck_vs1
 LDO:
   ldo_vdram2, ldo_vsim1, ldo_vibr, ldo_vrf12, ldo_vio18, ldo_vusb, ldo_vcamio,
   ldo_vcamd, ldo_vcn18, ldo_vfe28, ldo_vsram_proc11, ldo_vcn28, ldo_vsram_others,
-  ldo_vsram_gpu, ldo_vxo22, ldo_vefuse, ldo_vaux18, ldo_vmch, ldo_vbif28,
-  ldo_vsram_proc12, ldo_vcama1, ldo_vemc, ldo_vio28, ldo_va12, ldo_vrf18,
-  ldo_vcn33_bt, ldo_vcn33_wifi, ldo_vcama2, ldo_vmc, ldo_vldo28, ldo_vaud28,
+  ldo_vsram_others_sshub, ldo_vsram_gpu, ldo_vxo22, ldo_vefuse, ldo_vaux18,
+  ldo_vmch, ldo_vbif28, ldo_vsram_proc12, ldo_vcama1, ldo_vemc, ldo_vio28, ldo_va12,
+  ldo_vrf18, ldo_vcn33_bt, ldo_vcn33_wifi, ldo_vcama2, ldo_vmc, ldo_vldo28, ldo_vaud28,
   ldo_vsim2
 
 Example:
@@ -354,5 +354,17 @@ Example:
 				regulator-max-microvolt = <3100000>;
 				regulator-enable-ramp-delay = <540>;
 			};
+
+			mt6358_vcore_sshub_reg: buck_vcore_sshub {
+				regulator-name = "vcore_sshub";
+				regulator-min-microvolt = <500000>;
+				regulator-max-microvolt = <1293750>;
+			};
+
+			mt6358_vsram_others_sshub_reg: ldo_vsram_others_sshub {
+				regulator-name = "vsram_others_sshub";
+				regulator-min-microvolt = <500000>;
+				regulator-max-microvolt = <1293750>;
+			};
 		};
 	};
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
  2022-03-17  3:04 ` [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator Johnson Wang
@ 2022-03-18 11:37   ` AngeloGioacchino Del Regno
  2022-03-18 20:06   ` Mark Brown
  1 sibling, 0 replies; 8+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-03-18 11:37 UTC (permalink / raw)
  To: Johnson Wang, broonie, robh+dt
  Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
	Project_Global_Chrome_Upstream_Group

Il 17/03/22 04:04, Johnson Wang ha scritto:
> The MT6366 is a regulator found on boards based on MediaTek MT8186 and
> probably other SoCs. It is a so called pmic and connects as a slave to
> SoC using SPI, wrapped inside the pmic-wrapper.
> 
> Reviewed-by: Mark Brown <broonie@kernel.org>

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>

> Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
> ---
>   drivers/regulator/mt6358-regulator.c       | 213 ++++++++++++++++++++-
>   include/linux/regulator/mt6358-regulator.h |  45 +++++
>   2 files changed, 253 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/regulator/mt6358-regulator.c b/drivers/regulator/mt6358-regulator.c

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366
  2022-03-17  3:04 ` [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366 Johnson Wang
@ 2022-03-18 11:37   ` AngeloGioacchino Del Regno
  0 siblings, 0 replies; 8+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-03-18 11:37 UTC (permalink / raw)
  To: Johnson Wang, broonie, robh+dt
  Cc: linux-kernel, devicetree, linux-arm-kernel, linux-mediatek,
	Project_Global_Chrome_Upstream_Group

Il 17/03/22 04:04, Johnson Wang ha scritto:
> Add buck_vcore_sshub and ldo_vsram_others_sshub
> regulators to binding document for MT6358 and MT6366.
> 
> Reviewed-by: Rob Herring <robh@kernel.org>
> Reviewed-by: Mark Brown <broonie@kernel.org>

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>

> Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
> ---
>   .../bindings/regulator/mt6358-regulator.txt   | 22 ++++++++++++++-----
>   1 file changed, 17 insertions(+), 5 deletions(-)
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
  2022-03-17  3:04 ` [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator Johnson Wang
  2022-03-18 11:37   ` AngeloGioacchino Del Regno
@ 2022-03-18 20:06   ` Mark Brown
  2022-03-21  3:51     ` Johnson Wang
  1 sibling, 1 reply; 8+ messages in thread
From: Mark Brown @ 2022-03-18 20:06 UTC (permalink / raw)
  To: Johnson Wang
  Cc: robh+dt, linux-kernel, devicetree, linux-arm-kernel,
	linux-mediatek, Project_Global_Chrome_Upstream_Group

[-- Attachment #1: Type: text/plain, Size: 17300 bytes --]

On Thu, Mar 17, 2022 at 11:04:01AM +0800, Johnson Wang wrote:
> The MT6366 is a regulator found on boards based on MediaTek MT8186 and
> probably other SoCs. It is a so called pmic and connects as a slave to
> SoC using SPI, wrapped inside the pmic-wrapper.

This doesn't build, please resend once the dependencies have been merged:

/mnt/kernel/drivers/regulator/mt6358-regulator.c:51:15: error: 'MT6358_BUCK_VCORE_SSHUB_ELR0' undeclared here (not in a function); did you mean 'MT6358_BUCK_VCORE_ELR0'?
   51 |   .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
      |               ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in expansion of macro 'MT6358_BUCK'
  508 |  MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:53:17: error: 'MT6358_BUCK_VCORE_SSHUB_CON0' undeclared here (not in a function); did you mean 'MT6358_BUCK_VCORE_CON0'?
   53 |   .enable_reg = MT6358_BUCK_##vreg##_CON0, \
      |                 ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in expansion of macro 'MT6358_BUCK'
  508 |  MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:57:16: error: 'MT6358_BUCK_VCORE_SSHUB_DBG1' undeclared here (not in a function); did you mean 'MT6358_BUCK_VCORE_DBG1'?
   57 |  .status_reg = MT6358_BUCK_##vreg##_DBG1, \
      |                ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in expansion of macro 'MT6358_BUCK'
  508 |  MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:593:7: error: 'MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1' undeclared here (not in a function); did you mean 'MT6358_ID_VSRAM_OTHERS_SSHUB'?
  593 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:103:15: note: in definition of macro 'MT6358_LDO1'
  103 |   .vsel_reg = vosel, \
      |               ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:105:17: error: 'MT6358_LDO_VSRAM_OTHERS_SSHUB_CON0' undeclared here (not in a function); did you mean 'MT6358_LDO_VSRAM_OTHERS_CON0'?
  105 |   .enable_reg = MT6358_LDO_##vreg##_CON0, \
      |                 ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:590:2: note: in expansion of macro 'MT6358_LDO1'
  590 |  MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:110:16: error: 'MT6358_LDO_VSRAM_OTHERS_SSHUB_DBG1' undeclared here (not in a function); did you mean 'MT6358_LDO_VSRAM_OTHERS_DBG1'?
  110 |  .status_reg = MT6358_LDO_##vreg##_DBG1, \
      |                ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:590:2: note: in expansion of macro 'MT6358_LDO1'
  590 |  MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
  147 |   .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
      |               ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
  610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: note: (near initialization for 'mt6366_regulators[36].desc.vsel_reg')
  147 |   .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
      |               ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
  610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: error: initializer element is not constant
  147 |   .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
      |               ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
  610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: note: (near initialization for 'mt6366_regulators[36].desc.vsel_reg')
  147 |   .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
      |               ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
  610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
  149 |   .enable_reg = MT6358_BUCK_##vreg##_CON0, \
      |                 ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
  610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: note: (near initialization for 'mt6366_regulators[36].desc.enable_reg')
  149 |   .enable_reg = MT6358_BUCK_##vreg##_CON0, \
      |                 ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
  610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: error: initializer element is not constant
  149 |   .enable_reg = MT6358_BUCK_##vreg##_CON0, \
      |                 ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
  610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: note: (near initialization for 'mt6366_regulators[36].desc.enable_reg')
  149 |   .enable_reg = MT6358_BUCK_##vreg##_CON0, \
      |                 ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
  610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
  153 |  .status_reg = MT6358_BUCK_##vreg##_DBG1, \
      |                ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
  610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: note: (near initialization for 'mt6366_regulators[36].status_reg')
  153 |  .status_reg = MT6358_BUCK_##vreg##_DBG1, \
      |                ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
  610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: error: initializer element is not constant
  153 |  .status_reg = MT6358_BUCK_##vreg##_DBG1, \
      |                ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
  610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: note: (near initialization for 'mt6366_regulators[36].status_reg')
  153 |  .status_reg = MT6358_BUCK_##vreg##_DBG1, \
      |                ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in expansion of macro 'MT6366_BUCK'
  610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000, 1293750, 6250,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
  611 |       buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in definition of macro 'MT6366_BUCK'
  155 |  .da_vsel_reg = _da_vsel_reg, \
      |                 ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: note: (near initialization for 'mt6366_regulators[36].da_vsel_reg')
  611 |       buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in definition of macro 'MT6366_BUCK'
  155 |  .da_vsel_reg = _da_vsel_reg, \
      |                 ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: error: initializer element is not constant
  611 |       buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in definition of macro 'MT6366_BUCK'
  155 |  .da_vsel_reg = _da_vsel_reg, \
      |                 ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: note: (near initialization for 'mt6366_regulators[36].da_vsel_reg')
  611 |       buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0, 0x7f,
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in definition of macro 'MT6366_BUCK'
  155 |  .da_vsel_reg = _da_vsel_reg, \
      |                 ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
  684 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in definition of macro 'MT6366_LDO1'
  199 |   .vsel_reg = vosel, \
      |               ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: note: (near initialization for 'mt6366_regulators[37].desc.vsel_reg')
  684 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in definition of macro 'MT6366_LDO1'
  199 |   .vsel_reg = vosel, \
      |               ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: error: initializer element is not constant
  684 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in definition of macro 'MT6366_LDO1'
  199 |   .vsel_reg = vosel, \
      |               ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: note: (near initialization for 'mt6366_regulators[37].desc.vsel_reg')
  684 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in definition of macro 'MT6366_LDO1'
  199 |   .vsel_reg = vosel, \
      |               ^~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
  201 |   .enable_reg = MT6358_LDO_##vreg##_CON0, \
      |                 ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
  681 |  MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: note: (near initialization for 'mt6366_regulators[37].desc.enable_reg')
  201 |   .enable_reg = MT6358_LDO_##vreg##_CON0, \
      |                 ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
  681 |  MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: error: initializer element is not constant
  201 |   .enable_reg = MT6358_LDO_##vreg##_CON0, \
      |                 ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
  681 |  MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: note: (near initialization for 'mt6366_regulators[37].desc.enable_reg')
  201 |   .enable_reg = MT6358_LDO_##vreg##_CON0, \
      |                 ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
  681 |  MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
  683 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in definition of macro 'MT6366_LDO1'
  204 |  .da_vsel_reg = _da_vsel_reg, \
      |                 ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: note: (near initialization for 'mt6366_regulators[37].da_vsel_reg')
  683 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in definition of macro 'MT6366_LDO1'
  204 |  .da_vsel_reg = _da_vsel_reg, \
      |                 ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: error: initializer element is not constant
  683 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in definition of macro 'MT6366_LDO1'
  204 |  .da_vsel_reg = _da_vsel_reg, \
      |                 ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: note: (near initialization for 'mt6366_regulators[37].da_vsel_reg')
  683 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in definition of macro 'MT6366_LDO1'
  204 |  .da_vsel_reg = _da_vsel_reg, \
      |                 ^~~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: warning: initialization of 'unsigned int' from 'struct mt6358_regulator_info *' makes integer from pointer without a cast [-Wint-conversion]
  206 |  .status_reg = MT6358_LDO_##vreg##_DBG1, \
      |                ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
  681 |  MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: note: (near initialization for 'mt6366_regulators[37].status_reg')
  206 |  .status_reg = MT6358_LDO_##vreg##_DBG1, \
      |                ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
  681 |  MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: error: initializer element is not constant
  206 |  .status_reg = MT6358_LDO_##vreg##_DBG1, \
      |                ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
  681 |  MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: note: (near initialization for 'mt6366_regulators[37].status_reg')
  206 |  .status_reg = MT6358_LDO_##vreg##_DBG1, \
      |                ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in expansion of macro 'MT6366_LDO1'
  681 |  MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB, 500000,
      |  ^~~~~~~~~~~
/mnt/kernel/drivers/regulator/mt6358-regulator.c: In function 'mt6358_regulator_probe':
/mnt/kernel/drivers/regulator/mt6358-regulator.c:701:25: error: 'MT6366_CHIP_ID' undeclared (first use in this function); did you mean 'MT6397_CHIP_ID'?
  701 |  if (mt6397->chip_id == MT6366_CHIP_ID) {
      |                         ^~~~~~~~~~~~~~
      |                         MT6397_CHIP_ID
/mnt/kernel/drivers/regulator/mt6358-regulator.c:701:25: note: each undeclared identifier is reported only once for each function it appears in
/mnt/kernel/drivers/regulator/mt6358-regulator.c:701:22: warning: comparison between pointer and integer
  701 |  if (mt6397->chip_id == MT6366_CHIP_ID) {
      |                      ^~


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
  2022-03-18 20:06   ` Mark Brown
@ 2022-03-21  3:51     ` Johnson Wang
  0 siblings, 0 replies; 8+ messages in thread
From: Johnson Wang @ 2022-03-21  3:51 UTC (permalink / raw)
  To: Mark Brown
  Cc: robh+dt, linux-kernel, devicetree, linux-arm-kernel,
	linux-mediatek, Project_Global_Chrome_Upstream_Group

Hi Mark,

On Fri, 2022-03-18 at 20:06 +0000, Mark Brown wrote:
> On Thu, Mar 17, 2022 at 11:04:01AM +0800, Johnson Wang wrote:
> > The MT6366 is a regulator found on boards based on MediaTek MT8186
> > and
> > probably other SoCs. It is a so called pmic and connects as a slave
> > to
> > SoC using SPI, wrapped inside the pmic-wrapper.
> 
> This doesn't build, please resend once the dependencies have been
> merged:

This patch depends on [1], it use MARCO defined from [1].
[1] has been merged into linux-next and isn't merged into mainline yet.

I will resend this once the dependencies have been merged.
If you have any other suggestion, please let me know.

Thanks.

[1] 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/include/linux/mfd?id=c47383f849097c2b3547e28365578cd9e5811378

BRs,
Johnson Wang


> /mnt/kernel/drivers/regulator/mt6358-regulator.c:51:15: error:
> 'MT6358_BUCK_VCORE_SSHUB_ELR0' undeclared here (not in a function);
> did you mean 'MT6358_BUCK_VCORE_ELR0'?
>    51 |   .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
>       |               ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in
> expansion of macro 'MT6358_BUCK'
>   508 |  MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:53:17: error:
> 'MT6358_BUCK_VCORE_SSHUB_CON0' undeclared here (not in a function);
> did you mean 'MT6358_BUCK_VCORE_CON0'?
>    53 |   .enable_reg = MT6358_BUCK_##vreg##_CON0, \
>       |                 ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in
> expansion of macro 'MT6358_BUCK'
>   508 |  MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:57:16: error:
> 'MT6358_BUCK_VCORE_SSHUB_DBG1' undeclared here (not in a function);
> did you mean 'MT6358_BUCK_VCORE_DBG1'?
>    57 |  .status_reg = MT6358_BUCK_##vreg##_DBG1, \
>       |                ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:508:2: note: in
> expansion of macro 'MT6358_BUCK'
>   508 |  MT6358_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:593:7: error:
> 'MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1' undeclared here (not in a
> function); did you mean 'MT6358_ID_VSRAM_OTHERS_SSHUB'?
>   593 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
>       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:103:15: note: in
> definition of macro 'MT6358_LDO1'
>   103 |   .vsel_reg = vosel, \
>       |               ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:105:17: error:
> 'MT6358_LDO_VSRAM_OTHERS_SSHUB_CON0' undeclared here (not in a
> function); did you mean 'MT6358_LDO_VSRAM_OTHERS_CON0'?
>   105 |   .enable_reg = MT6358_LDO_##vreg##_CON0, \
>       |                 ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:590:2: note: in
> expansion of macro 'MT6358_LDO1'
>   590 |  MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:110:16: error:
> 'MT6358_LDO_VSRAM_OTHERS_SSHUB_DBG1' undeclared here (not in a
> function); did you mean 'MT6358_LDO_VSRAM_OTHERS_DBG1'?
>   110 |  .status_reg = MT6358_LDO_##vreg##_DBG1, \
>       |                ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:590:2: note: in
> expansion of macro 'MT6358_LDO1'
>   590 |  MT6358_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
>   147 |   .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
>       |               ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
>   610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: note: (near
> initialization for 'mt6366_regulators[36].desc.vsel_reg')
>   147 |   .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
>       |               ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
>   610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: error:
> initializer element is not constant
>   147 |   .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
>       |               ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
>   610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:147:15: note: (near
> initialization for 'mt6366_regulators[36].desc.vsel_reg')
>   147 |   .vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
>       |               ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
>   610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
>   149 |   .enable_reg = MT6358_BUCK_##vreg##_CON0, \
>       |                 ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
>   610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: note: (near
> initialization for 'mt6366_regulators[36].desc.enable_reg')
>   149 |   .enable_reg = MT6358_BUCK_##vreg##_CON0, \
>       |                 ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
>   610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: error:
> initializer element is not constant
>   149 |   .enable_reg = MT6358_BUCK_##vreg##_CON0, \
>       |                 ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
>   610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:149:17: note: (near
> initialization for 'mt6366_regulators[36].desc.enable_reg')
>   149 |   .enable_reg = MT6358_BUCK_##vreg##_CON0, \
>       |                 ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
>   610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
>   153 |  .status_reg = MT6358_BUCK_##vreg##_DBG1, \
>       |                ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
>   610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: note: (near
> initialization for 'mt6366_regulators[36].status_reg')
>   153 |  .status_reg = MT6358_BUCK_##vreg##_DBG1, \
>       |                ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
>   610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: error:
> initializer element is not constant
>   153 |  .status_reg = MT6358_BUCK_##vreg##_DBG1, \
>       |                ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
>   610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:153:16: note: (near
> initialization for 'mt6366_regulators[36].status_reg')
>   153 |  .status_reg = MT6358_BUCK_##vreg##_DBG1, \
>       |                ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:610:2: note: in
> expansion of macro 'MT6366_BUCK'
>   610 |  MT6366_BUCK("buck_vcore_sshub", VCORE_SSHUB, 500000,
> 1293750, 6250,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
>   611 |       buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0,
> 0x7f,
>       |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in
> definition of macro 'MT6366_BUCK'
>   155 |  .da_vsel_reg = _da_vsel_reg, \
>       |                 ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: note: (near
> initialization for 'mt6366_regulators[36].da_vsel_reg')
>   611 |       buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0,
> 0x7f,
>       |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in
> definition of macro 'MT6366_BUCK'
>   155 |  .da_vsel_reg = _da_vsel_reg, \
>       |                 ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: error:
> initializer element is not constant
>   611 |       buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0,
> 0x7f,
>       |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in
> definition of macro 'MT6366_BUCK'
>   155 |  .da_vsel_reg = _da_vsel_reg, \
>       |                 ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:611:31: note: (near
> initialization for 'mt6366_regulators[36].da_vsel_reg')
>   611 |       buck_volt_range1, 0x7f, MT6358_BUCK_VCORE_SSHUB_ELR0,
> 0x7f,
>       |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:155:17: note: in
> definition of macro 'MT6366_BUCK'
>   155 |  .da_vsel_reg = _da_vsel_reg, \
>       |                 ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
>   684 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
>       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in
> definition of macro 'MT6366_LDO1'
>   199 |   .vsel_reg = vosel, \
>       |               ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: note: (near
> initialization for 'mt6366_regulators[37].desc.vsel_reg')
>   684 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
>       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in
> definition of macro 'MT6366_LDO1'
>   199 |   .vsel_reg = vosel, \
>       |               ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: error:
> initializer element is not constant
>   684 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
>       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in
> definition of macro 'MT6366_LDO1'
>   199 |   .vsel_reg = vosel, \
>       |               ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:684:7: note: (near
> initialization for 'mt6366_regulators[37].desc.vsel_reg')
>   684 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f),
>       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:199:15: note: in
> definition of macro 'MT6366_LDO1'
>   199 |   .vsel_reg = vosel, \
>       |               ^~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
>   201 |   .enable_reg = MT6358_LDO_##vreg##_CON0, \
>       |                 ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
>   681 |  MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: note: (near
> initialization for 'mt6366_regulators[37].desc.enable_reg')
>   201 |   .enable_reg = MT6358_LDO_##vreg##_CON0, \
>       |                 ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
>   681 |  MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: error:
> initializer element is not constant
>   201 |   .enable_reg = MT6358_LDO_##vreg##_CON0, \
>       |                 ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
>   681 |  MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:201:17: note: (near
> initialization for 'mt6366_regulators[37].desc.enable_reg')
>   201 |   .enable_reg = MT6358_LDO_##vreg##_CON0, \
>       |                 ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
>   681 |  MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
>   683 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
>       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in
> definition of macro 'MT6366_LDO1'
>   204 |  .da_vsel_reg = _da_vsel_reg, \
>       |                 ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: note: (near
> initialization for 'mt6366_regulators[37].da_vsel_reg')
>   683 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
>       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in
> definition of macro 'MT6366_LDO1'
>   204 |  .da_vsel_reg = _da_vsel_reg, \
>       |                 ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: error:
> initializer element is not constant
>   683 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
>       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in
> definition of macro 'MT6366_LDO1'
>   204 |  .da_vsel_reg = _da_vsel_reg, \
>       |                 ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:683:7: note: (near
> initialization for 'mt6366_regulators[37].da_vsel_reg')
>   683 |       MT6358_LDO_VSRAM_OTHERS_SSHUB_CON1, 0x7f,
>       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:204:17: note: in
> definition of macro 'MT6366_LDO1'
>   204 |  .da_vsel_reg = _da_vsel_reg, \
>       |                 ^~~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: warning:
> initialization of 'unsigned int' from 'struct mt6358_regulator_info
> *' makes integer from pointer without a cast [-Wint-conversion]
>   206 |  .status_reg = MT6358_LDO_##vreg##_DBG1, \
>       |                ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
>   681 |  MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: note: (near
> initialization for 'mt6366_regulators[37].status_reg')
>   206 |  .status_reg = MT6358_LDO_##vreg##_DBG1, \
>       |                ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
>   681 |  MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: error:
> initializer element is not constant
>   206 |  .status_reg = MT6358_LDO_##vreg##_DBG1, \
>       |                ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
>   681 |  MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:206:16: note: (near
> initialization for 'mt6366_regulators[37].status_reg')
>   206 |  .status_reg = MT6358_LDO_##vreg##_DBG1, \
>       |                ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:681:2: note: in
> expansion of macro 'MT6366_LDO1'
>   681 |  MT6366_LDO1("ldo_vsram_others_sshub", VSRAM_OTHERS_SSHUB,
> 500000,
>       |  ^~~~~~~~~~~
> /mnt/kernel/drivers/regulator/mt6358-regulator.c: In function
> 'mt6358_regulator_probe':
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:701:25: error:
> 'MT6366_CHIP_ID' undeclared (first use in this function); did you
> mean 'MT6397_CHIP_ID'?
>   701 |  if (mt6397->chip_id == MT6366_CHIP_ID) {
>       |                         ^~~~~~~~~~~~~~
>       |                         MT6397_CHIP_ID
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:701:25: note: each
> undeclared identifier is reported only once for each function it
> appears in
> /mnt/kernel/drivers/regulator/mt6358-regulator.c:701:22: warning:
> comparison between pointer and integer
>   701 |  if (mt6397->chip_id == MT6366_CHIP_ID) {
>       |                      ^~
> 


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 0/2] Add support for MediaTek PMIC MT6366
  2022-03-17  3:04 [PATCH v2 0/2] Add support for MediaTek PMIC MT6366 Johnson Wang
  2022-03-17  3:04 ` [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator Johnson Wang
  2022-03-17  3:04 ` [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366 Johnson Wang
@ 2022-04-05  9:32 ` Mark Brown
  2 siblings, 0 replies; 8+ messages in thread
From: Mark Brown @ 2022-04-05  9:32 UTC (permalink / raw)
  To: robh+dt, johnson.wang
  Cc: linux-arm-kernel, linux-mediatek, devicetree,
	Project_Global_Chrome_Upstream_Group, linux-kernel

On Thu, 17 Mar 2022 11:04:00 +0800, Johnson Wang wrote:
> This patchset adds support for MediaTek PMIC MT6366.
> MT6366 is the primary PMIC for MT8186 and probably other SOCs.
> 
> Changes in v2:
> - rebase on Linux 5.17-rc8
> - change subject line
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next

Thanks!

[1/2] regulator: mt6366: Add support for MT6366 regulator
      commit: d077002c9d07dc6f64d07a362202a1e1081b2f6c
[2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366
      commit: 417dfad7e4f0501853e05a46742a4e47075f034c

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-04-05 15:21 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-17  3:04 [PATCH v2 0/2] Add support for MediaTek PMIC MT6366 Johnson Wang
2022-03-17  3:04 ` [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator Johnson Wang
2022-03-18 11:37   ` AngeloGioacchino Del Regno
2022-03-18 20:06   ` Mark Brown
2022-03-21  3:51     ` Johnson Wang
2022-03-17  3:04 ` [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366 Johnson Wang
2022-03-18 11:37   ` AngeloGioacchino Del Regno
2022-04-05  9:32 ` [PATCH v2 0/2] Add support for MediaTek PMIC MT6366 Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).