diff --git a/post/cpu/mpc83xx/ecc.c b/post/cpu/mpc83xx/ecc.c
index 45263e6..68da8ff 100644
--- a/post/cpu/mpc83xx/ecc.c
+++ b/post/cpu/mpc83xx/ecc.c
@@ -17,7 +17,7 @@
 #include <asm/io.h>
 #include <post.h>
 
-#if CFG_POST & CONFIG_SYS_POST_ECC
+#if CFG_POST & CFG_SYS_POST_ECC
 /*
  * We use the RAW I/O accessors where possible in order to
  * achieve performance goal, since the test's execution time
@@ -51,7 +51,7 @@
 	int errbit;
 	u32 pattern[2], writeback[2], retval[2];
 	ddr83xx_t *ddr = &((immap_t *)CONFIG_SYS_IMMR)->ddr;
-	volatile u64 *addr = (u64 *)CONFIG_SYS_POST_ECC_START_ADDR;
+	volatile u64 *addr = (u64 *)CFG_SYS_POST_ECC_START_ADDR;
 
 	/* The pattern is written into memory to generate error */
 	pattern[0] = 0xfedcba98UL;
@@ -70,8 +70,8 @@
 	int_state = disable_interrupts();
 	icache_enable();
 
-	for (addr = (u64*)CONFIG_SYS_POST_ECC_START_ADDR, errbit=0;
-	     addr < (u64*)CONFIG_SYS_POST_ECC_STOP_ADDR; addr++, errbit++ ) {
+	for (addr = (u64*)CFG_SYS_POST_ECC_START_ADDR, errbit=0;
+	     addr < (u64*)CFG_SYS_POST_ECC_STOP_ADDR; addr++, errbit++ ) {
 
 		schedule();
 
diff --git a/post/drivers/flash.c b/post/drivers/flash.c
index e157d36..a1fcf1f 100644
--- a/post/drivers/flash.c
+++ b/post/drivers/flash.c
@@ -6,7 +6,7 @@
  * Licensed under the GPL-2 or later.
  */
 
-#if CFG_POST & CONFIG_SYS_POST_FLASH
+#if CFG_POST & CFG_SYS_POST_FLASH
 #include <common.h>
 #include <malloc.h>
 #include <post.h>
@@ -23,10 +23,10 @@
  *  - better seed pattern than 0x00..0xff
  */
 
-#ifndef CONFIG_SYS_POST_FLASH_NUM
-# define CONFIG_SYS_POST_FLASH_NUM 0
+#ifndef CFG_SYS_POST_FLASH_NUM
+# define CFG_SYS_POST_FLASH_NUM 0
 #endif
-#if CONFIG_SYS_POST_FLASH_START >= CONFIG_SYS_POST_FLASH_END
+#if CFG_SYS_POST_FLASH_START >= CFG_SYS_POST_FLASH_END
 # error "invalid flash block start/end"
 #endif
 
@@ -59,9 +59,9 @@
 
 	len = 0;
 	src = NULL;
-	info = &flash_info[CONFIG_SYS_POST_FLASH_NUM];
-	n_start = CONFIG_SYS_POST_FLASH_START;
-	n_end = CONFIG_SYS_POST_FLASH_END;
+	info = &flash_info[CFG_SYS_POST_FLASH_NUM];
+	n_start = CFG_SYS_POST_FLASH_START;
+	n_end = CFG_SYS_POST_FLASH_END;
 
 	for (n = n_start; n < n_end; ++n) {
 		ulong s_start, s_len, s_off;
diff --git a/post/drivers/i2c.c b/post/drivers/i2c.c
index 057454f..557d632 100644
--- a/post/drivers/i2c.c
+++ b/post/drivers/i2c.c
@@ -9,14 +9,14 @@
  *
  * For verifying the I2C bus, a full I2C bus scanning is performed.
  *
- * #ifdef CONFIG_SYS_POST_I2C_ADDRS
+ * #ifdef CFG_SYS_POST_I2C_ADDRS
  *   The test is considered as passed if all the devices and only the devices
  *   in the list are found.
- *   #ifdef CONFIG_SYS_POST_I2C_IGNORES
- *     Ignore devices listed in CONFIG_SYS_POST_I2C_IGNORES.  These devices
+ *   #ifdef CFG_SYS_POST_I2C_IGNORES
+ *     Ignore devices listed in CFG_SYS_POST_I2C_IGNORES.  These devices
  *     are optional or not vital to board functionality.
  *   #endif
- * #else [ ! CONFIG_SYS_POST_I2C_ADDRS ]
+ * #else [ ! CFG_SYS_POST_I2C_ADDRS ]
  *   The test is considered as passed if any I2C device is found.
  * #endif
  */
@@ -26,12 +26,12 @@
 #include <post.h>
 #include <i2c.h>
 
-#if CFG_POST & CONFIG_SYS_POST_I2C
+#if CFG_POST & CFG_SYS_POST_I2C
 
 static int i2c_ignore_device(unsigned int chip)
 {
-#ifdef CONFIG_SYS_POST_I2C_IGNORES
-	const unsigned char i2c_ignore_list[] = CONFIG_SYS_POST_I2C_IGNORES;
+#ifdef CFG_SYS_POST_I2C_IGNORES
+	const unsigned char i2c_ignore_list[] = CFG_SYS_POST_I2C_IGNORES;
 	int i;
 
 	for (i = 0; i < sizeof(i2c_ignore_list); i++)
@@ -45,7 +45,7 @@
 int i2c_post_test (int flags)
 {
 	unsigned int i;
-#ifndef CONFIG_SYS_POST_I2C_ADDRS
+#ifndef CFG_SYS_POST_I2C_ADDRS
 	/* Start at address 1, address 0 is the general call address */
 	for (i = 1; i < 128; i++) {
 		if (i2c_ignore_device(i))
@@ -59,7 +59,7 @@
 #else
 	unsigned int ret  = 0;
 	int j;
-	unsigned char i2c_addr_list[] = CONFIG_SYS_POST_I2C_ADDRS;
+	unsigned char i2c_addr_list[] = CFG_SYS_POST_I2C_ADDRS;
 
 	/* Start at address 1, address 0 is the general call address */
 	for (i = 1; i < 128; i++) {
@@ -94,4 +94,4 @@
 #endif
 }
 
-#endif /* CFG_POST & CONFIG_SYS_POST_I2C */
+#endif /* CFG_POST & CFG_SYS_POST_I2C */
diff --git a/post/drivers/rtc.c b/post/drivers/rtc.c
index cfed56b..cc7a498 100644
--- a/post/drivers/rtc.c
+++ b/post/drivers/rtc.c
@@ -26,7 +26,7 @@
 #include <post.h>
 #include <rtc.h>
 
-#if CFG_POST & CONFIG_SYS_POST_RTC
+#if CFG_POST & CFG_SYS_POST_RTC
 
 static int rtc_post_skip (ulong * diff)
 {
@@ -189,4 +189,4 @@
 	return 0;
 }
 
-#endif /* CFG_POST & CONFIG_SYS_POST_RTC */
+#endif /* CFG_POST & CFG_SYS_POST_RTC */
diff --git a/post/lib_powerpc/andi.c b/post/lib_powerpc/andi.c
index d69d613..4f30216 100644
--- a/post/lib_powerpc/andi.c
+++ b/post/lib_powerpc/andi.c
@@ -19,7 +19,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_21 (ulong *code, ulong *cr, ulong *res, ulong op);
 extern ulong cpu_post_makecr (long v);
diff --git a/post/lib_powerpc/asm.S b/post/lib_powerpc/asm.S
index 13302d7..93c7856 100644
--- a/post/lib_powerpc/asm.S
+++ b/post/lib_powerpc/asm.S
@@ -10,7 +10,7 @@
 #include <ppc_defs.h>
 #include <asm/cache.h>
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 /* void cpu_post_exec_02 (ulong *code, ulong op1, ulong op2); */
 	.global	cpu_post_exec_02
diff --git a/post/lib_powerpc/b.c b/post/lib_powerpc/b.c
index eb9371f..0ec032d 100644
--- a/post/lib_powerpc/b.c
+++ b/post/lib_powerpc/b.c
@@ -24,7 +24,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_11 (ulong *code, ulong *res, ulong op1);
 extern void cpu_post_exec_31 (ulong *code, ulong *ctr, ulong *lr, ulong *jump,
diff --git a/post/lib_powerpc/cmp.c b/post/lib_powerpc/cmp.c
index e4d0931..57f2b96 100644
--- a/post/lib_powerpc/cmp.c
+++ b/post/lib_powerpc/cmp.c
@@ -23,7 +23,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_12 (ulong *code, ulong *res, ulong op1, ulong op2);
 
diff --git a/post/lib_powerpc/cmpi.c b/post/lib_powerpc/cmpi.c
index 983892d..6e2bd63 100644
--- a/post/lib_powerpc/cmpi.c
+++ b/post/lib_powerpc/cmpi.c
@@ -23,7 +23,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_11 (ulong *code, ulong *res, ulong op1);
 
diff --git a/post/lib_powerpc/complex.c b/post/lib_powerpc/complex.c
index d2ec21b..751bce6 100644
--- a/post/lib_powerpc/complex.c
+++ b/post/lib_powerpc/complex.c
@@ -18,7 +18,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern int cpu_post_complex_1_asm (int a1, int a2, int a3, int a4, int n);
 extern int cpu_post_complex_2_asm (int x, int n);
diff --git a/post/lib_powerpc/cpu.c b/post/lib_powerpc/cpu.c
index 77c2538..98a8c63 100644
--- a/post/lib_powerpc/cpu.c
+++ b/post/lib_powerpc/cpu.c
@@ -20,7 +20,7 @@
 #include <post.h>
 #include <asm/mmu.h>
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern int cpu_post_test_cmp (void);
 extern int cpu_post_test_cmpi (void);
@@ -118,4 +118,4 @@
 	return ret;
 }
 
-#endif /* CFG_POST & CONFIG_SYS_POST_CPU */
+#endif /* CFG_POST & CFG_SYS_POST_CPU */
diff --git a/post/lib_powerpc/cr.c b/post/lib_powerpc/cr.c
index 077fb0f..3c7b611 100644
--- a/post/lib_powerpc/cr.c
+++ b/post/lib_powerpc/cr.c
@@ -33,7 +33,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_11 (ulong *code, ulong *res, ulong op1);
 extern void cpu_post_exec_21x (ulong *code, ulong *op1, ulong *op2, ulong op3);
diff --git a/post/lib_powerpc/fpu/20001122-1.c b/post/lib_powerpc/fpu/20001122-1.c
index eddd3f9..9c1c886 100644
--- a/post/lib_powerpc/fpu/20001122-1.c
+++ b/post/lib_powerpc/fpu/20001122-1.c
@@ -13,7 +13,7 @@
 
 GNU_FPOST_ATTR
 
-#if CFG_POST & CONFIG_SYS_POST_FPU
+#if CFG_POST & CFG_SYS_POST_FPU
 
 int fpu_post_test_math1 (void)
 {
@@ -40,4 +40,4 @@
 	return 0;
 }
 
-#endif /* CFG_POST & CONFIG_SYS_POST_FPU */
+#endif /* CFG_POST & CFG_SYS_POST_FPU */
diff --git a/post/lib_powerpc/fpu/20010114-2.c b/post/lib_powerpc/fpu/20010114-2.c
index 9e3e546..01bac50 100644
--- a/post/lib_powerpc/fpu/20010114-2.c
+++ b/post/lib_powerpc/fpu/20010114-2.c
@@ -13,7 +13,7 @@
 
 GNU_FPOST_ATTR
 
-#if CFG_POST & CONFIG_SYS_POST_FPU
+#if CFG_POST & CFG_SYS_POST_FPU
 
 static float rintf (float x)
 {
@@ -45,4 +45,4 @@
 	return 0;
 }
 
-#endif /* CFG_POST & CONFIG_SYS_POST_FPU */
+#endif /* CFG_POST & CFG_SYS_POST_FPU */
diff --git a/post/lib_powerpc/fpu/20010226-1.c b/post/lib_powerpc/fpu/20010226-1.c
index 5bb3860..cc4aa0d 100644
--- a/post/lib_powerpc/fpu/20010226-1.c
+++ b/post/lib_powerpc/fpu/20010226-1.c
@@ -13,7 +13,7 @@
 
 GNU_FPOST_ATTR
 
-#if CFG_POST & CONFIG_SYS_POST_FPU
+#if CFG_POST & CFG_SYS_POST_FPU
 
 int fpu_post_test_math3 (void)
 {
@@ -33,4 +33,4 @@
 	return 0;
 }
 
-#endif /* CFG_POST & CONFIG_SYS_POST_FPU */
+#endif /* CFG_POST & CFG_SYS_POST_FPU */
diff --git a/post/lib_powerpc/fpu/980619-1.c b/post/lib_powerpc/fpu/980619-1.c
index 415cd50..111a201 100644
--- a/post/lib_powerpc/fpu/980619-1.c
+++ b/post/lib_powerpc/fpu/980619-1.c
@@ -13,7 +13,7 @@
 
 GNU_FPOST_ATTR
 
-#if CFG_POST & CONFIG_SYS_POST_FPU
+#if CFG_POST & CFG_SYS_POST_FPU
 
 int fpu_post_test_math4 (void)
 {
@@ -39,4 +39,4 @@
 	return 0;
 }
 
-#endif /* CFG_POST & CONFIG_SYS_POST_FPU */
+#endif /* CFG_POST & CFG_SYS_POST_FPU */
diff --git a/post/lib_powerpc/fpu/acc1.c b/post/lib_powerpc/fpu/acc1.c
index 4cf3b7c..63cc3ee 100644
--- a/post/lib_powerpc/fpu/acc1.c
+++ b/post/lib_powerpc/fpu/acc1.c
@@ -13,7 +13,7 @@
 
 GNU_FPOST_ATTR
 
-#if CFG_POST & CONFIG_SYS_POST_FPU
+#if CFG_POST & CFG_SYS_POST_FPU
 
 static double func (const double *array)
 {
@@ -36,4 +36,4 @@
 	return 0;
 }
 
-#endif /* CFG_POST & CONFIG_SYS_POST_FPU */
+#endif /* CFG_POST & CFG_SYS_POST_FPU */
diff --git a/post/lib_powerpc/fpu/compare-fp-1.c b/post/lib_powerpc/fpu/compare-fp-1.c
index 029600f..4b45896 100644
--- a/post/lib_powerpc/fpu/compare-fp-1.c
+++ b/post/lib_powerpc/fpu/compare-fp-1.c
@@ -15,7 +15,7 @@
 
 GNU_FPOST_ATTR
 
-#if CFG_POST & CONFIG_SYS_POST_FPU
+#if CFG_POST & CFG_SYS_POST_FPU
 
 static int failed;
 
@@ -204,4 +204,4 @@
 	return 0;
 }
 
-#endif /* CFG_POST & CONFIG_SYS_POST_FPU */
+#endif /* CFG_POST & CFG_SYS_POST_FPU */
diff --git a/post/lib_powerpc/fpu/fpu.c b/post/lib_powerpc/fpu/fpu.c
index 8993b36..59109f7 100644
--- a/post/lib_powerpc/fpu/fpu.c
+++ b/post/lib_powerpc/fpu/fpu.c
@@ -21,7 +21,7 @@
 
 GNU_FPOST_ATTR
 
-#if CFG_POST & CONFIG_SYS_POST_FPU
+#if CFG_POST & CFG_SYS_POST_FPU
 
 #include <watchdog.h>
 
@@ -71,4 +71,4 @@
 	return ret;
 }
 
-#endif /* CFG_POST & CONFIG_SYS_POST_FPU */
+#endif /* CFG_POST & CFG_SYS_POST_FPU */
diff --git a/post/lib_powerpc/fpu/mul-subnormal-single-1.c b/post/lib_powerpc/fpu/mul-subnormal-single-1.c
index 87b882c6..891aa95 100644
--- a/post/lib_powerpc/fpu/mul-subnormal-single-1.c
+++ b/post/lib_powerpc/fpu/mul-subnormal-single-1.c
@@ -15,7 +15,7 @@
 
 GNU_FPOST_ATTR
 
-#if CFG_POST & CONFIG_SYS_POST_FPU
+#if CFG_POST & CFG_SYS_POST_FPU
 
 union uf
 {
@@ -82,4 +82,4 @@
 	return 0;
 }
 
-#endif /* CFG_POST & CONFIG_SYS_POST_FPU */
+#endif /* CFG_POST & CFG_SYS_POST_FPU */
diff --git a/post/lib_powerpc/load.c b/post/lib_powerpc/load.c
index ece0b27..e4ac6bf 100644
--- a/post/lib_powerpc/load.c
+++ b/post/lib_powerpc/load.c
@@ -28,7 +28,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_22w (ulong *code, ulong *op1, ulong op2, ulong *op3);
 extern void cpu_post_exec_21w (ulong *code, ulong *op1, ulong *op2);
diff --git a/post/lib_powerpc/multi.c b/post/lib_powerpc/multi.c
index 0e9ee88..4df4579 100644
--- a/post/lib_powerpc/multi.c
+++ b/post/lib_powerpc/multi.c
@@ -21,7 +21,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_02(ulong *code, ulong op1, ulong op2);
 
diff --git a/post/lib_powerpc/rlwimi.c b/post/lib_powerpc/rlwimi.c
index d24a3f6..da21913 100644
--- a/post/lib_powerpc/rlwimi.c
+++ b/post/lib_powerpc/rlwimi.c
@@ -19,7 +19,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_22 (ulong *code, ulong *cr, ulong *res, ulong op1,
     ulong op2);
diff --git a/post/lib_powerpc/rlwinm.c b/post/lib_powerpc/rlwinm.c
index 9f4a3ed..b0b976f 100644
--- a/post/lib_powerpc/rlwinm.c
+++ b/post/lib_powerpc/rlwinm.c
@@ -19,7 +19,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_21 (ulong *code, ulong *cr, ulong *res, ulong op1);
 extern ulong cpu_post_makecr (long v);
diff --git a/post/lib_powerpc/rlwnm.c b/post/lib_powerpc/rlwnm.c
index 224e6bd..22cd456 100644
--- a/post/lib_powerpc/rlwnm.c
+++ b/post/lib_powerpc/rlwnm.c
@@ -19,7 +19,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_22 (ulong *code, ulong *cr, ulong *res, ulong op1,
     ulong op2);
diff --git a/post/lib_powerpc/srawi.c b/post/lib_powerpc/srawi.c
index 713d4f2..a103df7 100644
--- a/post/lib_powerpc/srawi.c
+++ b/post/lib_powerpc/srawi.c
@@ -19,7 +19,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_21 (ulong *code, ulong *cr, ulong *res, ulong op);
 extern ulong cpu_post_makecr (long v);
diff --git a/post/lib_powerpc/store.c b/post/lib_powerpc/store.c
index 2dbcccf..71a4b6a 100644
--- a/post/lib_powerpc/store.c
+++ b/post/lib_powerpc/store.c
@@ -28,7 +28,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_12w (ulong *code, ulong *op1, ulong op2, ulong op3);
 extern void cpu_post_exec_11w (ulong *code, ulong *op1, ulong op2);
diff --git a/post/lib_powerpc/string.c b/post/lib_powerpc/string.c
index 9b54847..21e02bc 100644
--- a/post/lib_powerpc/string.c
+++ b/post/lib_powerpc/string.c
@@ -20,7 +20,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_02 (ulong *code, ulong op1, ulong op2);
 extern void cpu_post_exec_04 (ulong *code, ulong op1, ulong op2, ulong op3,
diff --git a/post/lib_powerpc/three.c b/post/lib_powerpc/three.c
index 55f0ff8..68339b0 100644
--- a/post/lib_powerpc/three.c
+++ b/post/lib_powerpc/three.c
@@ -22,7 +22,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_22 (ulong *code, ulong *cr, ulong *res, ulong op1,
     ulong op2);
diff --git a/post/lib_powerpc/threei.c b/post/lib_powerpc/threei.c
index ec52d23..885dd8c 100644
--- a/post/lib_powerpc/threei.c
+++ b/post/lib_powerpc/threei.c
@@ -21,7 +21,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_21 (ulong *code, ulong *cr, ulong *res, ulong op);
 extern ulong cpu_post_makecr (long v);
diff --git a/post/lib_powerpc/threex.c b/post/lib_powerpc/threex.c
index 6f5f0b8..62ac713 100644
--- a/post/lib_powerpc/threex.c
+++ b/post/lib_powerpc/threex.c
@@ -22,7 +22,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_22 (ulong *code, ulong *cr, ulong *res, ulong op1,
     ulong op2);
diff --git a/post/lib_powerpc/two.c b/post/lib_powerpc/two.c
index b44dd4e..7985669 100644
--- a/post/lib_powerpc/two.c
+++ b/post/lib_powerpc/two.c
@@ -22,7 +22,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_21 (ulong *code, ulong *cr, ulong *res, ulong op1);
 extern ulong cpu_post_makecr (long v);
diff --git a/post/lib_powerpc/twox.c b/post/lib_powerpc/twox.c
index 320cc0a..33d1a1d 100644
--- a/post/lib_powerpc/twox.c
+++ b/post/lib_powerpc/twox.c
@@ -22,7 +22,7 @@
 #include <post.h>
 #include "cpu_asm.h"
 
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
 
 extern void cpu_post_exec_21 (ulong *code, ulong *cr, ulong *res, ulong op1);
 extern ulong cpu_post_makecr (long v);
diff --git a/post/post.c b/post/post.c
index 9964b41..4db862c 100644
--- a/post/post.c
+++ b/post/post.c
@@ -16,7 +16,7 @@
 #include <post.h>
 #include <asm/global_data.h>
 
-#ifdef CONFIG_SYS_POST_HOTKEYS_GPIO
+#ifdef CFG_SYS_POST_HOTKEYS_GPIO
 #include <asm/gpio.h>
 #endif
 
@@ -55,9 +55,9 @@
  */
 __weak int post_hotkeys_pressed(void)
 {
-#ifdef CONFIG_SYS_POST_HOTKEYS_GPIO
+#ifdef CFG_SYS_POST_HOTKEYS_GPIO
 	int ret;
-	unsigned gpio = CONFIG_SYS_POST_HOTKEYS_GPIO;
+	unsigned gpio = CFG_SYS_POST_HOTKEYS_GPIO;
 
 	ret = gpio_request(gpio, "hotkeys");
 	if (ret) {
diff --git a/post/tests.c b/post/tests.c
index d61ea74..8cea428 100644
--- a/post/tests.c
+++ b/post/tests.c
@@ -45,7 +45,7 @@
 
 struct post_test post_list[] =
 {
-#if CFG_POST & CONFIG_SYS_POST_OCM
+#if CFG_POST & CFG_SYS_POST_OCM
     {
 	"OCM test",
 	"ocm",
@@ -54,10 +54,10 @@
 	&ocm_post_test,
 	NULL,
 	NULL,
-	CONFIG_SYS_POST_OCM
+	CFG_SYS_POST_OCM
     },
 #endif
-#if CFG_POST & CONFIG_SYS_POST_CACHE
+#if CFG_POST & CFG_SYS_POST_CACHE
     {
 	"Cache test",
 	"cache",
@@ -66,10 +66,10 @@
 	&cache_post_test,
 	NULL,
 	NULL,
-	CONFIG_SYS_POST_CACHE
+	CFG_SYS_POST_CACHE
     },
 #endif
-#if CFG_POST & CONFIG_SYS_POST_WATCHDOG
+#if CFG_POST & CFG_SYS_POST_WATCHDOG
 #if defined(CFG_POST_WATCHDOG)
 	CFG_POST_WATCHDOG,
 #else
@@ -81,11 +81,11 @@
 	&watchdog_post_test,
 	NULL,
 	NULL,
-	CONFIG_SYS_POST_WATCHDOG
+	CFG_SYS_POST_WATCHDOG
     },
 #endif
 #endif
-#if CFG_POST & CONFIG_SYS_POST_I2C
+#if CFG_POST & CFG_SYS_POST_I2C
     {
 	"I2C test",
 	"i2c",
@@ -94,10 +94,10 @@
 	&i2c_post_test,
 	NULL,
 	NULL,
-	CONFIG_SYS_POST_I2C
+	CFG_SYS_POST_I2C
     },
 #endif
-#if CFG_POST & CONFIG_SYS_POST_RTC
+#if CFG_POST & CFG_SYS_POST_RTC
     {
 	"RTC test",
 	"rtc",
@@ -106,7 +106,7 @@
 	&rtc_post_test,
 	NULL,
 	NULL,
-	CONFIG_SYS_POST_RTC
+	CFG_SYS_POST_RTC
     },
 #endif
 #if CFG_POST & CFG_SYS_POST_MEMORY
@@ -121,7 +121,7 @@
 	CFG_SYS_POST_MEMORY
     },
 #endif
-#if CFG_POST & CONFIG_SYS_POST_CPU
+#if CFG_POST & CFG_SYS_POST_CPU
     {
 	"CPU test",
 	"cpu",
@@ -131,10 +131,10 @@
 	&cpu_post_test,
 	NULL,
 	NULL,
-	CONFIG_SYS_POST_CPU
+	CFG_SYS_POST_CPU
     },
 #endif
-#if CFG_POST & CONFIG_SYS_POST_FPU
+#if CFG_POST & CFG_SYS_POST_FPU
     {
 	"FPU test",
 	"fpu",
@@ -144,10 +144,10 @@
 	&fpu_post_test,
 	NULL,
 	NULL,
-	CONFIG_SYS_POST_FPU
+	CFG_SYS_POST_FPU
     },
 #endif
-#if CFG_POST & CONFIG_SYS_POST_UART
+#if CFG_POST & CFG_SYS_POST_UART
 #if defined(CFG_POST_UART)
 	CFG_POST_UART,
 #else
@@ -159,11 +159,11 @@
 	&uart_post_test,
 	NULL,
 	NULL,
-	CONFIG_SYS_POST_UART
+	CFG_SYS_POST_UART
     },
 #endif /* CFG_POST_UART */
 #endif
-#if CFG_POST & CONFIG_SYS_POST_ETHER
+#if CFG_POST & CFG_SYS_POST_ETHER
     {
 	"ETHERNET test",
 	"ethernet",
@@ -172,10 +172,10 @@
 	&ether_post_test,
 	NULL,
 	NULL,
-	CONFIG_SYS_POST_ETHER
+	CFG_SYS_POST_ETHER
     },
 #endif
-#if CFG_POST & CONFIG_SYS_POST_USB
+#if CFG_POST & CFG_SYS_POST_USB
     {
 	"USB test",
 	"usb",
@@ -184,10 +184,10 @@
 	&usb_post_test,
 	NULL,
 	NULL,
-	CONFIG_SYS_POST_USB
+	CFG_SYS_POST_USB
     },
 #endif
-#if CFG_POST & CONFIG_SYS_POST_SPR
+#if CFG_POST & CFG_SYS_POST_SPR
     {
 	"SPR test",
 	"spr",
@@ -196,10 +196,10 @@
 	&spr_post_test,
 	NULL,
 	NULL,
-	CONFIG_SYS_POST_SPR
+	CFG_SYS_POST_SPR
     },
 #endif
-#if CFG_POST & CONFIG_SYS_POST_SYSMON
+#if CFG_POST & CFG_SYS_POST_SYSMON
     {
 	"SYSMON test",
 	"sysmon",
@@ -208,10 +208,10 @@
 	&sysmon_post_test,
 	&sysmon_init_f,
 	&sysmon_reloc,
-	CONFIG_SYS_POST_SYSMON
+	CFG_SYS_POST_SYSMON
     },
 #endif
-#if CFG_POST & CONFIG_SYS_POST_DSP
+#if CFG_POST & CFG_SYS_POST_DSP
     {
 	"DSP test",
 	"dsp",
@@ -220,10 +220,10 @@
 	&dsp_post_test,
 	NULL,
 	NULL,
-	CONFIG_SYS_POST_DSP
+	CFG_SYS_POST_DSP
     },
 #endif
-#if CFG_POST & CONFIG_SYS_POST_CODEC
+#if CFG_POST & CFG_SYS_POST_CODEC
     {
 	"CODEC test",
 	"codec",
@@ -232,10 +232,10 @@
 	&codec_post_test,
 	NULL,
 	NULL,
-	CONFIG_SYS_POST_CODEC
+	CFG_SYS_POST_CODEC
     },
 #endif
-#if CFG_POST & CONFIG_SYS_POST_ECC
+#if CFG_POST & CFG_SYS_POST_ECC
     {
 	"ECC test",
 	"ecc",
@@ -244,25 +244,25 @@
 	&ecc_post_test,
 	NULL,
 	NULL,
-	CONFIG_SYS_POST_ECC
+	CFG_SYS_POST_ECC
     },
 #endif
-#if CFG_POST & CONFIG_SYS_POST_BSPEC1
+#if CFG_POST & CFG_SYS_POST_BSPEC1
 	CFG_POST_BSPEC1,
 #endif
-#if CFG_POST & CONFIG_SYS_POST_BSPEC2
+#if CFG_POST & CFG_SYS_POST_BSPEC2
 	CFG_POST_BSPEC2,
 #endif
-#if CFG_POST & CONFIG_SYS_POST_BSPEC3
+#if CFG_POST & CFG_SYS_POST_BSPEC3
 	CFG_POST_BSPEC3,
 #endif
-#if CFG_POST & CONFIG_SYS_POST_BSPEC4
+#if CFG_POST & CFG_SYS_POST_BSPEC4
 	CFG_POST_BSPEC4,
 #endif
-#if CFG_POST & CONFIG_SYS_POST_BSPEC5
+#if CFG_POST & CFG_SYS_POST_BSPEC5
 	CFG_POST_BSPEC5,
 #endif
-#if CFG_POST & CONFIG_SYS_POST_COPROC
+#if CFG_POST & CFG_SYS_POST_COPROC
     {
 	"Coprocessors communication test",
 	"coproc_com",
@@ -271,10 +271,10 @@
 	&coprocessor_post_test,
 	NULL,
 	NULL,
-	CONFIG_SYS_POST_COPROC
+	CFG_SYS_POST_COPROC
     },
 #endif
-#if CFG_POST & CONFIG_SYS_POST_FLASH
+#if CFG_POST & CFG_SYS_POST_FLASH
     {
 	"Parallel NOR flash test",
 	"flash",
@@ -283,7 +283,7 @@
 	&flash_post_test,
 	NULL,
 	NULL,
-	CONFIG_SYS_POST_FLASH
+	CFG_SYS_POST_FLASH
     },
 #endif
 #if CFG_POST & CFG_SYS_POST_MEM_REGIONS
