} while (0)
#ifdef CONFIG_DM9000_USE_NAND_CONTROL
+extern void rk2818_nand_status_mutex_lock(void);
extern int rk2818_nand_status_mutex_trylock(void);
extern void rk2818_nand_status_mutex_unlock(void);
#else
+static void rk2818_nand_status_mutex_lock(void){return;}
static int rk2818_nand_status_mutex_trylock(void) {return 1;}
static void rk2818_nand_status_mutex_unlock(void) {return;}
#endif
unsigned long flags;
unsigned int ret;
- while(!rk2818_nand_status_mutex_trylock())
- dev_dbg(db->dev, "fun:%s, nand busy\n", __func__);
+ rk2818_nand_status_mutex_lock();
spin_lock_irqsave(&db->lock, flags);
ret = ior(db, reg);
mutex_lock(&db->addr_lock);
- while(!rk2818_nand_status_mutex_trylock())
- dev_dbg(db->dev, "fun:%s, nand busy\n", __func__);
+ rk2818_nand_status_mutex_lock();
spin_lock_irqsave(&db->lock, flags);
/* delay for at-least 150uS */
msleep(1);
- while(!rk2818_nand_status_mutex_trylock())
- dev_dbg(db->dev, "fun:%s, nand busy\n", __func__);
+ rk2818_nand_status_mutex_lock();
spin_lock_irqsave(&db->lock, flags);
mutex_lock(&db->addr_lock);
- while(!rk2818_nand_status_mutex_trylock())
- dev_dbg(db->dev, "fun:%s, nand busy\n", __func__);
+ rk2818_nand_status_mutex_lock();
spin_lock_irqsave(&db->lock, flags);
iow(db, DM9000_EPAR, offset);
mdelay(1); /* wait at least 150uS to clear */
- while(!rk2818_nand_status_mutex_trylock())
- dev_dbg(db->dev, "fun:%s, nand busy\n", __func__);
+ rk2818_nand_status_mutex_lock();
spin_lock_irqsave(&db->lock, flags);
iow(db, DM9000_EPCR, 0);
if (dm->can_csum) {
dm->rx_csum = data;
- while(!rk2818_nand_status_mutex_trylock())
- dev_dbg(dm->dev, "fun:%s, nand busy\n", __func__);
+ rk2818_nand_status_mutex_lock();
spin_lock_irqsave(&dm->lock, flags);
iow(dm, DM9000_RCSR, dm->rx_csum ? RCSR_CSUM : 0);
dm9000_dbg(db, 1, "entering %s\n", __func__);
- while(!rk2818_nand_status_mutex_trylock())
- dev_dbg(db->dev, "fun:%s, nand busy\n", __func__);
+ rk2818_nand_status_mutex_lock();
spin_lock_irqsave(&db->lock, flags);
/* Save previous register address */
reg_save = readb(db->io_addr);
- while(!rk2818_nand_status_mutex_trylock())
- dev_dbg(db->dev, "fun:%s, nand busy\n", __func__);
+ rk2818_nand_status_mutex_lock();
spin_lock_irqsave(&db->lock, flags);
/* holders of db->lock must always block IRQs */
- while(!rk2818_nand_status_mutex_trylock())
- dev_dbg(db->dev, "fun:%s, nand busy\n", __func__);
+ rk2818_nand_status_mutex_lock();
spin_lock_irqsave(&db->lock, flags);
mutex_lock(&db->addr_lock);
- while(!rk2818_nand_status_mutex_trylock())
- dev_dbg(db->dev, "fun:%s, nand busy\n", __func__);
+ rk2818_nand_status_mutex_lock();
spin_lock_irqsave(&db->lock,flags);
dm9000_msleep(db, 1); /* Wait read complete */
- while(!rk2818_nand_status_mutex_trylock())
- dev_dbg(db->dev, "fun:%s, nand busy\n", __func__);
+ rk2818_nand_status_mutex_lock();
spin_lock_irqsave(&db->lock,flags);
dm9000_dbg(db, 5, "phy_write[%02x] = %04x\n", reg, value);
mutex_lock(&db->addr_lock);
- while(!rk2818_nand_status_mutex_trylock())
- dev_dbg(db->dev, "fun:%s, nand busy\n", __func__);
+ rk2818_nand_status_mutex_lock();
spin_lock_irqsave(&db->lock,flags);
dm9000_msleep(db, 1); /* Wait write complete */
- while(!rk2818_nand_status_mutex_trylock())
- dev_dbg(db->dev, "fun:%s, nand busy\n", __func__);
+ rk2818_nand_status_mutex_lock();
spin_lock_irqsave(&db->lock,flags);