Merge branches 'pm-cpufreq' and 'pm-cpuidle'
* pm-cpufreq: cpufreq: ti-cpufreq: Support additional am43xx platforms cpufreq: dt-platdev: Add some missing platforms to the blacklist * pm-cpuidle: ARM: cpuidle: Avoid memleak if init fail
This commit is contained in:
Коммит
d84c97f8f7
|
@ -106,6 +106,18 @@ static const struct of_device_id whitelist[] __initconst = {
|
||||||
* platforms using "operating-points-v2" property.
|
* platforms using "operating-points-v2" property.
|
||||||
*/
|
*/
|
||||||
static const struct of_device_id blacklist[] __initconst = {
|
static const struct of_device_id blacklist[] __initconst = {
|
||||||
|
{ .compatible = "calxeda,highbank", },
|
||||||
|
{ .compatible = "calxeda,ecx-2000", },
|
||||||
|
|
||||||
|
{ .compatible = "marvell,armadaxp", },
|
||||||
|
|
||||||
|
{ .compatible = "nvidia,tegra124", },
|
||||||
|
|
||||||
|
{ .compatible = "st,stih407", },
|
||||||
|
{ .compatible = "st,stih410", },
|
||||||
|
|
||||||
|
{ .compatible = "sigma,tango4", },
|
||||||
|
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -190,7 +190,7 @@ static int ti_cpufreq_setup_syscon_register(struct ti_cpufreq_data *opp_data)
|
||||||
|
|
||||||
static const struct of_device_id ti_cpufreq_of_match[] = {
|
static const struct of_device_id ti_cpufreq_of_match[] = {
|
||||||
{ .compatible = "ti,am33xx", .data = &am3x_soc_data, },
|
{ .compatible = "ti,am33xx", .data = &am3x_soc_data, },
|
||||||
{ .compatible = "ti,am4372", .data = &am4x_soc_data, },
|
{ .compatible = "ti,am43", .data = &am4x_soc_data, },
|
||||||
{ .compatible = "ti,dra7", .data = &dra7_soc_data },
|
{ .compatible = "ti,dra7", .data = &dra7_soc_data },
|
||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
|
|
|
@ -104,13 +104,13 @@ static int __init arm_idle_init(void)
|
||||||
ret = dt_init_idle_driver(drv, arm_idle_state_match, 1);
|
ret = dt_init_idle_driver(drv, arm_idle_state_match, 1);
|
||||||
if (ret <= 0) {
|
if (ret <= 0) {
|
||||||
ret = ret ? : -ENODEV;
|
ret = ret ? : -ENODEV;
|
||||||
goto out_fail;
|
goto init_fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = cpuidle_register_driver(drv);
|
ret = cpuidle_register_driver(drv);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_err("Failed to register cpuidle driver\n");
|
pr_err("Failed to register cpuidle driver\n");
|
||||||
goto out_fail;
|
goto init_fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -149,6 +149,8 @@ static int __init arm_idle_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
init_fail:
|
||||||
|
kfree(drv);
|
||||||
out_fail:
|
out_fail:
|
||||||
while (--cpu >= 0) {
|
while (--cpu >= 0) {
|
||||||
dev = per_cpu(cpuidle_devices, cpu);
|
dev = per_cpu(cpuidle_devices, cpu);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче