* Modify KUP4X board configuration to use SL811 driver for USB memory
  sticks (including FAT / VFAT filesystem support)

* Add SL811 Host Controller Interface driver for USB

* Add CFG_I2C_EEPROM_ADDR_OVERFLOW desription to README

* Patch by Pantelis Antoniou, 19 Apr 2004:
  Allow to use shell style syntax (i. e. ${var} ) with standard parser.
  Minor patches for Intracom boards.

* Patch by Christian Pell, 19 Apr 2004:
  cleanup support for CF/IDE on PCMCIA for PXA25X
diff --git a/common/cmd_ide.c b/common/cmd_ide.c
index 50ada33..0c9927b 100644
--- a/common/cmd_ide.c
+++ b/common/cmd_ide.c
@@ -60,6 +60,11 @@
 # define SHOW_BOOT_PROGRESS(arg)
 #endif
 
+#ifdef __PPC__
+# define EIEIO		__asm__ volatile ("eieio")
+#else
+# define EIEIO		/* nothing */
+#endif
 
 #undef	IDE_DEBUG
 
@@ -790,9 +795,7 @@
 		dev, port, val, (ATA_CURR_BASE(dev)+port));
 
 	/* Ensure I/O operations complete */
-#ifdef __PPC__
-	__asm__ volatile("eieio");
-#endif
+	EIEIO;
 	*((uchar *)(ATA_CURR_BASE(dev)+port)) = val;
 }
 #else	/* ! __PPC__ */
@@ -810,9 +813,7 @@
 {
 	uchar val;
 	/* Ensure I/O operations complete */
-#ifdef __PPC__
-	__asm__ volatile("eieio");
-#endif
+	EIEIO;
 	val = *((uchar *)(ATA_CURR_BASE(dev)+port));
 	PRINTF ("ide_inb (dev= %d, port= 0x%x) : @ 0x%08lx -> 0x%02x\n",
 		dev, port, (ATA_CURR_BASE(dev)+port), val);
@@ -837,9 +838,9 @@
 	pbuf = (ushort *)(ATA_CURR_BASE(dev)+ATA_DATA_REG);
 	dbuf = (ushort *)sect_buf;
 	while (words--) {
-		__asm__ volatile ("eieio");
+		EIEIO;
 		*pbuf = *dbuf++;
-		__asm__ volatile ("eieio");
+		EIEIO;
 	}
 
 	if (words&1)
@@ -895,13 +896,9 @@
 	pbuf = (ushort *)(ATA_CURR_BASE(dev)+ATA_DATA_REG);
 	dbuf = (ushort *)sect_buf;
 	while (words--) {
-#ifdef __PPC__
-		__asm__ volatile ("eieio");
-#endif
+		EIEIO;
 		*pbuf = *dbuf++;
-#ifdef __PPC__
-		__asm__ volatile ("eieio");
-#endif
+		EIEIO;
 		*pbuf = *dbuf++;
 	}
 #else	/* CONFIG_HMI10 */
@@ -913,13 +910,13 @@
 	pbuf_odd  = (uchar *)(ATA_CURR_BASE(dev)+ATA_DATA_ODD);
 	dbuf = (uchar *)sect_buf;
 	while (words--) {
-		__asm__ volatile ("eieio");
+		EIEIO;
 		*pbuf_even = *dbuf++;
-		__asm__ volatile ("eieio");
+		EIEIO;
 		*pbuf_odd = *dbuf++;
-		__asm__ volatile ("eieio");
+		EIEIO;
 		*pbuf_even = *dbuf++;
-		__asm__ volatile ("eieio");
+		EIEIO;
 		*pbuf_odd = *dbuf++;
 	}
 #endif	/* CONFIG_HMI10 */
@@ -946,13 +943,9 @@
 	PRINTF("in input data base for read is %lx\n", (unsigned long) pbuf);
 
 	while (words--) {
-#ifdef __PPC__
-		__asm__ volatile ("eieio");
-#endif
+		EIEIO;
 		*dbuf++ = *pbuf;
-#ifdef __PPC__
-		__asm__ volatile ("eieio");
-#endif
+		EIEIO;
 		*dbuf++ = *pbuf;
 	}
 #else	/* CONFIG_HMI10 */
@@ -964,13 +957,13 @@
 	pbuf_odd  = (uchar *)(ATA_CURR_BASE(dev)+ATA_DATA_ODD);
 	dbuf = (uchar *)sect_buf;
 	while (words--) {
-		__asm__ volatile ("eieio");
+		EIEIO;
 		*dbuf++ = *pbuf_even;
-		__asm__ volatile ("eieio");
+		EIEIO;
 		*dbuf++ = *pbuf_odd;
-		__asm__ volatile ("eieio");
+		EIEIO;
 		*dbuf++ = *pbuf_even;
-		__asm__ volatile ("eieio");
+		EIEIO;
 		*dbuf++ = *pbuf_odd;
 	}
 #endif	/* CONFIG_HMI10 */
@@ -994,9 +987,9 @@
 	pbuf = (ushort *)(ATA_CURR_BASE(dev)+ATA_DATA_REG);
 	dbuf = (ushort *)sect_buf;
 	while (words--) {
-		__asm__ volatile ("eieio");
+		EIEIO;
 		*dbuf++ = *pbuf;
-		__asm__ volatile ("eieio");
+		EIEIO;
 	}
 
 	if (words&1) {
@@ -1608,9 +1601,7 @@
 	PRINTF("in output data shorts base for read is %lx\n", (unsigned long) pbuf);
 
 	while (shorts--) {
-#ifdef __PPC__
-		__asm__ volatile ("eieio");
-#endif
+		EIEIO;
 		*pbuf = *dbuf++;
 	}
 #else	/* CONFIG_HMI10 */
@@ -1621,9 +1612,9 @@
 	pbuf_even = (uchar *)(ATA_CURR_BASE(dev)+ATA_DATA_EVEN);
 	pbuf_odd  = (uchar *)(ATA_CURR_BASE(dev)+ATA_DATA_ODD);
 	while (shorts--) {
-		__asm__ volatile ("eieio");
+		EIEIO;
 		*pbuf_even = *dbuf++;
-		__asm__ volatile ("eieio");
+		EIEIO;
 		*pbuf_odd = *dbuf++;
 	}
 #endif	/* CONFIG_HMI10 */
@@ -1642,9 +1633,7 @@
 	PRINTF("in input data shorts base for read is %lx\n", (unsigned long) pbuf);
 
 	while (shorts--) {
-#ifdef __PPC__
-		__asm__ volatile ("eieio");
-#endif
+		EIEIO;
 		*dbuf++ = *pbuf;
 	}
 #else	/* CONFIG_HMI10 */
@@ -1655,9 +1644,9 @@
 	pbuf_even = (uchar *)(ATA_CURR_BASE(dev)+ATA_DATA_EVEN);
 	pbuf_odd  = (uchar *)(ATA_CURR_BASE(dev)+ATA_DATA_ODD);
 	while (shorts--) {
-		__asm__ volatile ("eieio");
+		EIEIO;
 		*dbuf++ = *pbuf_even;
-		__asm__ volatile ("eieio");
+		EIEIO;
 		*dbuf++ = *pbuf_odd;
 	}
 #endif	/* CONFIG_HMI10 */