[U-Boot] [PATCH v1 (WIP) 10/16] [Timer]Replace get_timer() usage in driver/mtd and driver/block
Graeme Russ
graeme.russ at gmail.com
Tue Jun 28 13:41:03 CEST 2011
This prepares for final removal of reset_timer() from Nios2
Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
---
drivers/mtd/cfi_flash.c | 12 ++++++------
drivers/mtd/nand/nand_base.c | 17 +++++++++--------
drivers/mtd/spi/eeprom_m95xxx.c | 6 +++---
drivers/mtd/spi/spi_flash.c | 6 +++---
4 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c
index 3ac6c80..dad80c5 100644
--- a/drivers/mtd/cfi_flash.c
+++ b/drivers/mtd/cfi_flash.c
@@ -563,7 +563,7 @@ static int flash_is_busy (flash_info_t * info, flash_sect_t sect)
static int flash_status_check (flash_info_t * info, flash_sect_t sector,
ulong tout, char *prompt)
{
- ulong start;
+ u32 start;
#if CONFIG_SYS_HZ != 1000
if ((ulong)CONFIG_SYS_HZ > 100000)
@@ -576,9 +576,9 @@ static int flash_status_check (flash_info_t * info, flash_sect_t sector,
#ifdef CONFIG_NIOS2
reset_timer();
#endif
- start = get_timer (0);
+ start = time_now_ms();
while (flash_is_busy (info, sector)) {
- if (get_timer (start) > tout) {
+ if (time_since_ms(start) > tout) {
printf ("Flash %s timeout at address %lx data %lx\n",
prompt, info->start[sector],
flash_read_long (info, sector, 0));
@@ -653,7 +653,7 @@ static int flash_status_poll(flash_info_t *info, void *src, void *dst,
ulong tout, char *prompt)
{
#ifdef CONFIG_SYS_CFI_FLASH_STATUS_POLL
- ulong start;
+ u32 start;
int ready;
#if CONFIG_SYS_HZ != 1000
@@ -667,7 +667,7 @@ static int flash_status_poll(flash_info_t *info, void *src, void *dst,
#ifdef CONFIG_NIOS2
reset_timer();
#endif
- start = get_timer(0);
+ start = time_now_ms();
while (1) {
switch (info->portwidth) {
case FLASH_CFI_8BIT:
@@ -688,7 +688,7 @@ static int flash_status_poll(flash_info_t *info, void *src, void *dst,
}
if (ready)
break;
- if (get_timer(start) > tout) {
+ if (time_since_ms(start) > tout) {
printf("Flash %s timeout at address %lx data %lx\n",
prompt, (ulong)dst, (ulong)flash_read8(dst));
return ERR_TIMOUT;
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index 52f8575..c838695 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -33,6 +33,7 @@
*/
#include <common.h>
+#include <time.h>
#define ENOTSUPP 524 /* Operation is not supported */
@@ -439,12 +440,12 @@ void nand_wait_ready(struct mtd_info *mtd)
{
struct nand_chip *chip = mtd->priv;
u32 timeo = (CONFIG_SYS_HZ * 20) / 1000;
- u32 time_start;
+ u32 start;
- time_start = get_timer(0);
+ start = time_now_ms();
/* wait until command is processed or timeout occures */
- while (get_timer(time_start) < timeo) {
+ while (time_since_ms(start) < timeo) {
if (chip->dev_ready)
if (chip->dev_ready(mtd))
break;
@@ -705,7 +706,7 @@ static int nand_wait(struct mtd_info *mtd, struct nand_chip *this)
{
unsigned long timeo;
int state = this->state;
- u32 time_start;
+ u32 start;
if (state == FL_ERASING)
timeo = (CONFIG_SYS_HZ * 400) / 1000;
@@ -717,10 +718,10 @@ static int nand_wait(struct mtd_info *mtd, struct nand_chip *this)
else
this->cmdfunc(mtd, NAND_CMD_STATUS, -1, -1);
- time_start = get_timer(0);
+ start = time_now_ms();
while (1) {
- if (get_timer(time_start) > timeo) {
+ if (time_since_ms(start) > timeo) {
printf("Timeout!");
return 0x01;
}
@@ -734,8 +735,8 @@ static int nand_wait(struct mtd_info *mtd, struct nand_chip *this)
}
}
#ifdef PPCHAMELON_NAND_TIMER_HACK
- time_start = get_timer(0);
- while (get_timer(time_start) < 10)
+ start = time_now_ms();
+ while (time_since_ms(start) < 10)
;
#endif /* PPCHAMELON_NAND_TIMER_HACK */
diff --git a/drivers/mtd/spi/eeprom_m95xxx.c b/drivers/mtd/spi/eeprom_m95xxx.c
index ef8ed6f..16b194c 100644
--- a/drivers/mtd/spi/eeprom_m95xxx.c
+++ b/drivers/mtd/spi/eeprom_m95xxx.c
@@ -75,7 +75,7 @@ ssize_t spi_write (uchar *addr, int alen, uchar *buffer, int len)
{
struct spi_slave *slave;
char buf[3];
- ulong start;
+ u32 start;
slave = spi_setup_slave(CONFIG_DEFAULT_SPI_BUS, 1, 1000000,
CONFIG_DEFAULT_SPI_MODE);
@@ -103,7 +103,7 @@ ssize_t spi_write (uchar *addr, int alen, uchar *buffer, int len)
if(spi_xfer(slave, len * 8, buffer, NULL, SPI_XFER_END))
return -1;
- start = get_timer(0);
+ start = time_now_ms();
do {
buf[0] = SPI_EEPROM_RDSR;
buf[1] = 0;
@@ -112,7 +112,7 @@ ssize_t spi_write (uchar *addr, int alen, uchar *buffer, int len)
if (!(buf[1] & 1))
break;
- } while (get_timer(start) < CONFIG_SYS_SPI_WRITE_TOUT);
+ } while (time_since_ms(start) < CONFIG_SYS_SPI_WRITE_TOUT);
if (buf[1] & 1)
printf ("*** spi_write: Time out while writing!\n");
diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c
index 016b586..6e1054d 100644
--- a/drivers/mtd/spi/spi_flash.c
+++ b/drivers/mtd/spi/spi_flash.c
@@ -94,7 +94,7 @@ int spi_flash_cmd_poll_bit(struct spi_flash *flash, unsigned long timeout,
u8 cmd, u8 poll_bit)
{
struct spi_slave *spi = flash->spi;
- unsigned long timebase;
+ u32 start;
int ret;
u8 status;
@@ -104,7 +104,7 @@ int spi_flash_cmd_poll_bit(struct spi_flash *flash, unsigned long timeout,
return ret;
}
- timebase = get_timer(0);
+ start = time_now_ms();
do {
WATCHDOG_RESET();
@@ -115,7 +115,7 @@ int spi_flash_cmd_poll_bit(struct spi_flash *flash, unsigned long timeout,
if ((status & poll_bit) == 0)
break;
- } while (get_timer(timebase) < timeout);
+ } while (time_since_ms(start) < timeout);
spi_xfer(spi, 0, NULL, NULL, SPI_XFER_END);
--
1.7.5.2.317.g391b14
More information about the U-Boot
mailing list