Message ID | 1482878794-30009-2-git-send-email-moritz.fischer@ettus.com |
---|---|
State | Accepted |
Commit | 0ec0c5864365f3f222e1652aca98cfbd86bae890 |
Delegated to: | Heiko Schocher |
Headers | show |
On 27.12.2016 23:46, Moritz Fischer wrote: > Reorder the timeout loop such that we first check if the > condition is already true, and then call udelay() so if > the condition is already true, break early. > > Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com> > Cc: Heiko Schocher <hs@denx.de> > Cc: Michal Simek <michal.simek@xilinx.com> > Cc: u-boot@lists.denx.de > --- > drivers/i2c/i2c-cdns.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/i2c/i2c-cdns.c b/drivers/i2c/i2c-cdns.c > index c69e7e8..9a1b520 100644 > --- a/drivers/i2c/i2c-cdns.c > +++ b/drivers/i2c/i2c-cdns.c > @@ -130,10 +130,10 @@ static u32 cdns_i2c_wait(struct cdns_i2c_regs *cdns_i2c, u32 mask) > int timeout, int_status; > > for (timeout = 0; timeout < 100; timeout++) { > - udelay(100); > int_status = readl(&cdns_i2c->interrupt_status); > if (int_status & mask) > break; > + udelay(100); > } > > /* Clear interrupt status flags */ > Reviewed-by: Michal Simek <michal.simek@xilinx.com> Thanks, Michal
diff --git a/drivers/i2c/i2c-cdns.c b/drivers/i2c/i2c-cdns.c index c69e7e8..9a1b520 100644 --- a/drivers/i2c/i2c-cdns.c +++ b/drivers/i2c/i2c-cdns.c @@ -130,10 +130,10 @@ static u32 cdns_i2c_wait(struct cdns_i2c_regs *cdns_i2c, u32 mask) int timeout, int_status; for (timeout = 0; timeout < 100; timeout++) { - udelay(100); int_status = readl(&cdns_i2c->interrupt_status); if (int_status & mask) break; + udelay(100); } /* Clear interrupt status flags */
Reorder the timeout loop such that we first check if the condition is already true, and then call udelay() so if the condition is already true, break early. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com> Cc: Heiko Schocher <hs@denx.de> Cc: Michal Simek <michal.simek@xilinx.com> Cc: u-boot@lists.denx.de --- drivers/i2c/i2c-cdns.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)