drivers/cpufreq/mediatek-cpufreq-hw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
devm_regulator_get_optional() returns -ENODEV if no supply can be found.
By introducing its usage, commit 788715b5f21c ("cpufreq: mediatek-hw:
Wait for CPU supplies before probing") caused the driver to fail probe
if no supply was present in any of the CPU DT nodes.
Use devm_regulator_get() instead since the CPUs do require supplies
even if not described in the DT. It will gracefully return a dummy
regulator if none is found in the DT node, allowing probe to succeed.
Fixes: 788715b5f21c ("cpufreq: mediatek-hw: Wait for CPU supplies before probing")
Reported-by: kernelci.org bot <bot@kernelci.org>
Closes: https://linux.kernelci.org/test/case/id/65b0b169710edea22852a3fa/
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
---
drivers/cpufreq/mediatek-cpufreq-hw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/cpufreq/mediatek-cpufreq-hw.c b/drivers/cpufreq/mediatek-cpufreq-hw.c
index a1aa9385980a..8d097dcddda4 100644
--- a/drivers/cpufreq/mediatek-cpufreq-hw.c
+++ b/drivers/cpufreq/mediatek-cpufreq-hw.c
@@ -312,7 +312,7 @@ static int mtk_cpufreq_hw_driver_probe(struct platform_device *pdev)
return dev_err_probe(&pdev->dev, -EPROBE_DEFER,
"Failed to get cpu%d device\n", cpu);
- cpu_reg = devm_regulator_get_optional(cpu_dev, "cpu");
+ cpu_reg = devm_regulator_get(cpu_dev, "cpu");
if (IS_ERR(cpu_reg))
return dev_err_probe(&pdev->dev, PTR_ERR(cpu_reg),
"CPU%d regulator get failed\n", cpu);
---
base-commit: 9ac3ebaef3cc43ecd136911c44f1427286ee5a05
change-id: 20240124-mtk-cpufreq-hw-regulator-enodev-fix-f614019689d0
Best regards,
--
Nícolas F. R. A. Prado <nfraprado@collabora.com>
Il 24/01/24 21:31, Nícolas F. R. A. Prado ha scritto: > devm_regulator_get_optional() returns -ENODEV if no supply can be found. > By introducing its usage, commit 788715b5f21c ("cpufreq: mediatek-hw: > Wait for CPU supplies before probing") caused the driver to fail probe > if no supply was present in any of the CPU DT nodes. > > Use devm_regulator_get() instead since the CPUs do require supplies > even if not described in the DT. It will gracefully return a dummy > regulator if none is found in the DT node, allowing probe to succeed. > > Fixes: 788715b5f21c ("cpufreq: mediatek-hw: Wait for CPU supplies before probing") > Reported-by: kernelci.org bot <bot@kernelci.org> > Closes: https://linux.kernelci.org/test/case/id/65b0b169710edea22852a3fa/ > Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Makes sense. Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> > --- > drivers/cpufreq/mediatek-cpufreq-hw.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/cpufreq/mediatek-cpufreq-hw.c b/drivers/cpufreq/mediatek-cpufreq-hw.c > index a1aa9385980a..8d097dcddda4 100644 > --- a/drivers/cpufreq/mediatek-cpufreq-hw.c > +++ b/drivers/cpufreq/mediatek-cpufreq-hw.c > @@ -312,7 +312,7 @@ static int mtk_cpufreq_hw_driver_probe(struct platform_device *pdev) > return dev_err_probe(&pdev->dev, -EPROBE_DEFER, > "Failed to get cpu%d device\n", cpu); > > - cpu_reg = devm_regulator_get_optional(cpu_dev, "cpu"); > + cpu_reg = devm_regulator_get(cpu_dev, "cpu"); > if (IS_ERR(cpu_reg)) > return dev_err_probe(&pdev->dev, PTR_ERR(cpu_reg), > "CPU%d regulator get failed\n", cpu); > > --- > base-commit: 9ac3ebaef3cc43ecd136911c44f1427286ee5a05 > change-id: 20240124-mtk-cpufreq-hw-regulator-enodev-fix-f614019689d0 > > Best regards,
On 24-01-24, 17:31, Nícolas F. R. A. Prado wrote: > devm_regulator_get_optional() returns -ENODEV if no supply can be found. > By introducing its usage, commit 788715b5f21c ("cpufreq: mediatek-hw: > Wait for CPU supplies before probing") caused the driver to fail probe > if no supply was present in any of the CPU DT nodes. > > Use devm_regulator_get() instead since the CPUs do require supplies > even if not described in the DT. It will gracefully return a dummy > regulator if none is found in the DT node, allowing probe to succeed. > > Fixes: 788715b5f21c ("cpufreq: mediatek-hw: Wait for CPU supplies before probing") > Reported-by: kernelci.org bot <bot@kernelci.org> > Closes: https://linux.kernelci.org/test/case/id/65b0b169710edea22852a3fa/ > Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> > --- > drivers/cpufreq/mediatek-cpufreq-hw.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Applied. Thanks. -- viresh
© 2016 - 2024 Red Hat, Inc.