arm: mvebu: fix coherency_late_init() for multiplatform
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 20 Jun 2013 07:45:26 +0000 (09:45 +0200)
committerJason Cooper <jason@lakedaemon.net>
Thu, 20 Jun 2013 12:12:48 +0000 (12:12 +0000)
commit1919bff0e25f5f7ce43474a3b972405f51023e99
treeacdca5dc0f1c1fbb57276e98159b25597d1af55f
parent5fb2038d61ce94e7c9224db2aaff5633ca224953
arm: mvebu: fix coherency_late_init() for multiplatform

As noticed by Arnaud Patard (Rtp) <arnaud.patard@rtp-net.org>, commit
865e0527d2d7 ('arm: mvebu: avoid hardcoded virtual address in
coherency code') added a postcore_initcall() to register the bus
notifier that the mvebu code needs to apply correct DMA operations on
its platform devices breaks the multiplatform boot on other platforms,
because the bus notifier registration is unconditional.

This commit fixes that by registering the bus notifier only if we have
the mvebu coherency unit described in the Device Tree. The conditional
used is exactly the same in which the bus_register_notifier() call was
originally enclosed before 865e0527d2d7 ('arm: mvebu: avoid hardcoded
virtual address in coherency code').

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reported-by: Arnaud Patard (Rtp) <arnaud.patard@rtp-net.org>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
arch/arm/mach-mvebu/coherency.c