All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Add support for MediaTek PMIC MT6366
@ 2022-03-17  3:04 ` Johnson Wang
  0 siblings, 0 replies; 24+ 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] 24+ messages in thread

* [PATCH v2 0/2] Add support for MediaTek PMIC MT6366
@ 2022-03-17  3:04 ` Johnson Wang
  0 siblings, 0 replies; 24+ 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


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

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

* [PATCH v2 0/2] Add support for MediaTek PMIC MT6366
@ 2022-03-17  3:04 ` Johnson Wang
  0 siblings, 0 replies; 24+ 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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
  2022-03-17  3:04 ` Johnson Wang
  (?)
@ 2022-03-17  3:04   ` Johnson Wang
  -1 siblings, 0 replies; 24+ 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] 24+ messages in thread

* [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
@ 2022-03-17  3:04   ` Johnson Wang
  0 siblings, 0 replies; 24+ 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


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

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

* [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
@ 2022-03-17  3:04   ` Johnson Wang
  0 siblings, 0 replies; 24+ 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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366
  2022-03-17  3:04 ` Johnson Wang
  (?)
@ 2022-03-17  3:04   ` Johnson Wang
  -1 siblings, 0 replies; 24+ 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] 24+ messages in thread

* [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366
@ 2022-03-17  3:04   ` Johnson Wang
  0 siblings, 0 replies; 24+ 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


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

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

* [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366
@ 2022-03-17  3:04   ` Johnson Wang
  0 siblings, 0 replies; 24+ 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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
  2022-03-17  3:04   ` Johnson Wang
  (?)
@ 2022-03-18 11:37     ` AngeloGioacchino Del Regno
  -1 siblings, 0 replies; 24+ 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] 24+ messages in thread

* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
@ 2022-03-18 11:37     ` AngeloGioacchino Del Regno
  0 siblings, 0 replies; 24+ 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

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

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

* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
@ 2022-03-18 11:37     ` AngeloGioacchino Del Regno
  0 siblings, 0 replies; 24+ 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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 24+ 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   ` Johnson Wang
  (?)
@ 2022-03-18 11:37     ` AngeloGioacchino Del Regno
  -1 siblings, 0 replies; 24+ 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] 24+ messages in thread

* Re: [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366
@ 2022-03-18 11:37     ` AngeloGioacchino Del Regno
  0 siblings, 0 replies; 24+ 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(-)
> 

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

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

* Re: [PATCH v2 2/2] dt-bindings: regulator: Add BUCK and LDO document for MT6358 and MT6366
@ 2022-03-18 11:37     ` AngeloGioacchino Del Regno
  0 siblings, 0 replies; 24+ 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(-)
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
  2022-03-17  3:04   ` Johnson Wang
  (?)
@ 2022-03-18 20:06     ` Mark Brown
  -1 siblings, 0 replies; 24+ 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] 24+ messages in thread

* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
@ 2022-03-18 20:06     ` Mark Brown
  0 siblings, 0 replies; 24+ 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.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 #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

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

* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
@ 2022-03-18 20:06     ` Mark Brown
  0 siblings, 0 replies; 24+ 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.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 #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 24+ 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
  -1 siblings, 0 replies; 24+ 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] 24+ messages in thread

* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
@ 2022-03-21  3:51       ` Johnson Wang
  0 siblings, 0 replies; 24+ 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) {
>       |                      ^~
> 


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

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

* Re: [PATCH v2 1/2] regulator: mt6366: Add support for MT6366 regulator
@ 2022-03-21  3:51       ` Johnson Wang
  0 siblings, 0 replies; 24+ 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) {
>       |                      ^~
> 


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 0/2] Add support for MediaTek PMIC MT6366
  2022-03-17  3:04 ` Johnson Wang
  (?)
@ 2022-04-05  9:32   ` Mark Brown
  -1 siblings, 0 replies; 24+ 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

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

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

* Re: [PATCH v2 0/2] Add support for MediaTek PMIC MT6366
@ 2022-04-05  9:32   ` Mark Brown
  0 siblings, 0 replies; 24+ 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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 0/2] Add support for MediaTek PMIC MT6366
@ 2022-04-05  9:32   ` Mark Brown
  0 siblings, 0 replies; 24+ 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] 24+ messages in thread

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

Thread overview: 24+ 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 ` Johnson Wang
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
2022-03-17  3:04   ` Johnson Wang
2022-03-17  3:04   ` Johnson Wang
2022-03-18 11:37   ` AngeloGioacchino Del Regno
2022-03-18 11:37     ` AngeloGioacchino Del Regno
2022-03-18 11:37     ` AngeloGioacchino Del Regno
2022-03-18 20:06   ` Mark Brown
2022-03-18 20:06     ` Mark Brown
2022-03-18 20:06     ` Mark Brown
2022-03-21  3:51     ` Johnson Wang
2022-03-21  3:51       ` Johnson Wang
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-17  3:04   ` Johnson Wang
2022-03-17  3:04   ` Johnson Wang
2022-03-18 11:37   ` AngeloGioacchino Del Regno
2022-03-18 11:37     ` AngeloGioacchino Del Regno
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
2022-04-05  9:32   ` Mark Brown
2022-04-05  9:32   ` Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.