mbox series

[v5,0/7] Cleanup Octeon DWC3 glue code

Message ID ZMd/HzISn0mPsNWt@lenoch (mailing list archive)
Headers show
Series Cleanup Octeon DWC3 glue code | expand

Message

Ladislav Michl July 31, 2023, 9:30 a.m. UTC
Hi!

The glue code currently lives in arch/mips/cavium-octeon/octeon-usb.c
and loops for each "cavium,octeon-7130-usb-uctl" compatible.
However there is no bond with dwc3 core code, so if anything goes
wrong in glue code, the loop breaks, leaving dwc3 in reset.
  
Later on when dwc3 core tries to read any device register, bus error
is emited, leading to kernel panic.

Therefore move it to drivers/usb/dwc3 while making it glue driver.
 
This is a fifth attempt splitted between more patches with warnings
for 32bit test targets silenced, see changelog appended to them.

Ladislav Michl (7):
  usb: dwc3: dwc3-octeon: Convert to glue driver
  usb: dwc3: dwc3-octeon: Use _ULL bitfields defines
  usb: dwc3: dwc3-octeon: Pass dwc3_octeon to setup functions
  usb: dwc3: dwc3-octeon: Avoid half-initialized controller state
  usb: dwc3: dwc3-octeon: Move node parsing into driver probe
  usb: dwc3: dwc3-octeon: Dump control register on clock init failure
  usb: dwc3: dwc3-octeon: Add SPDX header and copyright

 arch/mips/cavium-octeon/Makefile              |   1 -
 arch/mips/cavium-octeon/octeon-platform.c     |   1 -
 drivers/usb/dwc3/Kconfig                      |  10 +
 drivers/usb/dwc3/Makefile                     |   1 +
 .../usb/dwc3/dwc3-octeon.c                    | 429 +++++++++---------
 drivers/usb/dwc3/dwc3-of-simple.c             |   1 -
 6 files changed, 220 insertions(+), 223 deletions(-)
 rename arch/mips/cavium-octeon/octeon-usb.c => drivers/usb/dwc3/dwc3-octeon.c (61%)