diff mbox

OMAP3: PM: Do not Enable SmartReflex if OPP tables not defined

Message ID 1242736671-27268-1-git-send-email-ext-roger.quadros@nokia.com (mailing list archive)
State Accepted
Delegated to: Kevin Hilman
Headers show

Commit Message

Roger Quadros May 19, 2009, 12:37 p.m. UTC
Prevent SmartReflex driver driver from loading if OPP tables are
not defined by platform. This removes possibility of NULL pointer
reference in SmartReflex driver code.

Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
---
 arch/arm/mach-omap2/smartreflex.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

Comments

Kevin Hilman May 19, 2009, 4:54 p.m. UTC | #1
Roger Quadros <ext-roger.quadros@nokia.com> writes:

> Prevent SmartReflex driver driver from loading if OPP tables are
> not defined by platform. This removes possibility of NULL pointer
> reference in SmartReflex driver code.
>
> Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>

Thanks, pushing to PM branch.

Kevin

> ---
>  arch/arm/mach-omap2/smartreflex.c |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
> index b032366..4823ce8 100644
> --- a/arch/arm/mach-omap2/smartreflex.c
> +++ b/arch/arm/mach-omap2/smartreflex.c
> @@ -852,6 +852,12 @@ static int __init omap3_sr_init(void)
>  	int ret = 0;
>  	u8 RdReg;
>  
> +	/* Exit if OPP tables are not defined */
> +        if (!(mpu_opps && l3_opps)) {
> +                pr_err("SR: OPP rate tables not defined for platform, not enabling SmartReflex\n");
> +		return -ENODEV;
> +        }
> +
>  	/* Enable SR on T2 */
>  	ret = twl4030_i2c_read_u8(TWL4030_MODULE_PM_RECEIVER, &RdReg,
>  					R_DCDC_GLOBAL_CFG);
> -- 
> 1.6.0.4
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
index b032366..4823ce8 100644
--- a/arch/arm/mach-omap2/smartreflex.c
+++ b/arch/arm/mach-omap2/smartreflex.c
@@ -852,6 +852,12 @@  static int __init omap3_sr_init(void)
 	int ret = 0;
 	u8 RdReg;
 
+	/* Exit if OPP tables are not defined */
+        if (!(mpu_opps && l3_opps)) {
+                pr_err("SR: OPP rate tables not defined for platform, not enabling SmartReflex\n");
+		return -ENODEV;
+        }
+
 	/* Enable SR on T2 */
 	ret = twl4030_i2c_read_u8(TWL4030_MODULE_PM_RECEIVER, &RdReg,
 					R_DCDC_GLOBAL_CFG);