On Fri, 7 Apr 2023 22:18:13 +0800
Shengyu Qu <wiagn233@xxxxxxxxxxx> wrote:
Current axp20x regulator driver would always set DCDC frequency even ifThis patch should not be needed. You should disallow the
there is no x-powers,dcdc-freq in device tree data. Causing meaningless
warning info output on variants that do not support DCDC frequency
modification. So only try to set DCDC frequency when there is frequency
property.
x-powers,dcdc-freq property in the binding (see [1]), then handle that
like the AXP313a driver does: by explicitly checking that the property
does not exist, then returning, see [2].
In general you might want to rebase your series on top of the AXP313a v10
series, as this most likely goes in before.
Cheers,
Andre
[1]
https://lore.kernel.org/linux-sunxi/20230401001850.4988-2-andre.przywara@xxxxxxx/
[2]
https://lore.kernel.org/linux-sunxi/20230401001850.4988-4-andre.przywara@xxxxxxx/
Signed-off-by: Shengyu Qu <wiagn233@xxxxxxxxxxx>
---
drivers/regulator/axp20x-regulator.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/regulator/axp20x-regulator.c b/drivers/regulator/axp20x-regulator.c
index ece4af93df7b..12a12923bc7b 100644
--- a/drivers/regulator/axp20x-regulator.c
+++ b/drivers/regulator/axp20x-regulator.c
@@ -1247,10 +1247,10 @@ static int axp20x_regulator_parse_dt(struct platform_device *pdev)
if (!regulators) {
dev_warn(&pdev->dev, "regulators node not found\n");
} else {
- of_property_read_u32(regulators, "x-powers,dcdc-freq", &dcdcfreq);
- ret = axp20x_set_dcdc_freq(pdev, dcdcfreq);
- if (ret < 0) {
- dev_err(&pdev->dev, "Error setting dcdc frequency: %d\n", ret);
+ if (of_property_read_u32(regulators, "x-powers,dcdc-freq", &dcdcfreq) != -EINVAL) {
+ ret = axp20x_set_dcdc_freq(pdev, dcdcfreq);
+ if (ret < 0)
+ dev_err(&pdev->dev, "Error setting dcdc frequency: %d\n", ret);
}
of_node_put(regulators);
}
Attachment:
OpenPGP_0xE3520CC91929C8E7.asc
Description: OpenPGP public key
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature