diff mbox

[RESEND] ARM: imx6: build pm-imx6q.c independently of CONFIG_PM

Message ID 201402252046.04144.arnd@arndb.de
State New
Headers show

Commit Message

Arnd Bergmann Feb. 25, 2014, 7:46 p.m. UTC
On Tuesday 18 February 2014, Shawn Guo wrote:
> When building a kernel image with only CONFIG_CPU_IDLE but no CONFIG_PM,
> we will get the following link error.
> 

I seem to need more changes on top of this, to allow building with neither
CPU_IDLE nor PM enabled. Can you verify that?

	Arnd

commit 6a434aea44d8a250f8ee2205be9bc429b140b663
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Mon Feb 24 22:19:50 2014 +0100

    ARM: imx: more CONFIG_PM fixes
    
    This lets us build the imx code in more configurations.
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Comments

Shawn Guo Feb. 26, 2014, 7:28 a.m. UTC | #1
On Tue, Feb 25, 2014 at 08:46:03PM +0100, Arnd Bergmann wrote:
> On Tuesday 18 February 2014, Shawn Guo wrote:
> > When building a kernel image with only CONFIG_CPU_IDLE but no CONFIG_PM,
> > we will get the following link error.
> > 
> 
> I seem to need more changes on top of this, to allow building with neither
> CPU_IDLE nor PM enabled. Can you verify that?

The error is only seen on the linux-next, and partially caused by the
resolution for the conflict between this patch and the ones I queued for
3.15.  I'm rebasing my imx-soc-3.15 branch to 3.14-rc4, so that the
conflict can be solved on my branch in a cleaner way, which will help
fix the error here.  So hopefully, in the next build of linux-next, the
error will disappear.

Shawn

> 
> 	Arnd
> 
> commit 6a434aea44d8a250f8ee2205be9bc429b140b663
> Author: Arnd Bergmann <arnd@arndb.de>
> Date:   Mon Feb 24 22:19:50 2014 +0100
> 
>     ARM: imx: more CONFIG_PM fixes
>     
>     This lets us build the imx code in more configurations.
>     
>     Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> 
> diff --git a/arch/arm/mach-imx/common.h b/arch/arm/mach-imx/common.h
> index a3fcd9c..a367675 100644
> --- a/arch/arm/mach-imx/common.h
> +++ b/arch/arm/mach-imx/common.h
> @@ -147,15 +147,13 @@ int imx_cpu_kill(unsigned int cpu);
>  
>  void imx6q_pm_init(void);
>  void imx6q_pm_set_ccm_base(void __iomem *base);
> -#ifdef CONFIG_PM
> -void imx6_suspend(void __iomem *ocram_vbase);
>  void imx6dl_pm_init(void);
>  void imx6sl_pm_init(void);
> +#ifdef CONFIG_PM
> +void imx6_suspend(void __iomem *ocram_vbase);
>  void imx5_pm_init(void);
>  #else
>  static inline void imx6_suspend(void __iomem *ocram_vbase) {}
> -static inline void imx6dl_pm_init(void) {}
> -static inline void imx6sl_pm_init(void) {}
>  static inline void imx5_pm_init(void) {}
>  #endif
>  
> diff --git a/arch/arm/mach-imx/pm-imx6q.c b/arch/arm/mach-imx/pm-imx6q.c
> index bb69943..5fea999 100644
> --- a/arch/arm/mach-imx/pm-imx6q.c
> +++ b/arch/arm/mach-imx/pm-imx6q.c
> @@ -521,10 +521,12 @@ static void __init imx6_pm_common_init(const struct imx6_pm_socdata
>  
>  	WARN_ON(!ccm_base);
>  
> -	ret = imx6q_ocram_suspend_init(socdata);
> -	if (ret)
> -		pr_warn("%s: failed to initialize ocram suspend %d!\n",
> -			__func__, ret);
> +	if (IS_ENABLED(CONFIG_ARM_CPU_SUSPEND)) {
> +		ret = imx6q_ocram_suspend_init(socdata);
> +		if (ret)
> +			pr_warn("%s: failed to initialize ocram suspend %d!\n",
> +				__func__, ret);
> +	}
>  
>  	/*
>  	 * This is for SW workaround step #1 of ERR007265, see comments
Arnd Bergmann Feb. 26, 2014, 9:20 a.m. UTC | #2
On Wednesday 26 February 2014 15:28:35 Shawn Guo wrote:
> 
> The error is only seen on the linux-next, and partially caused by the
> resolution for the conflict between this patch and the ones I queued for
> 3.15.  I'm rebasing my imx-soc-3.15 branch to 3.14-rc4, so that the
> conflict can be solved on my branch in a cleaner way, which will help
> fix the error here.  So hopefully, in the next build of linux-next, the
> error will disappear.

Ok, thanks a lot!

	Arnd
diff mbox

Patch

diff --git a/arch/arm/mach-imx/common.h b/arch/arm/mach-imx/common.h
index a3fcd9c..a367675 100644
--- a/arch/arm/mach-imx/common.h
+++ b/arch/arm/mach-imx/common.h
@@ -147,15 +147,13 @@  int imx_cpu_kill(unsigned int cpu);
 
 void imx6q_pm_init(void);
 void imx6q_pm_set_ccm_base(void __iomem *base);
-#ifdef CONFIG_PM
-void imx6_suspend(void __iomem *ocram_vbase);
 void imx6dl_pm_init(void);
 void imx6sl_pm_init(void);
+#ifdef CONFIG_PM
+void imx6_suspend(void __iomem *ocram_vbase);
 void imx5_pm_init(void);
 #else
 static inline void imx6_suspend(void __iomem *ocram_vbase) {}
-static inline void imx6dl_pm_init(void) {}
-static inline void imx6sl_pm_init(void) {}
 static inline void imx5_pm_init(void) {}
 #endif
 
diff --git a/arch/arm/mach-imx/pm-imx6q.c b/arch/arm/mach-imx/pm-imx6q.c
index bb69943..5fea999 100644
--- a/arch/arm/mach-imx/pm-imx6q.c
+++ b/arch/arm/mach-imx/pm-imx6q.c
@@ -521,10 +521,12 @@  static void __init imx6_pm_common_init(const struct imx6_pm_socdata
 
 	WARN_ON(!ccm_base);
 
-	ret = imx6q_ocram_suspend_init(socdata);
-	if (ret)
-		pr_warn("%s: failed to initialize ocram suspend %d!\n",
-			__func__, ret);
+	if (IS_ENABLED(CONFIG_ARM_CPU_SUSPEND)) {
+		ret = imx6q_ocram_suspend_init(socdata);
+		if (ret)
+			pr_warn("%s: failed to initialize ocram suspend %d!\n",
+				__func__, ret);
+	}
 
 	/*
 	 * This is for SW workaround step #1 of ERR007265, see comments