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>
        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;
                        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