static int ftssp010_wait(struct ftssp010_spi *chip)
{
struct ftssp010_regs *regs = chip->regs;
- int ret = -1;
ulong t;
/* wait until device idle */
for (t = get_timer(0); get_timer(t) < CONFIG_FTSSP010_TIMEOUT; ) {
- if (readl(®s->sr) & SR_BUSY)
- continue;
- ret = 0;
- break;
+ if (!(readl(®s->sr) & SR_BUSY))
+ return 0;
}
- if (ret)
- puts("ftspi010: busy timeout\n");
+ puts("ftspi010: busy timeout\n");
- return ret;
+ return -1;
}
static int ftssp010_wait_tx(struct ftssp010_spi *chip)
{
struct ftssp010_regs *regs = chip->regs;
- int ret = -1;
ulong t;
/* wait until tx fifo not full */
for (t = get_timer(0); get_timer(t) < CONFIG_FTSSP010_TIMEOUT; ) {
- if (!(readl(®s->sr) & SR_TFNF))
- continue;
- ret = 0;
- break;
+ if (readl(®s->sr) & SR_TFNF)
+ return 0;
}
- if (ret)
- puts("ftssp010: tx timeout\n");
+ puts("ftssp010: tx timeout\n");
- return ret;
+ return -1;
}
static int ftssp010_wait_rx(struct ftssp010_spi *chip)
{
struct ftssp010_regs *regs = chip->regs;
- int ret = -1;
ulong t;
/* wait until rx fifo not empty */
for (t = get_timer(0); get_timer(t) < CONFIG_FTSSP010_TIMEOUT; ) {
- if (!SR_RFVE(readl(®s->sr)))
- continue;
- ret = 0;
- break;
+ if (SR_RFVE(readl(®s->sr)))
+ return 0;
}
- if (ret)
- puts("ftssp010: rx timeout\n");
+ puts("ftssp010: rx timeout\n");
- return ret;
+ return -1;
}
static int ftssp010_spi_work_transfer_v2(struct ftssp010_spi *chip,