[U-Boot] [PATCH v3 0/5] Add wait_for_bit()

Mateusz Kulikowski
2015-12-27T17:28:07Z

Changes in V3:
- wait_for_bit code is moved to header and
converted to static inline function.
Previous version added ~7byte of rodata to
all boards (even not using wait_for_bit).

Changes in V2:
- wait_bit.o is always compiled in
- Removed CONFIG_LIB_WAIT_BIT from configs/Kconfigs
- Constified arguments to wait_bit
- Removed check for CONFIG_... in drivers
- Added tested-by to ohci-lp32xx
@Sylvain Lemieux: I didn't changed driver logic with v2,
so allowed myself to add your tested-by directly.

Tested on:
- USB driver on Dragonboard (not yet in mainline)
- Infinite sleep (if timeout/interruption works)
Build tested on single board for each driver/commit:
- hikey
- zynq_microzed
- platinum

(Old) notes from V1:

This series add generic function to poll register waiting for
one or more bits to change.

Very similar function was used in several drivers:
- dwc2
- ohci-lp32xx
- ehci-mx6
- zynq_gem

First patch adds function, following patches update drivers and
board config files / defconfigs.

This series was compile-tested with buildman for ~50 boards
(most or even all boards affected by change)

Code was also run-tested on ehci-msm driver (not yet in mainline)

There is single difference in behavior: ohci-lp32xx driver will
not print "Timeout..." message with debug disabled.
I think it's not a big issue as this driver seems unused, but
if it's an issue - please drop that patch.

Mateusz Kulikowski (5):
lib: Add wait_for_bit
usb: dwc2: Use shared wait_for_bit
usb: ohci-lpc32xx: Use shared wait_for_bit
usb: ehci-mx6: Use shared wait_for_bit
net: zynq_gem: Use shared wait_for_bit

drivers/net/zynq_gem.c | 35 ++------------------
drivers/usb/host/dwc2.c | 41 ++++++++----------------
drivers/usb/host/ehci-mx6.c | 32 +++----------------
drivers/usb/host/ohci-lpc32xx.c | 34 ++++----------------
include/wait_bit.h | 71 +++++++++++++++++++++++++++++++++++++++++
5 files changed, 97 insertions(+), 116 deletions(-)
create mode 100644 include/wait_bit.h

--
2.5.0