Subject: [PATCH 05/21] Revert "OMAP3+: PM: SR: add suspend/resume handlers"

From: [email-masked] (Cousson, Benoit)
Date: Wed, 25 Jan 2012 18:53:53 +0100

Salut Jean,

On 1/25/2012 4:16 PM, Jean Pihet wrote:
> From: Nishanth Menon<[email-masked]>
>
> This reverts commit b6be18f0bab68ed304ebbb2d787d1c36237eda62.

That weird, because you revert a patch you introduced just before:
[PATCH 03/21] OMAP3+: PM: SR: add suspend/resume handlers

Moreover this commit id is not relevant since it is probably only in 
Nishanth's GIT tree.

> Revert the patch so that we remove any opportunity of SR disable/enable
> and any device_scale transitions from conflicting with suspend/resume
> path by moving the sr enable/disable activity to the very last
> stage(in pmxx.C). The previous patch tried to optimize suspend resume
> time, but since device_scale opportunities are from multiple drivers
> (other than cpufreq), hence reverting back to original approach
>
> Conflicts:
>
> 	arch/arm/mach-omap2/smartreflex.c
>
> Change-Id: I236b0e8259cfb371899dd0c93875739a21358e33

And this looks like gerrit leftover that should not be there.

I guess that path #3 and #5 should just be removed.

Regards,
Benoit

> Signed-off-by: Nishanth Menon<[email-masked]>
> Signed-off-by: Jean Pihet<[email-masked]>
> ---
>   arch/arm/mach-omap2/smartreflex.c |   90 -------------------------------------
>   1 files changed, 0 insertions(+), 90 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
> index 95fd228..7e755bb 100644
> --- a/arch/arm/mach-omap2/smartreflex.c
> +++ b/arch/arm/mach-omap2/smartreflex.c
> @@ -24,7 +24,6 @@
>   #include<linux/debugfs.h>
>   #include<linux/delay.h>
>   #include<linux/slab.h>
> -#include<linux/pm.h>
>   #include<linux/pm_runtime.h>
>
>   #include "common.h"
> @@ -41,7 +40,6 @@ struct omap_sr {
>   	int				ip_type;
>   	int				nvalue_count;
>   	bool				autocomp_active;
> -	bool				is_suspended;
>   	u32				clk_length;
>   	u32				err_weight;
>   	u32				err_minlimit;
> @@ -687,11 +685,6 @@ 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;
> -	}
> -
>   	if (!sr_class || !(sr_class->enable) || !(sr_class->configure)) {
>   		dev_warn(&sr->pdev->dev, "%s: smartreflex class driver not"
>   			"registered\n", __func__);
> @@ -725,11 +718,6 @@ void omap_sr_disable(struct voltagedomain *voltdm)
>   	if (!sr->autocomp_active)
>   		return;
>
> -	if (sr->is_suspended) {
> -		dev_dbg(&sr->pdev->dev, "%s: in suspended state\n", __func__);
> -		return;
> -	}
> -
>   	if (!sr_class || !(sr_class->disable)) {
>   		dev_warn(&sr->pdev->dev, "%s: smartreflex class driver not"
>   			"registered\n", __func__);
> @@ -763,11 +751,6 @@ void omap_sr_disable_reset_volt(struct voltagedomain *voltdm)
>   	if (!sr->autocomp_active)
>   		return;
>
> -	if (sr->is_suspended) {
> -		dev_dbg(&sr->pdev->dev, "%s: in suspended state\n", __func__);
> -		return;
> -	}
> -
>   	if (!sr_class || !(sr_class->disable)) {
>   		dev_warn(&sr->pdev->dev, "%s: smartreflex class driver not"
>   			"registered\n", __func__);
> @@ -826,11 +809,6 @@ static int omap_sr_autocomp_store(void *data, u64 val)
>   		return -EINVAL;
>   	}
>
> -	if (sr_info->is_suspended) {
> -		pr_warning("%s: in suspended state\n", __func__);
> -		return -EBUSY;
> -	}
> -
>   	/* control enable/disable only if there is a delta in value */
>   	if (sr_info->autocomp_active != val) {
>   		if (!val)
> @@ -1033,78 +1011,10 @@ static int __devexit omap_sr_remove(struct platform_device *pdev)
>   	return 0;
>   }
>
> -static int omap_sr_suspend(struct device *dev)
> -{
> -	struct omap_sr_data *pdata;
> -	struct omap_sr *sr_info;
> -
> -	pdata = dev_get_platdata(dev);
> -	if (!pdata) {
> -		dev_err(dev, "%s: platform data missing\n", __func__);
> -		return -EINVAL;
> -	}
> -
> -	sr_info = _sr_lookup(pdata->voltdm);
> -	if (IS_ERR(sr_info)) {
> -		dev_warn(dev, "%s: omap_sr struct not found\n", __func__);
> -		return -EINVAL;
> -	}
> -
> -	if (!sr_info->autocomp_active)
> -		return 0;
> -
> -	if (sr_info->is_suspended)
> -		return 0;
> -
> -	omap_sr_disable_reset_volt(pdata->voltdm);
> -	sr_info->is_suspended = true;
> -	/* Flag the same info to the other CPUs */
> -	smp_wmb();
> -
> -	return 0;
> -}
> -
> -static int omap_sr_resume(struct device *dev)
> -{
> -	struct omap_sr_data *pdata;
> -	struct omap_sr *sr_info;
> -
> -	pdata = dev_get_platdata(dev);
> -	if (!pdata) {
> -		dev_err(dev, "%s: platform data missing\n", __func__);
> -		return -EINVAL;
> -	}
> -
> -	sr_info = _sr_lookup(pdata->voltdm);
> -	if (IS_ERR(sr_info)) {
> -		dev_warn(dev, "%s: omap_sr struct not found\n", __func__);
> -		return -EINVAL;
> -	}
> -
> -	if (!sr_info->autocomp_active)
> -		return 0;
> -
> -	if (!sr_info->is_suspended)
> -		return 0;
> -
> -	sr_info->is_suspended = false;
> -	/* Flag the same info to the other CPUs */
> -	smp_wmb();
> -	omap_sr_enable(pdata->voltdm);
> -
> -	return 0;
> -}
> -
> -const static struct dev_pm_ops omap_sr_dev_pm_ops = {
> -	.suspend_noirq = omap_sr_suspend,
> -	.resume_noirq = omap_sr_resume,
> -};
> -
>   static struct platform_driver smartreflex_driver = {
>   	.remove         = omap_sr_remove,
>   	.driver		= {
>   		.name	= "smartreflex",
> -		.pm	=&omap_sr_dev_pm_ops,
>   	},
>   };
>