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

Mateusz Kulikowski mateusz.kulikowski at gmail.com
Sat Jan 23 11:54:28 CET 2016


Changes in v4:
- Rename timeout -> timeout_ms - foolproof code is good :)
- Re-compiled it for affected platforms (just to be sure)

I did not do remaining improvements - they look like good ideas
and will do them in future as separate series.
Possibly migrating more of u-boot code to it on the way.

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



More information about the U-Boot mailing list