Hi Paul, > -----Original Message----- > From: Paul Walmsley [mailto:paul@xxxxxxxxx] > Sent: Thursday, December 02, 2010 1:39 AM > To: Rajendra Nayak > Cc: linux-omap@xxxxxxxxxxxxxxx; khilman@xxxxxxxxxxxxxxxxxxx; b-cousson@xxxxxx > Subject: Re: [PATCH v2 0/5] Split powerdomain framework into plat specific/independent > > > Hi, > > thanks for making the requested changes. However, this series results in > compilation warnings: Sorry about that, my bad. Should have caught those before posting the series :( > > CC arch/arm/mach-omap2/powerdomain2xxx_3xxx.o > arch/arm/mach-omap2/powerdomains.h:116: warning: 'powerdomains_omap' > defined but not used > CC arch/arm/mach-omap2/powerdomain44xx.o > arch/arm/mach-omap2/powerdomains.h:116: warning: 'powerdomains_omap' > defined but not used This seems to be popping up with powerdomains.h file (which now has func declarations) being included in multiple source files. It earlier had only static structs and was included in one source file. I thought the right way to fix this was to probably move the static structs from the header into a source file. See if the below patch makes sense. Also attached as I don't trust my mailer. >From 130363d172d6c6821f48b1a4fa93c512eb18e0ef Mon Sep 17 00:00:00 2001 From: Rajendra Nayak <rnayak@xxxxx> Date: Thu, 2 Dec 2010 17:26:13 +0530 Subject: [PATCH] OMAP: powerdomain: Move static structs out of powerdomains.h header powerdomains.h header today has only static struct definitions. Adding any function declarations into it and including it in multiple source file is expected to cause issues. Hence move the powerdomains.h file into powerdomains_data.c file. Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> --- arch/arm/mach-omap2/Makefile | 2 +- arch/arm/mach-omap2/clockdomains.h | 5 +++++ arch/arm/mach-omap2/io.c | 3 +-- .../{powerdomains.h => powerdomains_data.c} | 10 +++++----- arch/arm/plat-omap/include/plat/powerdomain.h | 1 + 5 files changed, 13 insertions(+), 8 deletions(-) rename arch/arm/mach-omap2/{powerdomains.h => powerdomains_data.c} (97%) diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index 60e51bc..5e20bc5 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile @@ -9,7 +9,7 @@ obj-y := id.o io.o control.o mux.o devices.o serial.o gpmc.o timer-gp.o pm.o \ omap-2-3-common = irq.o sdrc.o prm2xxx_3xxx.o hwmod-common = omap_hwmod.o \ omap_hwmod_common_data.o -prcm-common = prcm.o powerdomain.o +prcm-common = prcm.o powerdomain.o powerdomains_data.o clock-common = clock.o clock_common_data.o \ clockdomain.o clkt_dpll.o \ clkt_clksel.o diff --git a/arch/arm/mach-omap2/clockdomains.h b/arch/arm/mach-omap2/clockdomains.h index 8fc19ff..2a3b10a 100644 --- a/arch/arm/mach-omap2/clockdomains.h +++ b/arch/arm/mach-omap2/clockdomains.h @@ -38,6 +38,11 @@ #include <plat/clockdomain.h> #include "cm.h" #include "prm.h" +#include "cm-regbits-24xx.h" +#include "cm-regbits-34xx.h" +#include "cm-regbits-44xx.h" +#include "prm-regbits-24xx.h" +#include "prm-regbits-34xx.h" /* * Clockdomain dependencies for wkdeps/sleepdeps diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index 40562dd..889999d 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c @@ -40,7 +40,6 @@ #include <plat/omap-pm.h> #include <plat/powerdomain.h> -#include "powerdomains.h" #include <plat/clockdomain.h> #include "clockdomains.h" @@ -316,7 +315,7 @@ void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0, { u8 skip_setup_idle = 0; - pwrdm_init(powerdomains_omap); + pwrdm_initialise(); clkdm_init(clockdomains_omap, clkdm_autodeps); if (cpu_is_omap242x()) omap2420_hwmod_init(); diff --git a/arch/arm/mach-omap2/powerdomains.h b/arch/arm/mach-omap2/powerdomains_data.c similarity index 97% rename from arch/arm/mach-omap2/powerdomains.h rename to arch/arm/mach-omap2/powerdomains_data.c index 105cbca..dc6b7f8 100644 --- a/arch/arm/mach-omap2/powerdomains.h +++ b/arch/arm/mach-omap2/powerdomains_data.c @@ -18,9 +18,6 @@ * Clock Domain Framework */ -#ifndef ARCH_ARM_MACH_OMAP2_POWERDOMAINS -#define ARCH_ARM_MACH_OMAP2_POWERDOMAINS - /* * This file contains all of the powerdomains that have some element * of software control for the OMAP24xx and OMAP34xx chips. @@ -49,6 +46,7 @@ * address offset is different between the C55 and C64 DSPs. */ +#include <linux/init.h> #include <plat/powerdomain.h> #include "prcm-common.h" @@ -149,5 +147,7 @@ static struct powerdomain *powerdomains_omap[] __initdata = { NULL }; - -#endif +void pwrdm_initialise(void) +{ + pwrdm_init(powerdomains_omap); +} diff --git a/arch/arm/plat-omap/include/plat/powerdomain.h b/arch/arm/plat-omap/include/plat/powerdomain.h index 9ca420d..5e96793 100644 --- a/arch/arm/plat-omap/include/plat/powerdomain.h +++ b/arch/arm/plat-omap/include/plat/powerdomain.h @@ -118,6 +118,7 @@ struct powerdomain { }; +void pwrdm_initialise(void); void pwrdm_init(struct powerdomain **pwrdm_list); struct powerdomain *pwrdm_lookup(const char *name); -- 1.7.0.4
Attachment:
0001-OMAP-powerdomain-Move-static-structs-out-of-powerdom.patch
Description: Binary data