[PATCH v6 0/7] platform/chrome: Type-C switch driver

From: Prashant Malani
Date: Tue Aug 16 2022 - 17:49:15 EST


v4 of this series was originally merged to the USB maintainer tree, but
there were dependencies from the chrome-platform tree which caused
conflicts in the merge tree, so the chrome specific parts were
reverted [1].

v5 is a resubmission of the series with the Chrome-only parts (since the
USB framework parts were merged successfully).

[1] https://lore.kernel.org/lkml/YtadE201j+dt5jJx@xxxxxxxxx/

Original cover letter (with parts relating to USB patches removed):

This series introduces a retimer class to the USB Type-C framework,
It also introduces a ChromeOS EC (Embedded Controller) switch driver which
registers the aforementioned retimer switches as well as mode-switches.

v5: https://lore.kernel.org/chrome-platform/20220815063555.1384505-1-pmalani@xxxxxxxxxxxx/

Changes in v6:
- Changed "Chrome OS" to "ChromeOS" and "Type C" to "Type-C" in various
commit messages and comments.
- Added Reviewed-by tags received in v5.
- Fit some cros_ec_cmd() calls into 1 line (Patch 3/7 and patch 4/7).
- Inlined struct initialization (Patch 3/7).
- Use device_property_present (Patch 5/7).
- Misc. other minor cleanup.

Prashant Malani (7):
platform/chrome: Add Type-C mux set command definitions
platform/chrome: cros_typec_switch: Add switch driver
platform/chrome: cros_typec_switch: Set EC retimer
platform/chrome: cros_typec_switch: Add event check
platform/chrome: cros_typec_switch: Register mode switches
platform/chrome: cros_ec_typec: Cleanup switch handle return paths
platform/chrome: cros_ec_typec: Get retimer handle

MAINTAINERS | 1 +
drivers/platform/chrome/Kconfig | 11 +
drivers/platform/chrome/Makefile | 1 +
drivers/platform/chrome/cros_ec_typec.c | 50 ++-
drivers/platform/chrome/cros_typec_switch.c | 327 ++++++++++++++++++
.../linux/platform_data/cros_ec_commands.h | 18 +
6 files changed, 401 insertions(+), 7 deletions(-)
create mode 100644 drivers/platform/chrome/cros_typec_switch.c

--
2.37.1.595.g718a3a8f04-goog