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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

-- 
2.33.1




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux