linux/arch/arm
Artem Bityutskiy ee894b18e0 OMAP3: PM: introduce a new powerdomain walk helper
The 'pwrdm_for_each()' function walks powerdomains with a spinlock
locked, so the the callbacks cannot do anything which may sleep.
This patch introduces a 'pwrdm_for_each_nolock()' helper which does
the same, but without the spinlock locked. This fixes the following
lockdep warning:

[    0.000000] WARNING: at kernel/lockdep.c:2460 lockdep_trace_alloc+0xac/0xec()
[    0.000000] Modules linked in:
(unwind_backtrace+0x0/0xdc) from [<c0045464>] (warn_slowpath_common+0x48/0x60)
(warn_slowpath_common+0x48/0x60) from [<c0067dd4>] (lockdep_trace_alloc+0xac/0xec)
(lockdep_trace_alloc+0xac/0xec) from [<c009da14>] (kmem_cache_alloc+0x1c/0xd0)
(kmem_cache_alloc+0x1c/0xd0) from [<c00b21d8>] (d_alloc+0x1c/0x1a4)
(d_alloc+0x1c/0x1a4) from [<c00a887c>] (__lookup_hash+0xd8/0x118)
(__lookup_hash+0xd8/0x118) from [<c00a9f20>] (lookup_one_len+0x84/0x94)
(lookup_one_len+0x84/0x94) from [<c010d12c>] (debugfs_create_file+0x8c/0x20c)
(debugfs_create_file+0x8c/0x20c) from [<c010d320>] (debugfs_create_dir+0x1c/0x20)
(debugfs_create_dir+0x1c/0x20) from [<c000e8cc>] (pwrdms_setup+0x60/0x90)
(pwrdms_setup+0x60/0x90) from [<c002e010>] (pwrdm_for_each+0x30/0x80)
(pwrdm_for_each+0x30/0x80) from [<c000e79c>] (pm_dbg_init+0x7c/0x14c)
(pm_dbg_init+0x7c/0x14c) from [<c00232b4>] (do_one_initcall+0x5c/0x1b8)
(do_one_initcall+0x5c/0x1b8) from [<c00083f8>] (kernel_init+0x90/0x10c)
(kernel_init+0x90/0x10c) from [<c00242c4>] (kernel_thread_exit+0x0/0x8)

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-10-05 10:51:00 -07:00
..
boot kbuild: use INSTALLKERNEL to select customized installkernel script 2009-09-20 12:18:14 +02:00
common Merge branch 'master' into for-linus 2009-09-22 21:01:40 +01:00
configs Merge branch 'origin' into for-linus 2009-09-24 21:22:33 +01:00
include/asm Merge branch 'origin' into for-linus 2009-09-24 21:22:33 +01:00
kernel make Linux bootable on ARM again 2009-09-26 10:06:53 -07:00
lib Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 2009-09-19 13:47:57 +01:00
mach-aaec2000
mach-at91 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2009-09-25 07:22:11 -07:00
mach-bcmring
mach-clps711x
mach-davinci DaVinci: DM646x - platform changes for vpif capture and display drivers 2009-09-16 10:28:46 -07:00
mach-ebsa110
mach-ep93xx ep93xx video driver platform support 2009-09-23 07:39:51 -07:00
mach-footbridge
mach-gemini
mach-h720x
mach-integrator ARM: 5720/1: Move MMCI header to amba include dir 2009-09-22 20:49:04 +01:00
mach-iop13xx Merge branch 'iop-raid6' into async-tx-next 2009-09-08 17:53:57 -07:00
mach-iop32x
mach-iop33x
mach-ixp4xx ixp4xx: arch_idle() documentation fixup 2009-09-21 19:20:03 +02:00
mach-ixp23xx
mach-ixp2000
mach-kirkwood Merge branch 'master' into devel 2009-09-12 12:04:37 +01:00
mach-ks8695
mach-l7200
mach-lh7a40x
mach-loki
mach-mmp
mach-msm
mach-mv78xx0
mach-mx1
mach-mx2
mach-mx3 Merge branch 'master' into devel 2009-09-12 12:04:37 +01:00
mach-mx25
mach-mxc91231
mach-netx
mach-nomadik mtd: OneNand support for Nomadik 8815 SoC (on NHK8815 board) 2009-09-20 06:00:27 -07:00
mach-ns9xxx
mach-omap1
mach-omap2 OMAP3: PM: introduce a new powerdomain walk helper 2009-10-05 10:51:00 -07:00
mach-orion5x [ARM] orion5x: Add LaCie NAS 2Big Network support 2009-09-08 14:10:35 -04:00
mach-pnx4008
mach-pxa Merge branch 'master' into for-linus 2009-09-22 21:01:40 +01:00
mach-realview ARM: 5720/1: Move MMCI header to amba include dir 2009-09-22 20:49:04 +01:00
mach-rpc
mach-s3c24a0/include/mach
mach-s3c2400
mach-s3c2410 ARM: S3C: Add missing selection of S3C_DEV_NAND in machine Kconfigs. 2009-09-17 10:12:28 +01:00
mach-s3c2412 ARM: S3C: Add missing selection of S3C_DEV_NAND in machine Kconfigs. 2009-09-17 10:12:28 +01:00
mach-s3c2440 ARM: S3C: Add missing selection of S3C_DEV_NAND in machine Kconfigs. 2009-09-17 10:12:28 +01:00
mach-s3c2442
mach-s3c2443
mach-s3c6400 ARM: S3C: Add missing selection of S3C_DEV_NAND in machine Kconfigs. 2009-09-17 10:12:28 +01:00
mach-s3c6410 ARM: S3C: Add missing selection of S3C_DEV_NAND in machine Kconfigs. 2009-09-17 10:12:28 +01:00
mach-s5pc100
mach-sa1100 ARM: 5712/1: SA1100: initialise spinlock in DMA code 2009-09-20 12:55:49 +01:00
mach-shark
mach-stmp37xx
mach-stmp378x
mach-u300 ARM: 5720/1: Move MMCI header to amba include dir 2009-09-22 20:49:04 +01:00
mach-versatile ARM: 5720/1: Move MMCI header to amba include dir 2009-09-22 20:49:04 +01:00
mach-w90x900 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2009-09-14 17:56:51 -07:00
mm Merge branch 'origin' into for-linus 2009-09-24 21:22:33 +01:00
nwfpe
oprofile
plat-iop Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx into for-linus 2009-09-23 18:31:11 +10:00
plat-mxc spi: add SPI driver for most known i.MX SoCs 2009-09-23 07:39:43 -07:00
plat-omap OMAP3: PM: introduce a new powerdomain walk helper 2009-10-05 10:51:00 -07:00
plat-orion
plat-pxa [ARM] pxa/dma: add debugfs entries 2009-09-10 18:49:29 +08:00
plat-s3c ARM: s3c: fix check of index into s3c_gpios[] 2009-09-19 12:14:06 +01:00
plat-s3c24xx Merge branch 'master' into devel 2009-09-12 12:04:37 +01:00
plat-s3c64xx Merge branch 'next-s3c-fixes' of git://aeryn.fluff.org.uk/bjdooks/linux 2009-09-18 20:55:56 +01:00
plat-s5pc1xx
plat-stmp3xxx ARM: STMP3xxx: deallocation with negative index of descriptors[] 2009-09-19 12:14:05 +01:00
tools [ARM] Update mach-types 2009-09-18 21:42:01 +01:00
vfp
Kconfig ARM: 5580/2: ARM TCM (Tightly-Coupled Memory) support v3 2009-09-15 22:11:05 +01:00
Kconfig-nommu
Kconfig.debug
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next 2009-09-23 15:37:02 -07:00