ARM: l2c: move l2c save function to __l2c_init()
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 15 Mar 2014 16:48:04 +0000 (16:48 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 29 May 2014 23:47:47 +0000 (00:47 +0100)
There's no reason this functionality should be specific to DT, so move
it into the common initialisation function.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/cache-l2x0.c

index 08f9cade028ad3eaa91da3c5b7cd429ea2047955..3b62138380545667b31a5b2ffa4efa804e95ee4e 100644 (file)
@@ -357,6 +357,13 @@ static void __init __l2c_init(const struct l2c_init_data *data,
        int way_size_shift = L2X0_WAY_SIZE_SHIFT;
        const char *type;
 
+       /*
+        * It is strange to save the register state before initialisation,
+        * but hey, this is what the DT implementations decided to do.
+        */
+       if (data->save)
+               data->save(l2x0_base);
+
        aux = readl_relaxed(l2x0_base + L2X0_AUX_CTRL);
 
        aux &= aux_mask;
@@ -1023,9 +1030,6 @@ int __init l2x0_of_init(u32 aux_val, u32 aux_mask)
                        aurora_broadcast_l2_commands();
        }
 
-       if (data->save)
-               data->save(l2x0_base);
-
        if (cache_id_part_number_from_dt)
                cache_id = cache_id_part_number_from_dt;
        else