Message ID | 20121209012334.19716.44831.stgit@dusk.lan (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 12/9/2012 6:53 AM, Paul Walmsley wrote: > Fix the following sparse warnings in the OMAP3/4 CPUIdle code: > > arch/arm/mach-omap2/cpuidle34xx.c:272:1: warning: symbol 'omap3_idle_dev' was not declared. Should it be static? > arch/arm/mach-omap2/cpuidle34xx.c:274:23: warning: symbol 'omap3_idle_driver' was not declared. Should it be static? > arch/arm/mach-omap2/cpuidle44xx.c:164:1: warning: symbol 'omap4_idle_dev' was not declared. Should it be static? > arch/arm/mach-omap2/cpuidle44xx.c:166:23: warning: symbol 'omap4_idle_driver' was not declared. Should it be static? > > Also fix the following checkpatch warnings: > > WARNING: please, no space before tabs > #44: FILE: arch/arm/mach-omap2/cpuidle34xx.c:105: > +^I.name = ^I"omap3_idle",$ > > WARNING: please, no space before tabs > #45: FILE: arch/arm/mach-omap2/cpuidle34xx.c:106: > +^I.owner = ^ITHIS_MODULE,$ > > ERROR: code indent should use tabs where possible > #211: FILE: arch/arm/mach-omap2/cpuidle44xx.c:74: > + /* C2 - CPU0 OFF + CPU1 OFF + MPU CSWR */$ > > Paul, I am using your "paul-linux-pwrdm_post_fpwrst_devel_a_3.9" branch, where all the patches which you have posted are present (I believe so) and I am getting following sparse warning - CHECK arch/arm/mach-omap2/powerdomain.c arch/arm/mach-omap2/powerdomain.c:811:2: warning: context imbalance in 'pwrdm_lock': unexpected unlock arch/arm/mach-omap2/powerdomain.c:811:2: default context: wanted 1, got 0 include/linux/spinlock.h:340:2: warning: context problem in 'pwrdm_unlock': '_raw_spin_unlock_irqrestore' expected different context include/linux/spinlock.h:340:2: context 'lock': wanted >= 1, got 0 arch/arm/mach-omap2/powerdomain.c:1130:14: warning: context problem in 'pwrdm_state_switch': 'pwrdm_unlock' expected different context arch/arm/mach-omap2/powerdomain.c:1130:14: default context: wanted >= 1, got 0 arch/arm/mach-omap2/powerdomain.c:1295:14: warning: context problem in 'pwrdm_set_next_fpwrst': 'pwrdm_unlock' expected different context arch/arm/mach-omap2/powerdomain.c:1295:14: default context: wanted >= 1, got 0 arch/arm/mach-omap2/powerdomain.c:1317:14: warning: context problem in 'pwrdm_read_next_fpwrst': 'pwrdm_unlock' expected different context arch/arm/mach-omap2/powerdomain.c:1317:14: default context: wanted >= 1, got 0 arch/arm/mach-omap2/powerdomain.c:1382:14: warning: context problem in 'pwrdm_set_fpwrst': 'pwrdm_unlock' expected different context arch/arm/mach-omap2/powerdomain.c:1382:14: default context: wanted >= 1, got 0 arch/arm/mach-omap2/powerdomain.c:1407:14: warning: context problem in 'pwrdm_read_fpwrst': 'pwrdm_unlock' expected different context arch/arm/mach-omap2/powerdomain.c:1407:14: default context: wanted >= 1, got 0 arch/arm/mach-omap2/powerdomain.c:1432:14: warning: context problem in 'pwrdm_read_prev_fpwrst': 'pwrdm_unlock' expected different context arch/arm/mach-omap2/powerdomain.c:1432:14: default context: wanted >= 1, got 0 arch/arm/mach-omap2/powerdomain.c:1505:14: warning: context problem in 'pwrdm_dbg_show_counter': 'pwrdm_unlock' expected different context arch/arm/mach-omap2/powerdomain.c:1505:14: default context: wanted >= 1, got 0 arch/arm/mach-omap2/powerdomain.c:1542:14: warning: context problem in 'pwrdm_dbg_show_timer': 'pwrdm_unlock' expected different context arch/arm/mach-omap2/powerdomain.c:1542:14: default context: wanted >= 1, got 0 CC arch/arm/mach-omap2/powerdomain.o On the other hand, I have boot tested it on BeagleBone platform. Thanks, Vaibhav
On Sunday 09 December 2012 02:23 AM, Paul Walmsley wrote: > Fix the following sparse warnings in the OMAP3/4 CPUIdle code: > > arch/arm/mach-omap2/cpuidle34xx.c:272:1: warning: symbol 'omap3_idle_dev' was not declared. Should it be static? > arch/arm/mach-omap2/cpuidle34xx.c:274:23: warning: symbol 'omap3_idle_driver' was not declared. Should it be static? > arch/arm/mach-omap2/cpuidle44xx.c:164:1: warning: symbol 'omap4_idle_dev' was not declared. Should it be static? > arch/arm/mach-omap2/cpuidle44xx.c:166:23: warning: symbol 'omap4_idle_driver' was not declared. Should it be static? > > Also fix the following checkpatch warnings: > > WARNING: please, no space before tabs > #44: FILE: arch/arm/mach-omap2/cpuidle34xx.c:105: > +^I.name = ^I"omap3_idle",$ > > WARNING: please, no space before tabs > #45: FILE: arch/arm/mach-omap2/cpuidle34xx.c:106: > +^I.owner = ^ITHIS_MODULE,$ > > ERROR: code indent should use tabs where possible > #211: FILE: arch/arm/mach-omap2/cpuidle44xx.c:74: > + /* C2 - CPU0 OFF + CPU1 OFF + MPU CSWR */$ > > > Signed-off-by: Paul Walmsley <paul@pwsan.com> > Cc: Kevin Hilman <khilman@ti.com> > --- Acked-by: Santosh Shilimkar@ti.com
On Wed, 12 Dec 2012, Vaibhav Hiremath wrote: > I am using your "paul-linux-pwrdm_post_fpwrst_devel_a_3.9" branch, where > all the patches which you have posted are present (I believe so) and I > am getting following sparse warning - The branch name to use is: "TEST_pwrdm_post_fpwrst_devel_a_3.9" - Paul
On Thu, Dec 13, 2012 at 11:11:49, Paul Walmsley wrote: > On Wed, 12 Dec 2012, Vaibhav Hiremath wrote: > > > I am using your "paul-linux-pwrdm_post_fpwrst_devel_a_3.9" branch, where > > all the patches which you have posted are present (I believe so) and I > > am getting following sparse warning - > > The branch name to use is: > > "TEST_pwrdm_post_fpwrst_devel_a_3.9" > If I am correct, it only includes one additional patch (merge commit), right??? commit d94831e0005fee743cefd28f4c20b7c435c71236 Merge: 3e885c6 80ab3b2 Author: Paul Walmsley <paul@pwsan.com> Date: Sun Dec 9 13:06:51 2012 -0700 build fixes Does this also fix sparse warnings? Thanks, Vaibhav > > - Paul >
On Thu, 13 Dec 2012, Hiremath, Vaibhav wrote: > On Thu, Dec 13, 2012 at 11:11:49, Paul Walmsley wrote: > > > > The branch name to use is: > > > > "TEST_pwrdm_post_fpwrst_devel_a_3.9" > > If I am correct, it only includes one additional patch (merge commit), > right??? > > commit d94831e0005fee743cefd28f4c20b7c435c71236 > Merge: 3e885c6 80ab3b2 > Author: Paul Walmsley <paul@pwsan.com> > Date: Sun Dec 9 13:06:51 2012 -0700 > > build fixes > > > > Does this also fix sparse warnings? Just ran a quick sparse check on mach-omap2 at 3e885c6 and d94831e with 'make -j4 C=2 arch/arm/mach-omap2', and no warnings showed up. There were some sparse issues that got fixed at an earlier point, though, so perhaps you have an older copy of the branches somehow? - Paul paul@dusk:/kernel/kernel/current$ git log -1 commit d94831e0005fee743cefd28f4c20b7c435c71236 Merge: 3e885c6 80ab3b2 Author: Paul Walmsley <paul@pwsan.com> Date: Sun Dec 9 13:06:51 2012 -0700 build fixes paul@dusk:/kernel/kernel/current$ make C=2 -j4 arch/arm/mach-omap2/ CHK include/generated/uapi/linux/version.h CHECK scripts/mod/empty.c CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h make[1]: `include/generated/mach-types.h' is up to date. CC kernel/bounds.s GEN include/generated/bounds.h CC arch/arm/kernel/asm-offsets.s GEN include/generated/asm-offsets.h CALL scripts/checksyscalls.sh CHECK arch/arm/mach-omap2/id.c CHECK arch/arm/mach-omap2/io.c CHECK arch/arm/mach-omap2/control.c CHECK arch/arm/mach-omap2/mux.c CC arch/arm/mach-omap2/id.o CC arch/arm/mach-omap2/control.o CC arch/arm/mach-omap2/io.o CC arch/arm/mach-omap2/mux.o CHECK arch/arm/mach-omap2/devices.c CHECK arch/arm/mach-omap2/serial.c CHECK arch/arm/mach-omap2/gpmc.c CC arch/arm/mach-omap2/devices.o CC arch/arm/mach-omap2/serial.o CC arch/arm/mach-omap2/gpmc.o CHECK arch/arm/mach-omap2/timer.c CHECK arch/arm/mach-omap2/pm.c CC arch/arm/mach-omap2/timer.o CC arch/arm/mach-omap2/pm.o CHECK arch/arm/mach-omap2/common.c CC arch/arm/mach-omap2/common.o CHECK arch/arm/mach-omap2/gpio.c CC arch/arm/mach-omap2/gpio.o CHECK arch/arm/mach-omap2/dma.c CC arch/arm/mach-omap2/dma.o CHECK arch/arm/mach-omap2/wd_timer.c CHECK arch/arm/mach-omap2/display.c CHECK arch/arm/mach-omap2/i2c.c CC arch/arm/mach-omap2/wd_timer.o CC arch/arm/mach-omap2/i2c.o CC arch/arm/mach-omap2/display.o CHECK arch/arm/mach-omap2/hdq1w.c CC arch/arm/mach-omap2/hdq1w.o CHECK arch/arm/mach-omap2/omap_hwmod.c CHECK arch/arm/mach-omap2/omap_device.c CC arch/arm/mach-omap2/omap_hwmod.o CC arch/arm/mach-omap2/omap_device.o CHECK arch/arm/mach-omap2/irq.c CHECK arch/arm/mach-omap2/omap_hwmod_common_data.c CC arch/arm/mach-omap2/irq.o CC arch/arm/mach-omap2/omap_hwmod_common_data.o CHECK arch/arm/mach-omap2/omap-secure.c CC arch/arm/mach-omap2/omap-secure.o CHECK arch/arm/mach-omap2/prm44xx.c CHECK arch/arm/mach-omap2/mcbsp.c CC arch/arm/mach-omap2/prm44xx.o CC arch/arm/mach-omap2/mcbsp.o CHECK arch/arm/mach-omap2/omap_twl.c CC arch/arm/mach-omap2/omap_twl.o CHECK arch/arm/mach-omap2/sdrc.c CC arch/arm/mach-omap2/sdrc.o CHECK arch/arm/mach-omap2/omap-smp.c CHECK arch/arm/mach-omap2/omap-hotplug.c CC arch/arm/mach-omap2/omap-smp.o CC arch/arm/mach-omap2/omap-hotplug.o CHECK arch/arm/mach-omap2/omap4-common.c CC arch/arm/mach-omap2/omap4-common.o CHECK arch/arm/mach-omap2/omap-wakeupgen.c AS arch/arm/mach-omap2/sram242x.o AS arch/arm/mach-omap2/sram243x.o CC arch/arm/mach-omap2/omap-wakeupgen.o AS arch/arm/mach-omap2/sram34xx.o CHECK arch/arm/mach-omap2/omap2-restart.c CHECK arch/arm/mach-omap2/omap3-restart.c CC arch/arm/mach-omap2/omap2-restart.o CC arch/arm/mach-omap2/omap3-restart.o CHECK arch/arm/mach-omap2/mux2420.c CC arch/arm/mach-omap2/mux2420.o CHECK arch/arm/mach-omap2/mux2430.c CHECK arch/arm/mach-omap2/mux34xx.c CHECK arch/arm/mach-omap2/mux44xx.c CC arch/arm/mach-omap2/mux2430.o CC arch/arm/mach-omap2/mux34xx.o CC arch/arm/mach-omap2/mux44xx.o CHECK arch/arm/mach-omap2/sdrc2xxx.c CHECK arch/arm/mach-omap2/opp.c CC arch/arm/mach-omap2/sdrc2xxx.o CC arch/arm/mach-omap2/opp.o CHECK arch/arm/mach-omap2/opp3xxx_data.c CHECK arch/arm/mach-omap2/opp4xxx_data.c CC arch/arm/mach-omap2/opp3xxx_data.o CC arch/arm/mach-omap2/opp4xxx_data.o CHECK arch/arm/mach-omap2/pm24xx.c AS arch/arm/mach-omap2/sleep24xx.o CHECK arch/arm/mach-omap2/pm34xx.c AS arch/arm/mach-omap2/sleep34xx.o CHECK arch/arm/mach-omap2/pm44xx.c CC arch/arm/mach-omap2/pm24xx.o CHECK arch/arm/mach-omap2/omap-mpuss-lowpower.c CC arch/arm/mach-omap2/pm34xx.o CC arch/arm/mach-omap2/pm44xx.o CC arch/arm/mach-omap2/omap-mpuss-lowpower.o CHECK arch/arm/mach-omap2/pm-debug.c CHECK arch/arm/mach-omap2/prm_common.c CC arch/arm/mach-omap2/pm-debug.o CHECK arch/arm/mach-omap2/cm_common.c CC arch/arm/mach-omap2/prm_common.o CC arch/arm/mach-omap2/cm_common.o CHECK arch/arm/mach-omap2/prm2xxx_3xxx.c CC arch/arm/mach-omap2/prm2xxx_3xxx.o CHECK arch/arm/mach-omap2/prm2xxx.c CHECK arch/arm/mach-omap2/cm2xxx.c CC arch/arm/mach-omap2/prm2xxx.o CC arch/arm/mach-omap2/cm2xxx.o CHECK arch/arm/mach-omap2/prm3xxx.c CC arch/arm/mach-omap2/prm3xxx.o CHECK arch/arm/mach-omap2/cm3xxx.c CC arch/arm/mach-omap2/cm3xxx.o CHECK arch/arm/mach-omap2/vc3xxx_data.c CHECK arch/arm/mach-omap2/vp3xxx_data.c CC arch/arm/mach-omap2/vc3xxx_data.o CC arch/arm/mach-omap2/vp3xxx_data.o CHECK arch/arm/mach-omap2/prm33xx.c CC arch/arm/mach-omap2/prm33xx.o CHECK arch/arm/mach-omap2/cm33xx.c CHECK arch/arm/mach-omap2/cminst44xx.c CC arch/arm/mach-omap2/cm33xx.o CC arch/arm/mach-omap2/cminst44xx.o CHECK arch/arm/mach-omap2/cm44xx.c CC arch/arm/mach-omap2/cm44xx.o CHECK arch/arm/mach-omap2/prcm_mpu44xx.c CC arch/arm/mach-omap2/prcm_mpu44xx.o CHECK arch/arm/mach-omap2/prminst44xx.c CHECK arch/arm/mach-omap2/vc44xx_data.c CC arch/arm/mach-omap2/prminst44xx.o CHECK arch/arm/mach-omap2/vp44xx_data.c CC arch/arm/mach-omap2/vc44xx_data.o CHECK arch/arm/mach-omap2/voltage.c CC arch/arm/mach-omap2/vp44xx_data.o CC arch/arm/mach-omap2/voltage.o CHECK arch/arm/mach-omap2/vc.c CC arch/arm/mach-omap2/vc.o CHECK arch/arm/mach-omap2/vp.c CHECK arch/arm/mach-omap2/voltagedomains2xxx_data.c CC arch/arm/mach-omap2/voltagedomains2xxx_data.o CC arch/arm/mach-omap2/vp.o CHECK arch/arm/mach-omap2/voltagedomains3xxx_data.c CC arch/arm/mach-omap2/voltagedomains3xxx_data.o CHECK arch/arm/mach-omap2/voltagedomains44xx_data.c CHECK arch/arm/mach-omap2/voltagedomains33xx_data.c CC arch/arm/mach-omap2/voltagedomains33xx_data.o CC arch/arm/mach-omap2/voltagedomains44xx_data.o CHECK arch/arm/mach-omap2/powerdomain.c CC arch/arm/mach-omap2/powerdomain.o CHECK arch/arm/mach-omap2/powerdomain-common.c CC arch/arm/mach-omap2/powerdomain-common.o CHECK arch/arm/mach-omap2/powerdomains2xxx_data.c CC arch/arm/mach-omap2/powerdomains2xxx_data.o CHECK arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.c CC arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.o CHECK arch/arm/mach-omap2/powerdomains3xxx_data.c CHECK arch/arm/mach-omap2/powerdomains44xx_data.c CC arch/arm/mach-omap2/powerdomains3xxx_data.o CHECK arch/arm/mach-omap2/powerdomains33xx_data.c CC arch/arm/mach-omap2/powerdomains33xx_data.o CC arch/arm/mach-omap2/powerdomains44xx_data.o CHECK arch/arm/mach-omap2/clockdomain.c CC arch/arm/mach-omap2/clockdomain.o CHECK arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c CC arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.o CHECK arch/arm/mach-omap2/clockdomains2420_data.c CHECK arch/arm/mach-omap2/clockdomains2430_data.c CC arch/arm/mach-omap2/clockdomains2420_data.o CC arch/arm/mach-omap2/clockdomains2430_data.o CHECK arch/arm/mach-omap2/clockdomains3xxx_data.c CHECK arch/arm/mach-omap2/clockdomains44xx_data.c CC arch/arm/mach-omap2/clockdomains3xxx_data.o CHECK arch/arm/mach-omap2/clockdomains33xx_data.c CC arch/arm/mach-omap2/clockdomains44xx_data.o CC arch/arm/mach-omap2/clockdomains33xx_data.o CHECK arch/arm/mach-omap2/clock.c CHECK arch/arm/mach-omap2/clock_common_data.c CC arch/arm/mach-omap2/clock_common_data.o CC arch/arm/mach-omap2/clock.o CHECK arch/arm/mach-omap2/clkt_dpll.c CHECK arch/arm/mach-omap2/clkt_clksel.c CC arch/arm/mach-omap2/clkt_dpll.o CHECK arch/arm/mach-omap2/clock2xxx.c CC arch/arm/mach-omap2/clkt_clksel.o CC arch/arm/mach-omap2/clock2xxx.o CHECK arch/arm/mach-omap2/clkt2xxx_sys.c CC arch/arm/mach-omap2/clkt2xxx_sys.o CHECK arch/arm/mach-omap2/clkt2xxx_dpllcore.c CC arch/arm/mach-omap2/clkt2xxx_dpllcore.o CHECK arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c CC arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.o CHECK arch/arm/mach-omap2/clkt2xxx_apll.c CC arch/arm/mach-omap2/clkt2xxx_apll.o CHECK arch/arm/mach-omap2/clkt2xxx_osc.c CC arch/arm/mach-omap2/clkt2xxx_osc.o CHECK arch/arm/mach-omap2/clkt2xxx_dpll.c CC arch/arm/mach-omap2/clkt2xxx_dpll.o CHECK arch/arm/mach-omap2/clkt_iclk.c CC arch/arm/mach-omap2/clkt_iclk.o CHECK arch/arm/mach-omap2/clock2420_data.c CHECK arch/arm/mach-omap2/clock2430.c CHECK arch/arm/mach-omap2/clock2430_data.c CC arch/arm/mach-omap2/clock2430.o CC arch/arm/mach-omap2/clock2420_data.o CC arch/arm/mach-omap2/clock2430_data.o CHECK arch/arm/mach-omap2/clock3xxx.c CC arch/arm/mach-omap2/clock3xxx.o CHECK arch/arm/mach-omap2/clock34xx.c CC arch/arm/mach-omap2/clock34xx.o CHECK arch/arm/mach-omap2/clkt34xx_dpll3m2.c CHECK arch/arm/mach-omap2/clock3517.c CHECK arch/arm/mach-omap2/clock36xx.c CC arch/arm/mach-omap2/clock3517.o CC arch/arm/mach-omap2/clkt34xx_dpll3m2.o CC arch/arm/mach-omap2/clock36xx.o CHECK arch/arm/mach-omap2/dpll3xxx.c CC arch/arm/mach-omap2/dpll3xxx.o CHECK arch/arm/mach-omap2/clock3xxx_data.c CHECK arch/arm/mach-omap2/clock44xx_data.c CHECK arch/arm/mach-omap2/dpll44xx.c CC arch/arm/mach-omap2/clock3xxx_data.o CC arch/arm/mach-omap2/dpll44xx.o CC arch/arm/mach-omap2/clock44xx_data.o CHECK arch/arm/mach-omap2/clock33xx_data.c CHECK arch/arm/mach-omap2/opp2420_data.c CC arch/arm/mach-omap2/opp2420_data.o CHECK arch/arm/mach-omap2/opp2430_data.c CHECK arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c CC arch/arm/mach-omap2/clock33xx_data.o CC arch/arm/mach-omap2/opp2430_data.o CHECK arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c CC arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.o CC arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.o CHECK arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c CC arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.o CHECK arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_interconnect_data.c CHECK arch/arm/mach-omap2/omap_hwmod_2420_data.c CHECK arch/arm/mach-omap2/omap_hwmod_2430_data.c CC arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_interconnect_data.o CC arch/arm/mach-omap2/omap_hwmod_2420_data.o CC arch/arm/mach-omap2/omap_hwmod_2430_data.o CHECK arch/arm/mach-omap2/omap_hwmod_3xxx_data.c CC arch/arm/mach-omap2/omap_hwmod_3xxx_data.o CHECK arch/arm/mach-omap2/omap_hwmod_33xx_data.c CHECK arch/arm/mach-omap2/omap_hwmod_44xx_data.c CHECK arch/arm/mach-omap2/pmu.c CC arch/arm/mach-omap2/omap_hwmod_33xx_data.o CC arch/arm/mach-omap2/omap_hwmod_44xx_data.o CC arch/arm/mach-omap2/pmu.o CHECK arch/arm/mach-omap2/msdi.c CC arch/arm/mach-omap2/msdi.o CHECK arch/arm/mach-omap2/board-generic.c CHECK arch/arm/mach-omap2/board-h4.c CC arch/arm/mach-omap2/board-generic.o CHECK arch/arm/mach-omap2/board-2430sdp.c CC arch/arm/mach-omap2/board-h4.o CC arch/arm/mach-omap2/board-2430sdp.o CHECK arch/arm/mach-omap2/board-apollon.c CHECK arch/arm/mach-omap2/board-omap3beagle.c CC arch/arm/mach-omap2/board-apollon.o CC arch/arm/mach-omap2/board-omap3beagle.o CHECK arch/arm/mach-omap2/board-devkit8000.c CC arch/arm/mach-omap2/board-devkit8000.o CHECK arch/arm/mach-omap2/board-ldp.c CHECK arch/arm/mach-omap2/board-omap3logic.c CC arch/arm/mach-omap2/board-ldp.o CC arch/arm/mach-omap2/board-omap3logic.o CHECK arch/arm/mach-omap2/board-overo.c CC arch/arm/mach-omap2/board-overo.o CHECK arch/arm/mach-omap2/board-omap3evm.c CC arch/arm/mach-omap2/board-omap3evm.o CHECK arch/arm/mach-omap2/board-omap3pandora.c CHECK arch/arm/mach-omap2/board-3430sdp.c CC arch/arm/mach-omap2/board-omap3pandora.o CC arch/arm/mach-omap2/board-3430sdp.o CHECK arch/arm/mach-omap2/board-n8x0.c CC arch/arm/mach-omap2/board-n8x0.o CHECK arch/arm/mach-omap2/board-rm680.c CC arch/arm/mach-omap2/board-rm680.o CHECK arch/arm/mach-omap2/sdram-nokia.c CHECK arch/arm/mach-omap2/board-rx51.c CC arch/arm/mach-omap2/sdram-nokia.o CC arch/arm/mach-omap2/board-rx51.o CHECK arch/arm/mach-omap2/board-rx51-peripherals.c CC arch/arm/mach-omap2/board-rx51-peripherals.o CHECK arch/arm/mach-omap2/board-rx51-video.c CC arch/arm/mach-omap2/board-rx51-video.o CHECK arch/arm/mach-omap2/board-zoom-peripherals.c CHECK arch/arm/mach-omap2/board-zoom.c CC arch/arm/mach-omap2/board-zoom.o CC arch/arm/mach-omap2/board-zoom-peripherals.o CHECK arch/arm/mach-omap2/board-zoom-display.c CHECK arch/arm/mach-omap2/board-zoom-debugboard.c CC arch/arm/mach-omap2/board-zoom-display.o CC arch/arm/mach-omap2/board-zoom-debugboard.o CHECK arch/arm/mach-omap2/board-3630sdp.c CHECK arch/arm/mach-omap2/board-cm-t35.c CC arch/arm/mach-omap2/board-3630sdp.o CHECK arch/arm/mach-omap2/board-cm-t3517.c CC arch/arm/mach-omap2/board-cm-t35.o CC arch/arm/mach-omap2/board-cm-t3517.o CHECK arch/arm/mach-omap2/board-igep0020.c CHECK arch/arm/mach-omap2/board-omap3touchbook.c CC arch/arm/mach-omap2/board-igep0020.o CC arch/arm/mach-omap2/board-omap3touchbook.o CHECK arch/arm/mach-omap2/board-4430sdp.c CHECK arch/arm/mach-omap2/board-omap4panda.c CC arch/arm/mach-omap2/board-4430sdp.o CC arch/arm/mach-omap2/board-omap4panda.o CHECK arch/arm/mach-omap2/board-am3517evm.c CHECK arch/arm/mach-omap2/board-omap3stalker.c CC arch/arm/mach-omap2/board-am3517evm.o CC arch/arm/mach-omap2/board-omap3stalker.o CHECK arch/arm/mach-omap2/board-ti8168evm.c CC arch/arm/mach-omap2/board-ti8168evm.o CHECK arch/arm/mach-omap2/board-flash.c CC arch/arm/mach-omap2/board-flash.o CHECK arch/arm/mach-omap2/hsmmc.c CHECK arch/arm/mach-omap2/usb-musb.c CC arch/arm/mach-omap2/hsmmc.o CHECK arch/arm/mach-omap2/omap_phy_internal.c CC arch/arm/mach-omap2/usb-musb.o CC arch/arm/mach-omap2/omap_phy_internal.o CHECK arch/arm/mach-omap2/usb-tusb6010.c CHECK arch/arm/mach-omap2/usb-host.c CC arch/arm/mach-omap2/usb-tusb6010.o CC arch/arm/mach-omap2/usb-host.o CHECK arch/arm/mach-omap2/gpmc-onenand.c CC arch/arm/mach-omap2/gpmc-onenand.o CHECK arch/arm/mach-omap2/gpmc-nand.c CHECK arch/arm/mach-omap2/gpmc-smc91x.c CC arch/arm/mach-omap2/gpmc-smc91x.o CC arch/arm/mach-omap2/gpmc-nand.o CHECK arch/arm/mach-omap2/gpmc-smsc911x.c CC arch/arm/mach-omap2/gpmc-smsc911x.o CHECK arch/arm/mach-omap2/common-board-devices.c CHECK arch/arm/mach-omap2/twl-common.c CC arch/arm/mach-omap2/common-board-devices.o CC arch/arm/mach-omap2/twl-common.o LD arch/arm/mach-omap2/built-in.o paul@dusk:/kernel/kernel/current$
On Thu, Dec 13, 2012 at 12:59:49, Paul Walmsley wrote: > On Thu, 13 Dec 2012, Hiremath, Vaibhav wrote: > > > On Thu, Dec 13, 2012 at 11:11:49, Paul Walmsley wrote: > > > > > > The branch name to use is: > > > > > > "TEST_pwrdm_post_fpwrst_devel_a_3.9" > > > > If I am correct, it only includes one additional patch (merge commit), > > right??? > > > > commit d94831e0005fee743cefd28f4c20b7c435c71236 > > Merge: 3e885c6 80ab3b2 > > Author: Paul Walmsley <paul@pwsan.com> > > Date: Sun Dec 9 13:06:51 2012 -0700 > > > > build fixes > > > > > > > > Does this also fix sparse warnings? > > Just ran a quick sparse check on mach-omap2 at 3e885c6 and d94831e with > 'make -j4 C=2 arch/arm/mach-omap2', and no warnings showed up. There were > some sparse issues that got fixed at an earlier point, though, so perhaps > you have an older copy of the branches somehow? > Ignore my earlier comment on sparse warning, it was my wrong sparse tool which was culprit here. I am working on remote server, which has sparse present inside /usr/bin, and somehow my default config using that one instead of what I was building. I fixed this by changing the PATH, and now I do not see any issues/warnings. Thanks, Vaibhav
diff --git a/arch/arm/mach-omap2/cpuidle34xx.c b/arch/arm/mach-omap2/cpuidle34xx.c index ad70220..e6215b5 100644 --- a/arch/arm/mach-omap2/cpuidle34xx.c +++ b/arch/arm/mach-omap2/cpuidle34xx.c @@ -53,6 +53,8 @@ struct omap3_idle_statedata { */ #define OMAP_CPUIDLE_CX_NO_CLKDM_IDLE BIT(0) +static struct powerdomain *mpu_pd, *core_pd, *per_pd, *cam_pd; + /* * Prevent PER OFF if CORE is not in RETention or OFF as this would * disable PER wakeups completely. @@ -97,7 +99,7 @@ static struct omap3_idle_statedata omap3_idle_data[] = { }, }; -static struct powerdomain *mpu_pd, *core_pd, *per_pd, *cam_pd; +/* Private functions */ static int __omap3_enter_idle(struct cpuidle_device *dev, struct cpuidle_driver *drv, @@ -269,11 +271,11 @@ static int omap3_enter_idle_bm(struct cpuidle_device *dev, return ret; } -DEFINE_PER_CPU(struct cpuidle_device, omap3_idle_dev); +static DEFINE_PER_CPU(struct cpuidle_device, omap3_idle_dev); -struct cpuidle_driver omap3_idle_driver = { - .name = "omap3_idle", - .owner = THIS_MODULE, +static struct cpuidle_driver omap3_idle_driver = { + .name = "omap3_idle", + .owner = THIS_MODULE, .states = { { .enter = omap3_enter_idle_bm, @@ -336,6 +338,8 @@ struct cpuidle_driver omap3_idle_driver = { .safe_state_index = 0, }; +/* Public functions */ + /** * omap3_idle_init - Init routine for OMAP3 idle * diff --git a/arch/arm/mach-omap2/cpuidle44xx.c b/arch/arm/mach-omap2/cpuidle44xx.c index 288bee6..d639aef 100644 --- a/arch/arm/mach-omap2/cpuidle44xx.c +++ b/arch/arm/mach-omap2/cpuidle44xx.c @@ -54,6 +54,8 @@ static struct clockdomain *cpu_clkdm[NR_CPUS]; static atomic_t abort_barrier; static bool cpu_done[NR_CPUS]; +/* Private functions */ + /** * omap4_enter_idle_coupled_[simple/coupled] - OMAP4 cpuidle entry functions * @dev: cpuidle device @@ -161,9 +163,19 @@ fail: return index; } -DEFINE_PER_CPU(struct cpuidle_device, omap4_idle_dev); +/* + * For each cpu, setup the broadcast timer because local timers + * stops for the states above C1. + */ +static void omap_setup_broadcast_timer(void *arg) +{ + int cpu = smp_processor_id(); + clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ON, &cpu); +} + +static DEFINE_PER_CPU(struct cpuidle_device, omap4_idle_dev); -struct cpuidle_driver omap4_idle_driver = { +static struct cpuidle_driver omap4_idle_driver = { .name = "omap4_idle", .owner = THIS_MODULE, .en_core_tk_irqen = 1, @@ -178,7 +190,7 @@ struct cpuidle_driver omap4_idle_driver = { .desc = "MPUSS ON" }, { - /* C2 - CPU0 OFF + CPU1 OFF + MPU CSWR */ + /* C2 - CPU0 OFF + CPU1 OFF + MPU CSWR */ .exit_latency = 328 + 440, .target_residency = 960, .flags = CPUIDLE_FLAG_TIME_VALID | CPUIDLE_FLAG_COUPLED, @@ -200,15 +212,7 @@ struct cpuidle_driver omap4_idle_driver = { .safe_state_index = 0, }; -/* - * For each cpu, setup the broadcast timer because local timers - * stops for the states above C1. - */ -static void omap_setup_broadcast_timer(void *arg) -{ - int cpu = smp_processor_id(); - clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ON, &cpu); -} +/* Public functions */ /** * omap4_idle_init - Init routine for OMAP4 idle
Fix the following sparse warnings in the OMAP3/4 CPUIdle code: arch/arm/mach-omap2/cpuidle34xx.c:272:1: warning: symbol 'omap3_idle_dev' was not declared. Should it be static? arch/arm/mach-omap2/cpuidle34xx.c:274:23: warning: symbol 'omap3_idle_driver' was not declared. Should it be static? arch/arm/mach-omap2/cpuidle44xx.c:164:1: warning: symbol 'omap4_idle_dev' was not declared. Should it be static? arch/arm/mach-omap2/cpuidle44xx.c:166:23: warning: symbol 'omap4_idle_driver' was not declared. Should it be static? Also fix the following checkpatch warnings: WARNING: please, no space before tabs #44: FILE: arch/arm/mach-omap2/cpuidle34xx.c:105: +^I.name = ^I"omap3_idle",$ WARNING: please, no space before tabs #45: FILE: arch/arm/mach-omap2/cpuidle34xx.c:106: +^I.owner = ^ITHIS_MODULE,$ ERROR: code indent should use tabs where possible #211: FILE: arch/arm/mach-omap2/cpuidle44xx.c:74: + /* C2 - CPU0 OFF + CPU1 OFF + MPU CSWR */$ Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: Kevin Hilman <khilman@ti.com> --- arch/arm/mach-omap2/cpuidle34xx.c | 14 +++++++++----- arch/arm/mach-omap2/cpuidle44xx.c | 28 ++++++++++++++++------------ 2 files changed, 25 insertions(+), 17 deletions(-)