[PATCH v3 00/11] chrome/platform: cros_ec_typec: Register cables, partner altmodes and plug altmodes
From: Prashant Malani
Date: Mon Nov 16 2020 - 15:12:04 EST
This patch series adds support for the following bits of functionality,
parsing USB Type C Power Delivery information from the Chrome Embedded Controller
and using the Type C connector class:
- Register cable objects (including plug type).
- Register "number of altmodes" attribute for partners.
- Register altmodes and "number of altmodes" attribute for cable plugs.
The functionality was earlier part of multiple series ([1], [2], [3]), but
I've combined it into 1 series and re-ordered the patches to hopefully make
it easier to peruse. I've maintained the patch Acked-by/Reviewed-by tags where
they were received.
Patches 1/11, 2/11, 3/11 introduce the changes needed in the USB subsystem (PD VDO
header update, sysfs attribute additions) and hence the first three patches
can go through Greg's tree.
The others are users of the newly introduced USB changes and can go through
the chrome-platform tree.
Of course, the above is only a suggestion, so I'd be happy to follow
another means of integrating the patches if available.
The series is based on the following git branch and commit
Branch: chrome-platform for-next [4]
Commit: de0f49487db3 ("platform/chrome: cros_ec_typec: Register partner altmodes")
For reference, the patches in this series which are yet to be reviewed are
Patch 3/11, Patch 10/11 and Patch 11/11.
Version history:
- No v2 or v1, as mentioned earlier these patches were uploaded as separate
series [1], [2] and [3] but have now been coalesced.
[1]:
https://lore.kernel.org/lkml/20201106184104.939284-1-pmalani@xxxxxxxxxxxx/
[2]:
https://lore.kernel.org/lkml/20201110061535.2163599-1-pmalani@xxxxxxxxxxxx/
[3]:
https://lore.kernel.org/linux-usb/20201112012329.1364975-1-pmalani@xxxxxxxxxxxx/
[4]:
https://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux.git/log/?h=for-next
Prashant Malani (11):
usb: pd: Add captive Type C cable type
usb: typec: Add number of altmodes partner attr
usb: typec: Add plug num_altmodes sysfs attr
platform/chrome: cros_ec_typec: Make disc_done flag partner-only
platform/chrome: cros_ec_typec: Factor out PD identity parsing
platform/chrome: cros_ec_typec: Rename discovery struct
platform/chrome: cros_ec_typec: Register cable
platform/chrome: cros_ec_typec: Store cable plug type
platform/chrome: cros_ec_typec: Set partner num_altmodes
platform/chrome: cros_ec_typec: Register SOP' cable plug
platform/chrome: cros_ec_typec: Register plug altmodes
Documentation/ABI/testing/sysfs-class-typec | 17 ++
drivers/platform/chrome/cros_ec_typec.c | 219 ++++++++++++++++----
drivers/usb/typec/class.c | 139 ++++++++++++-
include/linux/usb/pd_vdo.h | 4 +-
include/linux/usb/typec.h | 2 +
5 files changed, 343 insertions(+), 38 deletions(-)
--
2.29.2.299.gdc1121823c-goog