From e7fd319fd055450dce5ff4f07fa2012f103e9413 Mon Sep 17 00:00:00 2001 From: Jon Medhurst Date: Wed, 25 Jul 2012 15:13:46 +0100 Subject: [PATCH] ARM: vexpress: Make cpuidle check for presence of SPC driver The cpuidle code requires SPC hardware, so check for its presence before initialising. This enables the cpuidle code to safely exist in kernels run on hardware without SPC support. Signed-off-by: Jon Medhurst --- arch/arm/mach-vexpress/cpuidle-tc2.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm/mach-vexpress/cpuidle-tc2.c b/arch/arm/mach-vexpress/cpuidle-tc2.c index de66243a7ef3..3b73d4a5dc5f 100644 --- a/arch/arm/mach-vexpress/cpuidle-tc2.c +++ b/arch/arm/mach-vexpress/cpuidle-tc2.c @@ -221,6 +221,11 @@ int __init tc2_idle_init(void) struct dentry *idle_debug, *file_debug; struct cpuidle_driver *drv = &tc2_idle_driver; + if (!vexpress_spc_check_loaded()) { + pr_info("TC2 CPUidle not registered because no SPC found\n"); + return -ENODEV; + } + drv->state_count = (sizeof(tc2_cpuidle_set) / sizeof(struct cpuidle_state)); -- 2.34.1