mbox series

[v2,0/4] usb: typec: WUSB3801 devicetree bindings and driver

Message ID 20220202221948.5690-1-samuel@sholland.org
Headers show
Series usb: typec: WUSB3801 devicetree bindings and driver | expand

Message

Samuel Holland Feb. 2, 2022, 10:19 p.m. UTC
This series adds bindings and a driver for the Willsemi WUSB3801. This
chip's bindings use the standard USB Type-C connector bindings, but the
driver does not use the TCPM library, so a refactoring patch is included
to avoid duplicating some fwnode parsing code.

Changes in v2:
 - Always put the return values from typec_find_* in a signed variable
   for error checking.
 - License the driver as GPL 2 only; probably best anyway as I used a
   lot of other drivers/usb/typec code as inspiration
 - Don't try to be clever; use `default` instead of `unreachable`
 - Free the IRQ before unregistering the partner/port

Samuel Holland (4):
  dt-bindings: vendor-prefixes: Add willsemi
  dt-bindings: usb: Add WUSB3801 Type-C Port Controller
  usb: typec: Factor out non-PD fwnode properties
  usb: typec: Support the WUSB3801 port controller

 .../bindings/usb/willsemi,wusb3801.yaml       |  75 +++
 .../devicetree/bindings/vendor-prefixes.yaml  |   2 +
 drivers/usb/typec/Kconfig                     |  10 +
 drivers/usb/typec/Makefile                    |   1 +
 drivers/usb/typec/class.c                     |  52 ++
 drivers/usb/typec/tcpm/tcpm.c                 |  32 +-
 drivers/usb/typec/wusb3801.c                  | 445 ++++++++++++++++++
 include/linux/usb/typec.h                     |   3 +
 8 files changed, 589 insertions(+), 31 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/usb/willsemi,wusb3801.yaml
 create mode 100644 drivers/usb/typec/wusb3801.c