aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomasz Figa <[email protected]>2015-01-08 07:51:45 +0100
committerRussell King <[email protected]>2015-01-16 14:35:33 +0000
commit0c4c2edcaeee323fcc4f41a862456358eda50b57 (patch)
tree2e1db1604b2821b3aa7f335ed0a181f597c37188
parentc6d1a2d0078a30eb6290428a858c4e790a0e8691 (diff)
ARM: 8261/1: l2c: Get outer cache .write_sec callback from mach_desc only if not NULL
Certain platforms (i.e. Exynos) might need to set .write_sec callback from firmware initialization which is happenning in .init_early callback of machine descriptor. However current code will overwrite the pointer with whatever is present in machine descriptor, even though it can be already set earlier. This patch fixes this by making the assignment conditional, depending on whether current .write_sec callback is NULL. Signed-off-by: Tomasz Figa <[email protected]> Signed-off-by: Marek Szyprowski <[email protected]> Tested-by: Nishanth Menon <[email protected]> Acked-by: Nishanth Menon <[email protected]> Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Russell King <[email protected]>
-rw-r--r--arch/arm/kernel/irq.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c
index ad857bada96c..350f188c92d2 100644
--- a/arch/arm/kernel/irq.c
+++ b/arch/arm/kernel/irq.c
@@ -109,7 +109,8 @@ void __init init_IRQ(void)
if (IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_CACHE_L2X0) &&
(machine_desc->l2c_aux_mask || machine_desc->l2c_aux_val)) {
- outer_cache.write_sec = machine_desc->l2c_write_sec;
+ if (!outer_cache.write_sec)
+ outer_cache.write_sec = machine_desc->l2c_write_sec;
ret = l2x0_of_init(machine_desc->l2c_aux_val,
machine_desc->l2c_aux_mask);
if (ret)