ppc: Move used_laws to arch_global_data
authorSimon Glass <sjg@chromium.org>
Thu, 13 Dec 2012 20:48:51 +0000 (20:48 +0000)
committerTom Rini <trini@ti.com>
Mon, 4 Feb 2013 14:05:43 +0000 (09:05 -0500)
Move this field into arch_global_data and tidy up.

Signed-off-by: Simon Glass <sjg@chromium.org>
arch/powerpc/cpu/mpc8xxx/law.c
arch/powerpc/include/asm/global_data.h

index ce1d71e307a02f081e8222392a5bc53b845f574b..6f9d5683a9c7ecc36ee768b742322e202c9327f0 100644 (file)
@@ -69,7 +69,7 @@ static inline void set_law_base_addr(int idx, phys_addr_t addr)
 
 void set_law(u8 idx, phys_addr_t addr, enum law_size sz, enum law_trgt_if id)
 {
-       gd->used_laws |= (1 << idx);
+       gd->arch.used_laws |= (1 << idx);
 
        out_be32(LAWAR_ADDR(idx), 0);
        set_law_base_addr(idx, addr);
@@ -81,7 +81,7 @@ void set_law(u8 idx, phys_addr_t addr, enum law_size sz, enum law_trgt_if id)
 
 void disable_law(u8 idx)
 {
-       gd->used_laws &= ~(1 << idx);
+       gd->arch.used_laws &= ~(1 << idx);
 
        out_be32(LAWAR_ADDR(idx), 0);
        set_law_base_addr(idx, 0);
@@ -112,7 +112,7 @@ static int get_law_entry(u8 i, struct law_entry *e)
 
 int set_next_law(phys_addr_t addr, enum law_size sz, enum law_trgt_if id)
 {
-       u32 idx = ffz(gd->used_laws);
+       u32 idx = ffz(gd->arch.used_laws);
 
        if (idx >= FSL_HW_NUM_LAWS)
                return -1;
@@ -128,11 +128,11 @@ int set_last_law(phys_addr_t addr, enum law_size sz, enum law_trgt_if id)
        u32 idx;
 
        /* we have no LAWs free */
-       if (gd->used_laws == -1)
+       if (gd->arch.used_laws == -1)
                return -1;
 
        /* grab the last free law */
-       idx = __ilog2(~(gd->used_laws));
+       idx = __ilog2(~(gd->arch.used_laws));
 
        if (idx >= FSL_HW_NUM_LAWS)
                return -1;
@@ -240,9 +240,9 @@ void init_laws(void)
        int i;
 
 #if FSL_HW_NUM_LAWS < 32
-       gd->used_laws = ~((1 << FSL_HW_NUM_LAWS) - 1);
+       gd->arch.used_laws = ~((1 << FSL_HW_NUM_LAWS) - 1);
 #elif FSL_HW_NUM_LAWS == 32
-       gd->used_laws = 0;
+       gd->arch.used_laws = 0;
 #else
 #error FSL_HW_NUM_LAWS can not be greater than 32 w/o code changes
 #endif
@@ -255,7 +255,7 @@ void init_laws(void)
                u32 lawar = in_be32(LAWAR_ADDR(i));
 
                if (lawar & LAW_EN)
-                       gd->used_laws |= (1 << i);
+                       gd->arch.used_laws |= (1 << i);
        }
 
 #if (defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_NAND_SPL)) || \
index 760cdabb457a5d13997bbd7879edfd60040b5b85..c7ce7fdca0e7587e6b2cb03009956add6a639660 100644 (file)
@@ -88,6 +88,9 @@ struct arch_global_data {
        uint mp_alloc_base;
        uint mp_alloc_top;
 #endif /* CONFIG_QE */
+#if defined(CONFIG_FSL_LAW)
+       u32 used_laws;
+#endif
 };
 
 /*
@@ -110,9 +113,6 @@ typedef     struct  global_data {
 #if defined(CONFIG_FSL_ESDHC)
        u32 sdhc_clk;
 #endif
-#if defined(CONFIG_FSL_LAW)
-       u32 used_laws;
-#endif
 #if defined(CONFIG_E500)
        u32 used_tlb_cams[(CONFIG_SYS_NUM_TLBCAMS+31)/32];
 #endif