Skip to content

Commit a17a733

Browse files
committed
Merge branch 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm
Pull ARM cpufreq updates for 5.10-rc1 from Viresh Kumar: "- STI cpufreq driver updates to allow new hardware (Alain Volmat). - Minor tegra driver fixes around initial frequency mismatch warnings (Jon Hunter). - dev_err simplification for s5pv210 driver (Krzysztof Kozlowski). - Qcom driver updates to allow new hardware and minor cleanup (Manivannan Sadhasivam and Matthias Kaehlcke). - Add missing MODULE_DEVICE_TABLE for armada driver (Pali Rohár). - Improved defer-probe handling in cpufreq-dt driver (Stephan Gerhold). - Call dev_pm_opp_of_remove_table() unconditionally for imx driver (Viresh Kumar)." * 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm: cpufreq: qcom: Don't add frequencies without an OPP cpufreq: qcom-hw: Add cpufreq support for SM8250 SoC cpufreq: qcom-hw: Use of_device_get_match_data for offsets and row size cpufreq: qcom-hw: Use devm_platform_ioremap_resource() to simplify code dt-bindings: cpufreq: cpufreq-qcom-hw: Document Qcom EPSS compatible cpufreq: qcom-hw: Make use of cpufreq driver_data for passing pdev cpufreq: armada-37xx: Add missing MODULE_DEVICE_TABLE cpufreq: arm: Kconfig: add CPUFREQ_DT depend for STI CPUFREQ cpufreq: dt-platdev: Blacklist st,stih418 SoC cpufreq: sti-cpufreq: add stih418 support cpufreq: s5pv210: Use dev_err instead of pr_err in probe cpufreq: s5pv210: Simplify with dev_err_probe() cpufreq: tegra186: Fix initial frequency cpufreq: dt: Refactor initialization to handle probe deferral properly opp: Handle multiple calls for same OPP table in _of_add_opp_table_v1() cpufreq: imx6q: Unconditionally call dev_pm_opp_of_remove_table() opp: Allow dev_pm_opp_get_opp_table() to return -EPROBE_DEFER
2 parents 08d8c65 + bc9b9c5 commit a17a733

14 files changed

Lines changed: 356 additions & 265 deletions

File tree

Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Properties:
88
- compatible
99
Usage: required
1010
Value type: <string>
11-
Definition: must be "qcom,cpufreq-hw".
11+
Definition: must be "qcom,cpufreq-hw" or "qcom,cpufreq-epss".
1212

1313
- clocks
1414
Usage: required

drivers/base/power/domain.c

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2044,8 +2044,9 @@ int of_genpd_add_provider_simple(struct device_node *np,
20442044
if (genpd->set_performance_state) {
20452045
ret = dev_pm_opp_of_add_table(&genpd->dev);
20462046
if (ret) {
2047-
dev_err(&genpd->dev, "Failed to add OPP table: %d\n",
2048-
ret);
2047+
if (ret != -EPROBE_DEFER)
2048+
dev_err(&genpd->dev, "Failed to add OPP table: %d\n",
2049+
ret);
20492050
goto unlock;
20502051
}
20512052

@@ -2054,7 +2055,7 @@ int of_genpd_add_provider_simple(struct device_node *np,
20542055
* state.
20552056
*/
20562057
genpd->opp_table = dev_pm_opp_get_opp_table(&genpd->dev);
2057-
WARN_ON(!genpd->opp_table);
2058+
WARN_ON(IS_ERR(genpd->opp_table));
20582059
}
20592060

20602061
ret = genpd_add_provider(np, genpd_xlate_simple, genpd);
@@ -2111,8 +2112,9 @@ int of_genpd_add_provider_onecell(struct device_node *np,
21112112
if (genpd->set_performance_state) {
21122113
ret = dev_pm_opp_of_add_table_indexed(&genpd->dev, i);
21132114
if (ret) {
2114-
dev_err(&genpd->dev, "Failed to add OPP table for index %d: %d\n",
2115-
i, ret);
2115+
if (ret != -EPROBE_DEFER)
2116+
dev_err(&genpd->dev, "Failed to add OPP table for index %d: %d\n",
2117+
i, ret);
21162118
goto error;
21172119
}
21182120

@@ -2121,7 +2123,7 @@ int of_genpd_add_provider_onecell(struct device_node *np,
21212123
* performance state.
21222124
*/
21232125
genpd->opp_table = dev_pm_opp_get_opp_table_indexed(&genpd->dev, i);
2124-
WARN_ON(!genpd->opp_table);
2126+
WARN_ON(IS_ERR(genpd->opp_table));
21252127
}
21262128

21272129
genpd->provider = &np->fwnode;

drivers/cpufreq/Kconfig.arm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ config ARM_SPEAR_CPUFREQ
283283

284284
config ARM_STI_CPUFREQ
285285
tristate "STi CPUFreq support"
286-
depends on SOC_STIH407
286+
depends on CPUFREQ_DT && SOC_STIH407
287287
help
288288
This driver uses the generic OPP framework to match the running
289289
platform with a predefined set of suitable values. If not provided

drivers/cpufreq/armada-37xx-cpufreq.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -484,6 +484,12 @@ static int __init armada37xx_cpufreq_driver_init(void)
484484
/* late_initcall, to guarantee the driver is loaded after A37xx clock driver */
485485
late_initcall(armada37xx_cpufreq_driver_init);
486486

487+
static const struct of_device_id __maybe_unused armada37xx_cpufreq_of_match[] = {
488+
{ .compatible = "marvell,armada-3700-nb-pm" },
489+
{ },
490+
};
491+
MODULE_DEVICE_TABLE(of, armada37xx_cpufreq_of_match);
492+
487493
MODULE_AUTHOR("Gregory CLEMENT <gregory.clement@free-electrons.com>");
488494
MODULE_DESCRIPTION("Armada 37xx cpufreq driver");
489495
MODULE_LICENSE("GPL");

drivers/cpufreq/cpufreq-dt-platdev.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ static const struct of_device_id blacklist[] __initconst = {
137137

138138
{ .compatible = "st,stih407", },
139139
{ .compatible = "st,stih410", },
140+
{ .compatible = "st,stih418", },
140141

141142
{ .compatible = "sigma,tango4", },
142143

0 commit comments

Comments
 (0)