On Thu, Jul 26, 2018 at 06:41:52PM +0300, Georgios Tsotsos wrote: > Fixing coding style for CVMX_WAIT_FOR_FIELD32 was confusing. Also > encapsulates into parentheses timeout_usec. > > Signed-off-by: Georgios Tsotsos <tsotsos@xxxxxxxxx> > --- > drivers/staging/octeon-usb/octeon-hcd.c | 44 +++++++++++++++++---------------- > 1 file changed, 23 insertions(+), 21 deletions(-) > > diff --git a/drivers/staging/octeon-usb/octeon-hcd.c b/drivers/staging/octeon-usb/octeon-hcd.c > index cff5e790b196..c8e0ebf1434f 100644 > --- a/drivers/staging/octeon-usb/octeon-hcd.c > +++ b/drivers/staging/octeon-usb/octeon-hcd.c > @@ -378,27 +378,29 @@ struct octeon_hcd { > }; > > /* This macro spins on a register waiting for it to reach a condition. */ > -#define CVMX_WAIT_FOR_FIELD32(address, _union, cond, timeout_usec) \ > - ({int result; \ > - do { \ > - u64 done = cvmx_get_cycle() + (u64)timeout_usec * \ > - octeon_get_clock_rate() / 1000000; \ > - union _union c; \ > - \ > - while (1) { \ > - c.u32 = cvmx_usb_read_csr32(usb, address); \ > - \ > - if (cond) { \ > - result = 0; \ > - break; \ > - } else if (cvmx_get_cycle() > done) { \ > - result = -1; \ > - break; \ > - } else \ > - __delay(100); \ > - } \ > - } while (0); \ > - result; }) > +#define CVMX_WAIT_FOR_FIELD32(address, _union, cond, timeout_usec) \ > +({ \ > + int result; \ > + do { \ > + u64 done = cvmx_get_cycle() + (u64)(timeout_usec) * \ > + octeon_get_clock_rate() / 1000000; \ > + union _union c; \ > + \ > + while (1) { \ > + c.u32 = cvmx_usb_read_csr32(usb, address); \ > + \ > + if (cond) { \ > + result = 0; \ > + break; \ > + } else if (cvmx_get_cycle() > done) { \ > + result = -1; \ > + break; \ > + } else \ > + __delay(100); \ > + } \ > + } while (0); \ > + result; \ > +}) It's still a mess, why not just make this a function call instead? thanks, greg k-h _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel