summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-spear
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2014-06-04 14:47:28 +0200
committerArnd Bergmann <arnd@arndb.de>2014-06-17 17:09:38 +0200
commite1318391fda4060b77d638fa1d2e1987590c7d45 (patch)
tree2ed85679e7bff9bf124ae31157f17ac136dfde31 /arch/arm/mach-spear
parentARM: mvebu: DT: fix OpenBlocks AX3-4 RAM size (diff)
downloadlinux-e1318391fda4060b77d638fa1d2e1987590c7d45.tar.xz
linux-e1318391fda4060b77d638fa1d2e1987590c7d45.zip
ARM: integrator: fix section mismatch problem
This addresses a section mismatch problem in the IM-PD1 driver in the Integrator/AP. The IM-PD1 contains a VIC interrupt controller and therefore the driver calls vic_init_cascaded() which is marked __init as irqchips are simply not hot-pluggable and specifically the VIC is assumed to initiate only on boot. However the module driver model of the Integrator LM bus assumes that logic tile drivers can be probed at runtime. This is not really the case for IM-PD1: these tiles are detected at boot and they cannot be plugged into a running system. Before this patch it is of course possible to modprobe them later. By first forcing the IM-PD1 to bool we make sure this driver gets compiled into the kernel, and we know it will be probed only at boot time when the tiles are detected, so we can tag its probe function __init_refok as we know it won't be called after boot now, and the section mismatch problem goes away. As a side effect, sysfs binding from userspace becomes impossible, so we tag the driver to suppress the bind/unbind sysfs attributes. Cc: Russell King <linux@arm.linux.org.uk> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/mach-spear')
0 files changed, 0 insertions, 0 deletions