From: rnayak@ti•com (Rajendra Nayak)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH] ARM: OMAP3/4: consolidate cpuidle Makefile
Date: Mon, 14 May 2012 10:12:12 +0530 [thread overview]
Message-ID: <4FB08D24.7070101@ti.com> (raw)
In-Reply-To: <1336644177-13834-1-git-send-email-daniel.lezcano@linaro.org>
On Thursday 10 May 2012 03:32 PM, Daniel Lezcano wrote:
> The current Makefile compiles the cpuidle34xx.c and cpuidle44xx.c files
> even if the cpuidle option is not set in the kernel.
>
> This patch fixes this by creating a section in the Makefile where these
> files are compiled only if the CONFIG_CPU_IDLE option is set.
>
> This modification breaks an implicit dependency between CPU_IDLE and PM as
> they belong to the same block in the Makefile. This is fixed in the Kconfig
> by selecting explicitely PM is CPU_IDLE is set.
>
> The linux coding style recommend to use no-op functions in the headers
> when the subsystem is disabled instead of adding big section in C files.
Looks good to me.
Reviewed-by: Rajendra Nayak <rnayak@ti•com>
>
> This patch fix this also.
>
> Signed-off-by: Daniel Lezcano<daniel.lezcano@linaro•org>
> Reviewed-by: Jean Pihet<j-pihet@ti•com>
> ---
> arch/arm/mach-omap2/Kconfig | 2 ++
> arch/arm/mach-omap2/Makefile | 11 +++++++----
> arch/arm/mach-omap2/cpuidle34xx.c | 8 --------
> arch/arm/mach-omap2/cpuidle44xx.c | 8 --------
> arch/arm/mach-omap2/pm.h | 17 +++++++++++++++--
> 5 files changed, 24 insertions(+), 22 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
> index 8141b76..42f6b89 100644
> --- a/arch/arm/mach-omap2/Kconfig
> +++ b/arch/arm/mach-omap2/Kconfig
> @@ -34,6 +34,7 @@ config ARCH_OMAP3
> select CPU_V7
> select USB_ARCH_HAS_EHCI if USB_SUPPORT
> select ARCH_HAS_OPP
> + select PM if CPU_IDLE
> select PM_OPP if PM
> select ARM_CPU_SUSPEND if PM
> select MULTI_IRQ_HANDLER
> @@ -51,6 +52,7 @@ config ARCH_OMAP4
> select PL310_ERRATA_727915
> select ARM_ERRATA_720789
> select ARCH_HAS_OPP
> + select PM if CPU_IDLE
> select PM_OPP if PM
> select USB_ARCH_HAS_EHCI if USB_SUPPORT
> select ARM_CPU_SUSPEND if PM
> diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
> index 49f92bc..f46c735 100644
> --- a/arch/arm/mach-omap2/Makefile
> +++ b/arch/arm/mach-omap2/Makefile
> @@ -64,10 +64,8 @@ endif
> ifeq ($(CONFIG_PM),y)
> obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o
> obj-$(CONFIG_ARCH_OMAP2) += sleep24xx.o
> -obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o \
> - cpuidle34xx.o
> -obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o \
> - cpuidle44xx.o
> +obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o
> +obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o
> obj-$(CONFIG_PM_DEBUG) += pm-debug.o
> obj-$(CONFIG_OMAP_SMARTREFLEX) += sr_device.o smartreflex.o
> obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3) += smartreflex-class3.o
> @@ -81,6 +79,11 @@ endif
>
> endif
>
> +ifeq ($(CONFIG_CPU_IDLE),y)
> +obj-$(CONFIG_ARCH_OMAP3) += cpuidle34xx.o
> +obj-$(CONFIG_ARCH_OMAP4) += cpuidle44xx.o
> +endif
> +
> # PRCM
> obj-y += prm_common.o
> obj-$(CONFIG_ARCH_OMAP2) += prcm.o cm2xxx_3xxx.o prm2xxx_3xxx.o
> diff --git a/arch/arm/mach-omap2/cpuidle34xx.c b/arch/arm/mach-omap2/cpuidle34xx.c
> index 207bc1c..3134452 100644
> --- a/arch/arm/mach-omap2/cpuidle34xx.c
> +++ b/arch/arm/mach-omap2/cpuidle34xx.c
> @@ -36,8 +36,6 @@
> #include "control.h"
> #include "common.h"
>
> -#ifdef CONFIG_CPU_IDLE
> -
> /* Mach specific information to be recorded in the C-state driver_data */
> struct omap3_idle_statedata {
> u32 mpu_state;
> @@ -379,9 +377,3 @@ int __init omap3_idle_init(void)
>
> return 0;
> }
> -#else
> -int __init omap3_idle_init(void)
> -{
> - return 0;
> -}
> -#endif /* CONFIG_CPU_IDLE */
> diff --git a/arch/arm/mach-omap2/cpuidle44xx.c b/arch/arm/mach-omap2/cpuidle44xx.c
> index be1617c..02d15bb 100644
> --- a/arch/arm/mach-omap2/cpuidle44xx.c
> +++ b/arch/arm/mach-omap2/cpuidle44xx.c
> @@ -22,8 +22,6 @@
> #include "pm.h"
> #include "prm.h"
>
> -#ifdef CONFIG_CPU_IDLE
> -
> /* Machine specific information */
> struct omap4_idle_statedata {
> u32 cpu_state;
> @@ -199,9 +197,3 @@ int __init omap4_idle_init(void)
>
> return 0;
> }
> -#else
> -int __init omap4_idle_init(void)
> -{
> - return 0;
> -}
> -#endif /* CONFIG_CPU_IDLE */
> diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
> index 7856489..ab04d3b 100644
> --- a/arch/arm/mach-omap2/pm.h
> +++ b/arch/arm/mach-omap2/pm.h
> @@ -15,12 +15,25 @@
>
> #include "powerdomain.h"
>
> +#ifdef CONFIG_CPU_IDLE
> +extern int __init omap3_idle_init(void);
> +extern int __init omap4_idle_init(void);
> +#else
> +static inline int omap3_idle_init(void)
> +{
> + return 0;
> +}
> +
> +static inline int omap4_idle_init(void)
> +{
> + return 0;
> +}
> +#endif
> +
> extern void *omap3_secure_ram_storage;
> extern void omap3_pm_off_mode_enable(int);
> extern void omap_sram_idle(void);
> extern int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 state);
> -extern int omap3_idle_init(void);
> -extern int omap4_idle_init(void);
> extern int omap_pm_clkdms_setup(struct clockdomain *clkdm, void *unused);
> extern int (*omap_pm_suspend)(void);
>
next prev parent reply other threads:[~2012-05-14 4:42 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-10 10:02 [PATCH] ARM: OMAP3/4: consolidate cpuidle Makefile Daniel Lezcano
2012-05-14 4:42 ` Rajendra Nayak [this message]
2012-05-30 4:06 ` Daniel Lezcano
2012-05-30 18:07 ` Kevin Hilman
2012-05-30 19:15 ` Daniel Lezcano
2012-05-30 22:11 ` Kevin Hilman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FB08D24.7070101@ti.com \
--to=rnayak@ti$(echo .)com \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox