- /* bus forcible reset */
- writel(I2C_RST_RST, ®s->rst);
- ret = poll_status(®s->rst, I2C_RST_RST);
- if (ret < 0)
- debug("error: fail to reset I2C controller\n");
-
- return ret;
-}
-
-static int check_device_busy(struct uniphier_fi2c_regs __iomem *regs)
-{
- int ret;
-
- ret = poll_status(®s->sr, I2C_SR_DB);
+ ret = readl_poll_timeout(&priv->regs->sr, val, !(val & I2C_SR_DB), 100);