mbox series

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

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

Message

Samuel Holland Feb. 14, 2022, 5:01 a.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 v3:
 - Leave the call to fw_devlink_purge_absent_suppliers in its original
   place in the TCPM code. It is not needed by the new driver.
 - Remove unused variable from TCPM function.
 - Remove version info printout

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                     |  43 ++
 drivers/usb/typec/tcpm/tcpm.c                 |  24 +-
 drivers/usb/typec/wusb3801.c                  | 437 ++++++++++++++++++
 include/linux/usb/typec.h                     |   3 +
 8 files changed, 572 insertions(+), 23 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/usb/willsemi,wusb3801.yaml
 create mode 100644 drivers/usb/typec/wusb3801.c