writel(RH_HS_LPSC, &ohci->regs->roothub.status);
 #endif /* OHCI_USE_NPS */
 
-#define mdelay(n) ({unsigned long msec=(n); while (msec--) udelay(1000);})
        /* POTPGT delay is bits 24-31, in 2 ms units. */
        mdelay((roothub_a(ohci) >> 23) & 0x1fe);
 
 
        writel (RH_HS_LPSC, &ohci->regs->roothub.status);
 #endif /* OHCI_USE_NPS */
 
-#define mdelay(n) ({unsigned long msec=(n); while (msec--) udelay(1000);})
        /* POTPGT delay is bits 24-31, in 2 ms units. */
        mdelay ((roothub_a (ohci) >> 23) & 0x1fe);
 
 
        writel (RH_HS_LPSC, &ohci->regs->roothub.status);
 #endif /* OHCI_USE_NPS */
 
-#define mdelay(n) ({unsigned long msec=(n); while (msec--) udelay(1000);})
        /* POTPGT delay is bits 24-31, in 2 ms units. */
        mdelay ((roothub_a (ohci) >> 23) & 0x1fe);
 
 
        writel (RH_HS_LPSC, &ohci->regs->roothub.status);
 #endif /* OHCI_USE_NPS */
 
-#define mdelay(n) ({unsigned long msec=(n); while (msec--) udelay(1000);})
        /* POTPGT delay is bits 24-31, in 2 ms units. */
        mdelay ((roothub_a (ohci) >> 23) & 0x1fe);
 
 
        return 0;
 }
 
-static inline void mdelay(int n)
-{
-       u32 ms = n;
-
-       while (ms--)
-               udelay(1000);
-}
-
 #if defined(PCIE0_SDR)
 static inline u32 sdr_base(int port)
 {
 
 #define LCD_DATA_ADDR          ((volatile char *)(CONFIG_SYS_EBC2_LCM_BASE+1))
 #define LCD_BLK_CTRL           ((volatile char *)(CONFIG_SYS_EBC1_FPGA_BASE+0x2))
 
-#define mdelay(t)      ({unsigned long msec=(t); while (msec--) { udelay(1000);}})
-
 static int g_lcd_init_b = 0;
 static char *amcc_logo = "  AMCC TAISHAN  440GX EvalBoard";
 static char addr_flag = 0x80;
 
 #error "CONFIG_BOARD_EARLY_INIT_F must be set for this board"
 #endif
 
-#define mdelay(n) ({unsigned long msec = (n); while (msec--) udelay(1000); })
-
 DECLARE_GLOBAL_DATA_PTR;
 
 int dram_init(void)
 
 #include <asm/gpio.h>
 #include <asm/arch/sys_proto.h>
 
-static void mdelay(int n)
-{
-       while (n-- > 0)
-               udelay(1000);
-}
-
 DECLARE_GLOBAL_DATA_PTR;
 
 #ifdef CONFIG_FEC_MXC
 
 #include <command.h>
 #include <asm/io.h>
 
-#define mdelay(n)      udelay((n)*1000)
-
 #define AVR_PORT CONFIG_SYS_NS16550_COM2
 
 /* 2005.5.10 BUFFALO add */
 
 #endif
 };
 
-static inline void mdelay(unsigned long msec)
-{
-       unsigned long i;
-       for (i = 0; i < msec; i++)
-               udelay(1000);
-}
-
 static inline void sdelay(unsigned long sec)
 {
        unsigned long i;
 
 #define WRITE_CMD(x)   outl((x), &ftide020->cmd_fifo)  /* 0x04 */
 #define READ_STATUS()  inl(&ftide020->cmd_fifo)        /* 0x04 */
 
-#define mdelay(n) ({unsigned long msec = (n); while (msec--) udelay(1000); })
-
 void ftide_set_device(int cx8, int dev)
 {
        static struct ftide020_s *ftide020 = (struct ftide020_s *) FTIDE_BASE;
 
 
 #define virt_to_bus(devno, v)  pci_virt_to_mem(devno, (void *) (v))
 #define bus_to_phys(devno, a)  pci_mem_to_phys(devno, a)
-#define mdelay(n)      udelay((n)*1000)
 
 #define E1000_DEFAULT_PCI_PBA  0x00000030
 #define E1000_DEFAULT_PCIE_PBA 0x000a0026
 
 
 #define ETH_ZLEN       60
 
-#define mdelay(n) ({unsigned long msec = (n); while (msec--) udelay(1000); })
-
 /* RBSR - hw default init value is also 0x640 */
 #define RBSR_DEFAULT_VALUE     0x640
 
 
 /* NE2000 base header file */
 #include "ne2000_base.h"
 
-#define mdelay(n) udelay((n)*1000)
 /* find prom (taken from pc_net_cs.c from Linux) */
 
 #include "8390.h"
 
 #include <net.h>
 #include <malloc.h>
 
-#define mdelay(n)      udelay((n)*1000)
 /* forward definition of function used for the uboot interface */
 void uboot_push_packet_len(int len);
 void uboot_push_tx_done(int key, int val);
 
 void pkt_data_push(struct eth_device *dev, u32 addr, u32 val) \
        __attribute__ ((weak, alias ("smc911x_reg_write")));
 
-#define mdelay(n)       udelay((n)*1000)
-
 static void smc911x_handle_mac_address(struct eth_device *dev)
 {
        unsigned long addrh, addrl;
 
        ohci_writel(RH_HS_LPSC, &ohci->regs->roothub.status);
 #endif /* OHCI_USE_NPS */
 
-#define mdelay(n) ({unsigned long msec = (n); while (msec--) udelay(1000); })
        /* POTPGT delay is bits 24-31, in 2 ms units. */
        mdelay((roothub_a(ohci) >> 23) & 0x1fe);
 
 
 #define         SL811_ADR (0x50000000)
 #define         SL811_DAT (0x50000001)
 
-#define mdelay(n) ({unsigned long msec=(n); while (msec--) udelay(1000);})
-
 #ifdef SL811_DEBUG
 static int debug = 9;
 #endif
 
 
 /* lib/time.c */
 void   udelay        (unsigned long);
+void mdelay(unsigned long);
 
 /* lib/uuid.c */
 void uuid_str_to_bin(const char *uuid, unsigned char *out);
 
                usec -= kv;
        } while(usec);
 }
+
+void mdelay(unsigned long msec)
+{
+       while (msec--)
+               udelay(1000);
+}