linux/arch/arm
Suman Anna 6423d6df14 ARM: OMAP2+: hwmod: check for module address space during init
The hwmod init sequence involves initializing and idling all the
hwmods during bootup. If a module class has sysconfig, the init
sequence utilizes the module register base for performing any
sysc configuration.

The module address space is being removed from hwmod database and
retrieved from the <reg> property of the corresponding DT node.
If a hwmod does not have its corresponding DT node defined and the
memory address space is not defined in the corresponding
omap_hwmod_ocp_if, then the module register target address space
would be NULL and any sysc programming would result in a NULL
pointer dereference and a kernel boot hang.

Handle this scenario by checking for a valid module address space
during the _init of each hwmod, and leaving it in the registered
state if no module register address base is defined in either of
the hwmod data or the DT data.

Signed-off-by: Suman Anna <s-anna@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Nishanth Menon <nm@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
[paul@pwsan.com: use -ENXIO rather than -ENOMEM to indicate a missing address
 space error; fixed checkpatch.pl problem]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2013-10-08 23:46:49 -06:00
..
boot mvebu fixes for v3.12 (round 2) 2013-10-02 20:55:05 -07:00
common ARM: edma: Fix clearing of unused list for DT DMA resources 2013-09-30 09:30:13 -07:00
configs ARM: multi_v7_defconfig: add SDHCI for i.MX 2013-10-02 20:54:36 -07:00
crypto ARM: 7837/3: fix Thumb-2 bug in AES assembler code 2013-09-22 11:43:38 +01:00
include ARM: 7836/1: add __get_user_unaligned/__put_user_unaligned 2013-09-18 10:58:23 +01:00
kernel Merge branches 'sched-urgent-for-linus', 'timers-urgent-for-linus' and 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-09-28 14:22:17 -07:00
kvm ARM: kvm: rename cpu_reset to avoid name clash 2013-09-24 11:15:05 -07:00
lib ARM: 7835/2: fix modular build of xor_blocks() with NEON enabled 2013-09-09 15:24:47 +01:00
mach-at91 ARM: at91: sam9g45: shutdown ddr1 too when rebooting 2013-09-30 09:58:44 -07:00
mach-bcm ARM: bcm: Make secure API call optional 2013-08-20 10:51:39 -07:00
mach-bcm2835
mach-clps711x
mach-cns3xxx
mach-davinci ARM: davinci: dm365 evm: fix unused variable warning 2013-09-19 14:56:03 +05:30
mach-dove ARM: SoC board updates for 3.12 2013-09-06 13:34:43 -07:00
mach-ebsa110 ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-ep93xx ARM: SoC fixes for 3.12 2013-09-12 13:59:31 -07:00
mach-exynos ARM: SoC late changes for v3.12 2013-09-09 16:35:29 -07:00
mach-footbridge ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-gemini ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-highbank ARM: SoC late changes for v3.12 2013-09-09 16:35:29 -07:00
mach-imx ACPI and power management fixes for 3.12-rc2 2013-09-20 15:17:14 -07:00
mach-integrator ARM: mach-integrator: Add stub for pci_v3_early_init() for !CONFIG_PCI 2013-09-25 21:59:52 -07:00
mach-iop13xx ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-iop32x ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-iop33x ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-ixp4xx ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-keystone Omap fixes for the merge window that are not urgent enough 2013-08-29 19:12:04 -07:00
mach-kirkwood ARM: SoC board updates for 3.12 2013-09-06 13:34:43 -07:00
mach-ks8695 gpio: (gpio-pca953x) move header to linux/platform_data/ 2013-08-29 12:33:52 -07:00
mach-lpc32xx ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-mmp ARM: SoC late changes for v3.12 2013-09-09 16:35:29 -07:00
mach-msm ARM: SoC cleanups for 3.12 2013-09-06 13:21:16 -07:00
mach-mv78xx0 ARM: SoC platform changes for 3.12 2013-09-06 13:30:06 -07:00
mach-mvebu ARM: mvebu: add missing of_node_put() to fix reference leak 2013-09-18 16:40:53 +00:00
mach-mxs
mach-netx
mach-nomadik
mach-nspire
mach-omap1
mach-omap2 ARM: OMAP2+: hwmod: check for module address space during init 2013-10-08 23:46:49 -06:00
mach-orion5x ARM: SoC board updates for 3.12 2013-09-06 13:34:43 -07:00
mach-picoxcell
mach-prima2 ARM: SoC platform changes for 3.12 2013-09-06 13:30:06 -07:00
mach-pxa ARM: SoC DT updates for 3.12 2013-09-06 13:26:27 -07:00
mach-realview ARM: SoC cleanups for 3.12 2013-09-06 13:21:16 -07:00
mach-rockchip
mach-rpc ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-s3c24xx
mach-s3c64xx gpio: (gpio-pca953x) move header to linux/platform_data/ 2013-08-29 12:33:52 -07:00
mach-s5p64x0
mach-s5pc100
mach-s5pv210
mach-sa1100 ARM: sa1100: collie.c: fall back to jedec_probe flash detection 2013-09-18 08:20:27 -07:00
mach-shark
mach-shmobile ARM: SoC fixes for 3.12-rc 2013-10-02 21:48:32 -07:00
mach-socfpga
mach-spear ARM: SoC cleanups for 3.12 2013-09-06 13:21:16 -07:00
mach-sti
mach-sunxi
mach-tegra ARM: SoC platform changes for 3.12 2013-09-06 13:30:06 -07:00
mach-u300 ARM: u300: hide submenus 2013-09-18 08:16:46 -07:00
mach-ux500 ARM: ux500: disable outer cache debug 2013-09-17 09:08:13 -07:00
mach-versatile Merge branch 'versatile/fixes' into fixes 2013-09-09 17:31:04 -07:00
mach-vexpress ARM: vexpress: tc2: fix hotplug/idle/kexec race on cluster power down 2013-09-30 09:27:36 -07:00
mach-virt
mach-vt8500
mach-w90x900
mach-zynq arm: Xilinx Zynq cleanup patches for v3.12 2013-08-20 15:05:31 -07:00
mm arch: mm: pass userspace fault flag to generic fault handler 2013-09-12 15:38:01 -07:00
net
nwfpe
oprofile
plat-iop
plat-omap ARM: SoC platform changes for 3.12 2013-09-06 13:30:06 -07:00
plat-orion
plat-pxa ARM: pxa: ssp: Check return values from phandle lookups 2013-09-09 17:14:09 -07:00
plat-samsung ARM: SoC cleanups for 3.12 2013-09-06 13:21:16 -07:00
plat-versatile
tools
vfp
xen Linux 3.11-rc7 2013-09-09 12:05:37 -04:00
Kconfig ARM: only allow kernel mode neon with AEABI 2013-09-22 11:08:50 +01:00
Kconfig-nommu
Kconfig.debug ARM: SoC cleanups for 3.12 2013-09-06 13:21:16 -07:00
Makefile