Hi,

On Fri, Jul 22, 2011 at 12:55:53AM -0500, Nishanth Menon wrote:
> Suspend and Resume paths are safe enough to do it in
> the standard LDM suspend/resume handlers where one can
> sleep. Add suspend/resume handlers for SmartReflex.
> 
> Signed-off-by: Nishanth Menon <n...@ti.com>
> ---
>  arch/arm/mach-omap2/smartreflex.c |   87 
> +++++++++++++++++++++++++++++++++++++
>  1 files changed, 87 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/smartreflex.c 
> b/arch/arm/mach-omap2/smartreflex.c
> index 33a027f..fb90bd2 100644
> --- a/arch/arm/mach-omap2/smartreflex.c
> +++ b/arch/arm/mach-omap2/smartreflex.c
> @@ -39,6 +39,7 @@ struct omap_sr {
>       int                             ip_type;
>       int                             nvalue_count;
>       bool                            autocomp_active;
> +     bool                            is_suspended;
>       u32                             clk_length;
>       u32                             err_weight;
>       u32                             err_minlimit;
> @@ -684,6 +685,12 @@ void omap_sr_enable(struct voltagedomain *voltdm)
>       if (!sr->autocomp_active)
>               return;
>  
> +     if (sr->is_suspended) {
> +             dev_dbg(&sr->pdev->dev, "%s: in suspended state\n", __func__);
> +             return;
> +     }

I wonder why you get these called if you're in suspend state. If this is
called by some other driver, then shouldn't you pm_runtime_get_sync();
do_whatever_you_need_to_do(); and pm_runtime_put(); rather then just
returning ?

-- 
balbi

Attachment: signature.asc
Description: Digital signature

Reply via email to