Lines Matching +full:idle +full:- +full:state +full:- +full:spc
1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (c) 2011-2014, The Linux Foundation. All rights reserved.
22 #include <asm/proc-fns.h>
40 return -1; in qcom_pm_collapse()
53 * Ensure the state is set to standby before returning. in qcom_cpu_spc()
66 return CPU_PM_CPU_IDLE_ENTER_PARAM(qcom_cpu_spc, idx, data->spm); in spm_enter_idle_state()
83 { .compatible = "qcom,idle-state-spc", .data = spm_enter_idle_state },
96 return -ENODEV; in spm_cpuidle_register()
100 return -ENODEV; in spm_cpuidle_register()
106 return -ENODEV; in spm_cpuidle_register()
110 return -ENOMEM; in spm_cpuidle_register()
112 data->spm = dev_get_drvdata(&pdev->dev); in spm_cpuidle_register()
113 if (!data->spm) in spm_cpuidle_register()
114 return -EINVAL; in spm_cpuidle_register()
116 data->cpuidle_driver = qcom_spm_idle_driver; in spm_cpuidle_register()
117 data->cpuidle_driver.cpumask = (struct cpumask *)cpumask_of(cpu); in spm_cpuidle_register()
119 ret = dt_init_idle_driver(&data->cpuidle_driver, in spm_cpuidle_register()
122 return ret ? : -ENODEV; in spm_cpuidle_register()
124 return cpuidle_register(&data->cpuidle_driver, NULL); in spm_cpuidle_register()
132 return -EPROBE_DEFER; in spm_cpuidle_drv_probe()
136 return dev_err_probe(&pdev->dev, ret, "set warm boot addr failed"); in spm_cpuidle_drv_probe()
139 ret = spm_cpuidle_register(&pdev->dev, cpu); in spm_cpuidle_drv_probe()
140 if (ret && ret != -ENODEV) { in spm_cpuidle_drv_probe()
141 dev_err(&pdev->dev, in spm_cpuidle_drv_probe()
152 .name = "qcom-spm-cpuidle",
186 pdev = platform_device_register_simple("qcom-spm-cpuidle", in qcom_spm_cpuidle_init()
187 -1, NULL, 0); in qcom_spm_cpuidle_init()