[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220711072333.2064341-1-pmalani@chromium.org>
Date: Mon, 11 Jul 2022 07:22:54 +0000
From: Prashant Malani <pmalani@...omium.org>
To: linux-kernel@...r.kernel.org, linux-usb@...r.kernel.org,
chrome-platform@...ts.linux.dev
Cc: bleung@...omium.org, heikki.krogerus@...ux.intel.com,
Prashant Malani <pmalani@...omium.org>,
Daisuke Nojiri <dnojiri@...omium.org>,
"Dustin L. Howett" <dustin@...ett.net>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Guenter Roeck <groeck@...omium.org>,
"Gustavo A. R. Silva" <gustavoars@...nel.org>,
Kees Cook <keescook@...omium.org>,
Sebastian Reichel <sebastian.reichel@...labora.com>
Subject: [PATCH v4 0/9] Type-C switch driver and Type-C framework updates
This series introduces a retimer class to the USB Type-C framework,
It also introduces a Chrome EC (Embedded Controller) switch driver which
registers the aforementioned retimer switches as well as mode-switches.
Patch 1 and 2 introduce the retimer class and associated functions to
the Type-C common code.
Patches 3-7 add the cros-typec-switch driver.
Patches 8-9 update cros-ec-typec to get and use retimer switch handles.
Submission suggestion (as always, open to better suggestions):
- Patch 1 and 2 can go through the USB repo.
- Patch 3-9 can go through the chrome-platform repo. Since they depend
on patches 1 and 2, we can create an "topic branch" off of usb-next
once Patch 1 and 2 are submitted, and then apply Patches 3-9 on top
of that "topic branch" before merging it back into chrome-platform's
for-next branch
v3: https://lore.kernel.org/linux-usb/20220707222045.1415417-1-pmalani@chromium.org/
Changes since v3:
- Updated Commit message of Patch 1 to mention that no new
class-specific sysfs files are being created.
Changes since v2:
- Fixed missing "static" declarations, and removed newlines from
function signatures.
Changes since v1:
- Changed class name and retimer device type name, and fixed
retimer reference release issue.
Prashant Malani (9):
usb: typec: Add support for retimers
usb: typec: Add retimer handle to port
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 | 332 ++++++++++++++++++
drivers/usb/typec/Makefile | 2 +-
drivers/usb/typec/class.c | 18 +-
drivers/usb/typec/class.h | 2 +
drivers/usb/typec/retimer.c | 168 +++++++++
drivers/usb/typec/retimer.h | 15 +
.../linux/platform_data/cros_ec_commands.h | 18 +
include/linux/usb/typec_retimer.h | 45 +++
12 files changed, 654 insertions(+), 9 deletions(-)
create mode 100644 drivers/platform/chrome/cros_typec_switch.c
create mode 100644 drivers/usb/typec/retimer.c
create mode 100644 drivers/usb/typec/retimer.h
create mode 100644 include/linux/usb/typec_retimer.h
--
2.37.0.144.g8ac04bfd2-goog
Powered by blists - more mailing lists