aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnatolij Gustschin <agust@denx.de>2011-10-12 02:31:39 +0000
committerWolfgang Denk <wd@denx.de>2011-10-22 01:16:08 +0200
commitc4c9fbebae6a62d538817d0ccee698adaafc5d66 (patch)
tree91e9e2b82568b32bf3135bdc25d0a852f6c31095
parent712fbcf384b7fbe6118325f21dad98150b24f13b (diff)
downloadu-boot-midas-c4c9fbebae6a62d538817d0ccee698adaafc5d66.tar.gz
u-boot-midas-c4c9fbebae6a62d538817d0ccee698adaafc5d66.tar.bz2
u-boot-midas-c4c9fbebae6a62d538817d0ccee698adaafc5d66.zip
consolidate mdelay by providing a common function for all users
There are several mdelay() definitions in the driver and board code. Remove them all and provide a common mdelay() in lib/time.c. Signed-off-by: Anatolij Gustschin <agust@denx.de> Acked-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r--arch/arm/cpu/arm920t/s3c24x0/usb_ohci.c1
-rw-r--r--arch/mips/cpu/mips32/au1x00/au1x00_usb_ohci.c1
-rw-r--r--arch/powerpc/cpu/mpc5xxx/usb_ohci.c1
-rw-r--r--arch/powerpc/cpu/ppc4xx/usb_ohci.c1
-rw-r--r--arch/powerpc/include/asm/4xx_pcie.h8
-rw-r--r--board/amcc/taishan/lcd.c2
-rw-r--r--board/freescale/mx35pdk/mx35pdk.c2
-rw-r--r--board/karo/tx25/tx25.c6
-rw-r--r--board/linkstation/hwctl.c2
-rw-r--r--drivers/block/fsl_sata.c7
-rw-r--r--drivers/block/ftide020.c2
-rw-r--r--drivers/net/e1000.c1
-rw-r--r--drivers/net/ftgmac100.c2
-rw-r--r--drivers/net/ne2000.c1
-rw-r--r--drivers/net/ne2000_base.c1
-rw-r--r--drivers/net/smc911x.c2
-rw-r--r--drivers/usb/host/ohci-hcd.c1
-rw-r--r--drivers/usb/host/sl811-hcd.c2
-rw-r--r--include/common.h1
-rw-r--r--lib/time.c6
20 files changed, 7 insertions, 43 deletions
diff --git a/arch/arm/cpu/arm920t/s3c24x0/usb_ohci.c b/arch/arm/cpu/arm920t/s3c24x0/usb_ohci.c
index 9a0bbaeb4c..263d2ce65d 100644
--- a/arch/arm/cpu/arm920t/s3c24x0/usb_ohci.c
+++ b/arch/arm/cpu/arm920t/s3c24x0/usb_ohci.c
@@ -1540,7 +1540,6 @@ static int hc_start(struct ohci *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);
diff --git a/arch/mips/cpu/mips32/au1x00/au1x00_usb_ohci.c b/arch/mips/cpu/mips32/au1x00/au1x00_usb_ohci.c
index 0bc2305d87..866dd6cfe4 100644
--- a/arch/mips/cpu/mips32/au1x00/au1x00_usb_ohci.c
+++ b/arch/mips/cpu/mips32/au1x00/au1x00_usb_ohci.c
@@ -1448,7 +1448,6 @@ static int hc_start (ohci_t * 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);
diff --git a/arch/powerpc/cpu/mpc5xxx/usb_ohci.c b/arch/powerpc/cpu/mpc5xxx/usb_ohci.c
index 7976e4df7d..2fc1180b78 100644
--- a/arch/powerpc/cpu/mpc5xxx/usb_ohci.c
+++ b/arch/powerpc/cpu/mpc5xxx/usb_ohci.c
@@ -1455,7 +1455,6 @@ static int hc_start (ohci_t * 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);
diff --git a/arch/powerpc/cpu/ppc4xx/usb_ohci.c b/arch/powerpc/cpu/ppc4xx/usb_ohci.c
index a9edacd330..fe091e3fa0 100644
--- a/arch/powerpc/cpu/ppc4xx/usb_ohci.c
+++ b/arch/powerpc/cpu/ppc4xx/usb_ohci.c
@@ -1462,7 +1462,6 @@ static int hc_start (ohci_t * 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);
diff --git a/arch/powerpc/include/asm/4xx_pcie.h b/arch/powerpc/include/asm/4xx_pcie.h
index 90e0bd98fa..fbdc28e0a5 100644
--- a/arch/powerpc/include/asm/4xx_pcie.h
+++ b/arch/powerpc/include/asm/4xx_pcie.h
@@ -389,14 +389,6 @@ static inline int is_end_point(int port)
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)
{
diff --git a/board/amcc/taishan/lcd.c b/board/amcc/taishan/lcd.c
index 7f7730a81d..8208ef3955 100644
--- a/board/amcc/taishan/lcd.c
+++ b/board/amcc/taishan/lcd.c
@@ -35,8 +35,6 @@
#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;
diff --git a/board/freescale/mx35pdk/mx35pdk.c b/board/freescale/mx35pdk/mx35pdk.c
index 9eefe5ee16..8f9b857334 100644
--- a/board/freescale/mx35pdk/mx35pdk.c
+++ b/board/freescale/mx35pdk/mx35pdk.c
@@ -46,8 +46,6 @@
#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)
diff --git a/board/karo/tx25/tx25.c b/board/karo/tx25/tx25.c
index 307ffd0cbe..ec83f997cc 100644
--- a/board/karo/tx25/tx25.c
+++ b/board/karo/tx25/tx25.c
@@ -31,12 +31,6 @@
#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
diff --git a/board/linkstation/hwctl.c b/board/linkstation/hwctl.c
index 9fd56ae234..d2090be1ad 100644
--- a/board/linkstation/hwctl.c
+++ b/board/linkstation/hwctl.c
@@ -19,8 +19,6 @@
#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 */
diff --git a/drivers/block/fsl_sata.c b/drivers/block/fsl_sata.c
index b101bd7640..6b3517369d 100644
--- a/drivers/block/fsl_sata.c
+++ b/drivers/block/fsl_sata.c
@@ -50,13 +50,6 @@ static struct fsl_sata_info fsl_sata_info[] = {
#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;
diff --git a/drivers/block/ftide020.c b/drivers/block/ftide020.c
index 2eef3e939a..4a7a07f60b 100644
--- a/drivers/block/ftide020.c
+++ b/drivers/block/ftide020.c
@@ -54,8 +54,6 @@
#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;
diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c
index 98145bc6ed..01bdf814fd 100644
--- a/drivers/net/e1000.c
+++ b/drivers/net/e1000.c
@@ -50,7 +50,6 @@ tested on both gig copper and gig fiber boards
#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
diff --git a/drivers/net/ftgmac100.c b/drivers/net/ftgmac100.c
index 821840f8e9..0af0c3450f 100644
--- a/drivers/net/ftgmac100.c
+++ b/drivers/net/ftgmac100.c
@@ -33,8 +33,6 @@
#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
diff --git a/drivers/net/ne2000.c b/drivers/net/ne2000.c
index 7a85314eb9..39391580fe 100644
--- a/drivers/net/ne2000.c
+++ b/drivers/net/ne2000.c
@@ -78,7 +78,6 @@ Add SNMP
/* 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"
diff --git a/drivers/net/ne2000_base.c b/drivers/net/ne2000_base.c
index f93f932277..f0cd2b62eb 100644
--- a/drivers/net/ne2000_base.c
+++ b/drivers/net/ne2000_base.c
@@ -77,7 +77,6 @@ Add SNMP
#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);
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index a677fd487a..e34b4879d0 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -35,8 +35,6 @@ u32 pkt_data_pull(struct eth_device *dev, u32 addr) \
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;
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index c20d706427..60c9595268 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -1749,7 +1749,6 @@ static int hc_start(ohci_t *ohci)
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);
diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c
index 82a8b365f4..c713d421c6 100644
--- a/drivers/usb/host/sl811-hcd.c
+++ b/drivers/usb/host/sl811-hcd.c
@@ -51,8 +51,6 @@
#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
diff --git a/include/common.h b/include/common.h
index e3ef66d893..ccd3dd785a 100644
--- a/include/common.h
+++ b/include/common.h
@@ -706,6 +706,7 @@ int strcmp_compar(const void *, const void *);
/* 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);
diff --git a/lib/time.c b/lib/time.c
index a309c2613a..6e2937b8e7 100644
--- a/lib/time.c
+++ b/lib/time.c
@@ -41,3 +41,9 @@ void udelay(unsigned long usec)
usec -= kv;
} while(usec);
}
+
+void mdelay(unsigned long msec)
+{
+ while (msec--)
+ udelay(1000);
+}