From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
To: Heikki Krogerus <heikki.krogerus@linux.intel.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>
Cc: Nikita Travkin <nikita@trvn.ru>,
Neil Armstrong <neil.armstrong@linaro.org>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 0/7] usb: typec: ucsi: rework glue driver interface
Date: Tue, 25 Jun 2024 17:54:25 +0300 [thread overview]
Message-ID: <20240625-ucsi-rework-interface-v3-0-7a6c8e17be3a@linaro.org> (raw)
The interface between UCSI and the glue driver is very low-level. It
allows reading the UCSI data from any offset (but in reality the UCSI
driver reads only VERSION, CCI an MESSAGE_IN data). All event handling
is to be done by the glue driver (which already resulted in several
similar-but-slightly different implementations). It leaves no place to
optimize the write-read-read sequence for the command execution (which
might be beneficial for some of the drivers), etc.
The patchseries attempts to restructure the UCSI glue driver interface
in order to provide sensible operations instead of a low-level read /
write calls.
If this approach is found to be acceptable, I plan to further rework the
command interface, moving reading CCI and MESSAGE_IN to the common
control code, which should simplify driver's implementation and remove
necessity to split quirks between sync_control and read_message_in e.g.
as implemented in the ucsi_ccg.c.
Note, the series was tested only on the ucsi_glink platforms. Further
testing is appreciated.
Depends: [1], [2]
[1] https://lore.kernel.org/linux-usb/20240612124656.2305603-1-fabrice.gasnier@foss.st.com/
[2] https://lore.kernel.org/linux-usb/20240621-ucsi-yoga-ec-driver-v8-1-e03f3536b8c6@linaro.org/
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
Changes in v3:
- Rebased on top of the next to resolve conflicts with the merge LG Gram
patch (Heikki)
- Link to v2: https://lore.kernel.org/r/20240621-ucsi-rework-interface-v2-0-a399ff96bf88@linaro.org
Changes in v2:
- Dropped the RFC prefix
- Rebased on top of the fixed STM32 patch
- Included the pending Yoga C630 driver into the cleanup.
- Link to v1: https://lore.kernel.org/r/20240603-ucsi-rework-interface-v1-0-99a6d544cec8@linaro.org
---
Dmitry Baryshkov (7):
usb: typec: ucsi: move ucsi_acknowledge() from ucsi_read_error()
usb: typec: ucsi: simplify command sending API
usb: typec: ucsi: split read operation
usb: typec: ucsi: rework command execution functions
usb: typec: ucsi: inline ucsi_read_message_in
usb: typec: ucsi: extract common code for command handling
usb: typec: ucsi: reorder operations in ucsi_run_command()
drivers/usb/typec/ucsi/ucsi.c | 215 +++++++++++++++++---------------
drivers/usb/typec/ucsi/ucsi.h | 26 ++--
drivers/usb/typec/ucsi/ucsi_acpi.c | 127 ++++++++++---------
drivers/usb/typec/ucsi/ucsi_ccg.c | 103 +++++++--------
drivers/usb/typec/ucsi/ucsi_glink.c | 74 ++++-------
drivers/usb/typec/ucsi/ucsi_stm32g0.c | 79 ++++--------
drivers/usb/typec/ucsi/ucsi_yoga_c630.c | 104 +++++----------
7 files changed, 322 insertions(+), 406 deletions(-)
---
base-commit: c0068dfdd1aaf0fa9d60367b0f392ce145ee27c3
change-id: 20240525-ucsi-rework-interface-5ff2264f6aec
Best regards,
--
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
next reply other threads:[~2024-06-25 14:54 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-25 14:54 Dmitry Baryshkov [this message]
2024-06-25 14:54 ` [PATCH v3 1/7] usb: typec: ucsi: move ucsi_acknowledge() from ucsi_read_error() Dmitry Baryshkov
2024-06-25 14:54 ` [PATCH v3 2/7] usb: typec: ucsi: simplify command sending API Dmitry Baryshkov
2024-06-25 14:54 ` [PATCH v3 3/7] usb: typec: ucsi: split read operation Dmitry Baryshkov
2024-06-25 14:54 ` [PATCH v3 4/7] usb: typec: ucsi: rework command execution functions Dmitry Baryshkov
2024-06-25 14:54 ` [PATCH v3 5/7] usb: typec: ucsi: inline ucsi_read_message_in Dmitry Baryshkov
2024-06-25 14:54 ` [PATCH v3 6/7] usb: typec: ucsi: extract common code for command handling Dmitry Baryshkov
2024-06-25 14:54 ` [PATCH v3 7/7] usb: typec: ucsi: reorder operations in ucsi_run_command() Dmitry Baryshkov
2024-06-26 14:24 ` [PATCH v3 0/7] usb: typec: ucsi: rework glue driver interface Heikki Krogerus
2024-06-26 18:28 ` Dmitry Baryshkov
2024-06-27 14:23 ` Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240625-ucsi-rework-interface-v3-0-7a6c8e17be3a@linaro.org \
--to=dmitry.baryshkov@linaro.org \
--cc=alexandre.torgue@foss.st.com \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=linux-usb@vger.kernel.org \
--cc=mcoquelin.stm32@gmail.com \
--cc=neil.armstrong@linaro.org \
--cc=nikita@trvn.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox