On 05/03/2012 10:26 PM, Kevin Hilman wrote:
Daniel Lezcanodaniel.lezcano@linaro.org writes:
and check the powerdomain lookup is successful.
Signed-off-by: Daniel Lezcanodaniel.lezcano@linaro.org Reviewed-by: Jean Pihetj-pihet@ti.com
arch/arm/mach-omap2/cpuidle34xx.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-omap2/cpuidle34xx.c b/arch/arm/mach-omap2/cpuidle34xx.c index 0d28596..116a0d8 100644 --- a/arch/arm/mach-omap2/cpuidle34xx.c +++ b/arch/arm/mach-omap2/cpuidle34xx.c @@ -73,7 +73,7 @@ static struct omap3_idle_statedata omap3_idle_data[] = { }, };
-struct powerdomain *mpu_pd, *core_pd, *per_pd, *cam_pd; +static struct powerdomain *mpu_pd, *core_pd, *per_pd, *cam_pd;
static int _cpuidle_allow_idle(struct powerdomain *pwrdm, struct clockdomain *clkdm) @@ -252,6 +252,9 @@ static int omap3_enter_idle_bm(struct cpuidle_device *dev, * its own code. */
- if (!mpu_pd || !core_pd || !per_pd || !cam_pd)
return -ENODEV;
Why check here? cam_pd is actually used just above this code.
Also, this is in the fast path. This should just be checked once at init time instead of every idle path.
For those reasons, I've dropped this part of the patch (updated patch below.)
Hmm, weird this part should have been in the init function, I likely missed a big fuzz I think when porting the patchset to the latest kernel version. Thanks for fixing it.
If desired, you can send an additional patch that adds this error checking at init time and then refuses to register the driver if any of the pwrdms don't exist.
Yes, I will do it.
-- Daniel