usb: typec: Separate USB Power Delivery from USB Type-C
authorHeikki Krogerus <heikki.krogerus@linux.intel.com>
Mon, 2 May 2022 13:20:56 +0000 (16:20 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 12 Jun 2022 04:49:47 +0000 (06:49 +0200)
commit662a60102c122e44fdaf5c826f7f415eb57d48ad
tree14316d839bbfc42609275983ff01647dc4806692
parentf061f43d7418cb62b8d073e221ec75d3f5b89e17
usb: typec: Separate USB Power Delivery from USB Type-C

Introducing a small device class for USB Power Delivery.
The idea with it is that we do not mix any more USB Power
Delivery information into the USB Type-C connectors only.
This separation will make it possible to register USB Power
Delivery devices also from other places, for example from
USB Type-C Bridges (see USB Type-C Bridge Specification).

The device class will not always deal with only the messages
and objects that were negotiated with the partner, but
instead messages and objects that can be used in the
negotiation. That allows the USB PD devices to be shared and
reconfigured. The ports can decide which objects are to be
advertised to the partner before the contract is negotiated.
It is also possible to allow the user space to make that
decision if needed.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20220502132058.86236-2-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/ABI/testing/sysfs-class-usb_power_delivery [new file with mode: 0644]
drivers/usb/typec/Makefile
drivers/usb/typec/pd.c [new file with mode: 0644]
drivers/usb/typec/pd.h [new file with mode: 0644]
include/linux/usb/pd.h
include/linux/usb/typec.h